doubters wrote: ↑
Tue Apr 16, 2019 5:47 pm
Doesn't the FreeCAD modular structure imply the development of modules regardless of the core?
There is a small detail with TechDraw, and that is that it is developed in C++. This means that if you want updated functionality you need to compile the newest source code of this workbench, and place the new object files in the appropriate directory. I don't know if it's simple to compile this particular workbench alone. Maybe you'd need to recompile the entire FreeCAD source tree as well. So, that's the catch with extensions written in C++; they are still modular, but a bit of a hassle because they require compilation.
On the other hand, other workbenches like Draft and Arch are completely developed in Python, so you can modify the source code immediately, and the changes take effect when you restart FreeCAD. That's the flexibility that developing in Python offers.
As to why TechDraw is developed in C++ and not Python, well, that's just how it went. Wandererfan knows C++, so he did it in C++.
Somebody should rewrite the entire thing in Python. It's surely possible but not an easy or quick task.