Примечание. Я не запускаю скрипт в консоли python внутри FreeCAD.Это все в скрипте Python в Docker-контейнере с установленным FreeCAD.
Я пытаюсь создать SVG-страницу страницы, созданной FreeCAD, в скрипте Python.У меня нет проблем с просмотром фигуры, но я не могу понять, как добавить размеры и сохранить их в SVG.Насколько я могу судить, есть несколько вариантов, которые можно подобрать ...
- Использование старого модуля рисования (и Drawing_dimensioning):
Я могу сделать SVGстраницы с видами моей фигуры, но не может добавить размеры.Модуль Drawing_dimensioning идеально подходит, если я использовал полный графический интерфейс FreeCAD.Однако я не могу использовать этот модуль из скрипта Python.Когда я импортирую его, я получаю следующую ошибку:
File "/usr/lib/freecad/Mod/drawingDimensioning/core.py", line 184, in <module>
FreeCADGui.addCommand('dd_help', helpCommand())
AttributeError: 'module' object has no attribute 'addCommand'
Я пробовал многие из исправлений этой ошибки, но не могу найти какие-либо решения, которые работают.Это как-то связано с drawDimensioning, имеющим FreeCADGui в качестве зависимости?FreeCADGui отсутствует addCommand ()?Если вам известен другой подход, пожалуйста, прокомментируйте.
Более новый модуль TechDraw:
Насколько я могу судить, это работает (хотя с меньшим количеством функций, чем Drawing_dimensioning).НО я не могу использовать модуль TechDrawGui из командной строки.Модуль TechDrawGui необходим для сохранения страницы TechDraw в SVG.Я получаю эту ошибку, когда делаю:
File "/app/main_process.py", line 14, in <module>
import Part, Drawing, FreeCADGui, TechDrawGui
ImportError: Cannot load Gui module in console application.
Я могу, однако, импортировать модуль FreeCADGui без каких-либо проблем.Импортирование и использование модуля TechDraw тоже выглядит нормально.
Спасибо за чтение.Если вы считаете, что у вас есть метод создания измерений на странице и сохранения в SVG всего из Python, пожалуйста, дайте мне знать!