Hi Martin,
On my repo and in a new "workbench" branch I started developing a FreeCAD workbench which should work similar to your FreeCAD macro. There are still some issues, we have to deal with:
- I think subprocess calling of another Python3 installation is cumbersome (because you have to pip install ToOptixCore into that installation, then point to it and make sure that all dependencies are there.)
- Many people use older version of FreeCAD which do not have the Python3 support, yet.
From that two points: Wouldn't it be better to remove things like type annotations which are clearly not supported by Python2.7 to get at least with this version some compatibility? It would also simplify testing: At the moment, in particular for my older Linux Mint 18.3, I have to use some 0.19-Py3-Qt5 AppImage, decompress it, install ToOptixCore and FreeCADAddon into it, and perform the tests in FreeCAD.
Another point is: I realized that these several run_optimization.py files are not needed, if we do not need to start a subprocess. Therefore a very useful Python interface is already given by the OptimizationController in ToOptixCore. I would suggest:
- to remove the submodule from the FreeCAD- and BlenderAddOn.
- to put a setup.py into ToOptixCore such that it can also be installed by using pip (see "workbench" branch in ToOptixFreeCADAddOn in my repo).
Once it is available in the appropriate Python environment we can rely on its functionality from FreeCAD or Blender via non problematic module imports. The user just has to pip install ToOptixCore and pip install ToOptixFreeCADAddOn. What do you think?
Best wishes
Johannes
Hi Martin,
On my repo and in a new "workbench" branch I started developing a FreeCAD workbench which should work similar to your FreeCAD macro. There are still some issues, we have to deal with:
From that two points: Wouldn't it be better to remove things like type annotations which are clearly not supported by Python2.7 to get at least with this version some compatibility? It would also simplify testing: At the moment, in particular for my older Linux Mint 18.3, I have to use some 0.19-Py3-Qt5 AppImage, decompress it, install ToOptixCore and FreeCADAddon into it, and perform the tests in FreeCAD.
Another point is: I realized that these several run_optimization.py files are not needed, if we do not need to start a subprocess. Therefore a very useful Python interface is already given by the OptimizationController in ToOptixCore. I would suggest:
Once it is available in the appropriate Python environment we can rely on its functionality from FreeCAD or Blender via non problematic module imports. The user just has to pip install ToOptixCore and pip install ToOptixFreeCADAddOn. What do you think?
Best wishes
Johannes