I previously used to use workfeatures Macro to generate parametric enepper Surfaces from library.
Now, in the newest versions it fails.
Workflow
- Install Workfeatures Macro [Makro -> Makros -> Download (Herunterladen) . This will show the search and install dialog. I then search for workfeatures macro, and install it ]
- Install Workfeatures workbench from Tools (Werkzeuge) -> Add-on Manager.This will show the search and install dialog, from where the installation can take place.
- Restart FreeCad
- Start the WF macro [Macro -> Current Macros (Aktuelle Makros) -> Start WF. This will pop up the Work Features tab.
- Click on Wire tab (already shown in picture as selected tab), then curves and surfaces, then "Launch Curves and Surfaces Menu"
- A new tab called "Parametric Curves" will pop up just beside "work features", already present in previous imange. Select it.
- Now you will have Two more tabs, select the first one "Curves and Surfaces"
- Among the many child tabs, scroll right and select "Surface".
- Try to create : "Monkey Saddle" from the first drop down in this child tab.
Steps 6,7,8,9 are shown in picture here as 1,2,3,4.
PROBLEM
The first problem is already visible in step 5.
In console you can see:
The effects are not immediately visible. But, in the step 9, we see, some surfaces are missing, that were there in previous versions of Freecad. The Enepper surface is an example.12:15:28 Traceback (most recent call last):
12:15:28 File "/home/monsoon/.local/share/FreeCAD/Mod/workfeature-macro/WorkFeature/ParCurve/WF_ObjParCurve_2016.py", line 751, in select_curve
12:15:28 m_line = self.dialog.ui.selectCurve(*argc)
12:15:28 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:15:28 File "/home/monsoon/.local/share/FreeCAD/Mod/workfeature-macro/WorkFeature/ParCurve/WF_ObjParCurveEdit_2016.py", line 287, in selectCurve
12:15:28 m_curveRow = self.tableWidget.row(self.tableWidget.findItems(str(*argc), QtCore.Qt.MatchExactly)[0])
12:15:28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
12:15:28 IndexError: list index out of range
Then, scroll down, and click "ok" to create the monkey saddle. The next error appears.
And the surface is NOT generated. This is not a problem of zoom, as "fit to screen" [V, F. left click on render window -> Einpassen] does not make any difference either. Other surfaces also show same behavior.12:16:53 Traceback (most recent call last):
12:16:53 File "/home/monsoon/.local/share/FreeCAD/Mod/workfeature-macro/WorkFeature/ParCurve/WF_ObjParCurve_2016.py", line 1601, in draw
12:16:53 if isinstance(oxs, collections.Iterable):
12:16:53 ^^^^^^^^^^^^^^^^^^^^
12:16:53 AttributeError: module 'collections' has no attribute 'Iterable'
EXPECTED BEHAVIOR
The parametric surface should be generated, and visible.
ATTEMPT TO RESOLVE
I checked the github page of the macro. It seems, that the issues are not addressed, and development is suspended. I also checked the forks of this macro - none of them appear to be actively developed any more.
Is it possible to solve this error now without attacking the source code myself/ourselves?
TRIVIA
Please note, that the curves and surfaces menu side panel does not scale, even if you change the side panel size as shown in second picture.
ABOUT
Code: Select all
OS: CachyOS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.20.2.29603 (Git)
Build type: Release
Branch: makepkg
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.11.3, Qt 5.15.9, Coin 4.0.1, Vtk 9.2.6, OCC 7.6.3
Locale: German/Germany (de_DE)
Installed mods:
* CurvedShapes 1.0.4
* Render 2022.4.0
* DesignSPHysics 0.6.3(24-09-2022)
* workfeature-macro
* workfeature