framework/freecad_workbench/ImportExportEntities.py
2024-04-14 18:54:47 +00:00

51 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import json
import FreeCAD
import Tools
def export_coordinate_systems():
# Получение активного документа FreeCAD
doc = FreeCAD.ActiveDocument
if not doc:
raise ValueError("Нет активного документа FreeCAD.")
# Получение имени активного документа
doc_name = doc.Name
# Получение пути к папке и имя файла активного документа
folder_path, file_name = os.path.split(doc.FileName)
# Создание папки для экспорта, если она не существует
output_folder = os.path.join(folder_path, 'entities')
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# Создание копии активного документа
# надо сохраняться, а не копироваться
doc.save()
# Получение списка объектов документа
objects = doc.Objects
# Обход объектов для сохранения локальных систем координат
for obj in objects:
if obj.TypeId == 'PartDesign::CoordinateSystem':
partprops = Tools.getLocalPartProps(obj)
output_file_path = os.path.join(output_folder, f"{obj.Label}.json")
with open(output_file_path, "w", encoding="utf8") as propfile:
json.dump(partprops, propfile, indent=1, separators=(',', ': '))
print("Экспорт обьектов завершен.")
# export_coordinate_systems()