Traceback (most recent call last):
File "/Users/sake/Library/Application Support/FreeCAD/v1-1/Mod/GDML/./freecad/gdml/init_gui.py", line 38, in <module>
from draftguitools import gui_arrays
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftguitools/gui_arrays.py", line 37, in <module>
import draftguitools.gui_circulararray
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftguitools/gui_circulararray.py", line 37, in <module>
from draftguitools import gui_base
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftguitools/gui_base.py", line 38, in <module>
from draftguitools import gui_trackers as trackers
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftguitools/gui_trackers.py", line 45, in <module>
import Draft
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/Draft.py", line 351, in <module>
from draftmake.make_hatch import make_hatch
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftmake/make_hatch.py", line 31, in <module>
from draftviewproviders.view_hatch import ViewProviderDraftHatch
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftviewproviders/view_hatch.py", line 33, in <module>
from draftguitools.gui_hatch import Draft_Hatch_TaskPanel
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/draftguitools/gui_hatch.py", line 36, in <module>
class Draft_Hatch(gui_base.GuiCommandNeedsSelection):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: partially initialized module 'draftguitools.gui_base' has no attribute 'GuiCommandNeedsSelection' (most likely due to a circular import)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 377, in InitApplications
File "/Applications/FreeCAD.app/Contents/Resources/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/sake/Library/Application Support/FreeCAD/v1-1/Mod/GDML/./freecad/gdml/init_gui.py", line 40, in <module>
import DraftTools
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/DraftTools.py", line 53, in <module>
import DraftGui # Initializes the DraftToolBar class
^^^^^^^^^^^^^^^
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/DraftGui.py", line 2111, in <module>
FreeCADGui.draftToolBar = DraftToolBar()
^^^^^^^^^^^^^^
File "/Applications/FreeCAD.app/Contents/Resources/Mod/Draft/DraftGui.py", line 221, in __init__
self.tray.setObjectName("Draft tray")
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'setObjectName'
Description
After installing the GDML workbench via the Addon Manager, FreeCAD throws errors during startup/workbench initialization. The traceback shows a circular import inside FreeCAD's own
draftguitoolspackage, apparently triggered byinit_gui.py'sfrom draftguitools import gui_arraysand the subsequent fallbackimport DraftTools.Environment
FreeCAD version: 1.1.1
OS: macOS 26.5.1
GDML workbench version/commit: v2.0.2 beta
Install method: Addon Manager
Steps to reproduce
Expected behavior
GDML workbench loads without errors, and the Draft module initializes normally.
Actual behaviour
The following traceback appears: