About FreeCAD, Svertchok and Blender

Commenting post 106: Yes, nikitron is the Svertchok master

I think I can reply here too... This would be very hard... Although the geometry algorithms of Svertchok probably could be adapted to work in FreeCAD, the problem is the nodes system. There is no such system in FreeCAD at the moment (some people are interested in creating one, though, but so far nobody came up with actual coding).

Personally, I think it would be a lot of work to do that, and even more work to maintain two different versions in sync after that, for not much advantage. In FreeCAD, it would benefit almost only architecture. The other engineering disciplines would have little use for something like that. While in Blender, it benefits other peopleinterested in generating algorithm-based geometry too.

Also, Blender is based on a very flexible, free-form mesh system, while FreeCAD uses much more rigid brep solid geometry. You would cut some freedom of Svertchok if it had to be adapted to work with solids only.

The key of working with architecture in FreeCAD (I need to write more about that), I think, is to not consider solely FreeCAD as your modeling/authoring tool. We take always great care of that with the Arch workbench, that you are able to work with mesh data imported from other apps like Blender or Sketchup, which are fast, free-form mesh modelers, where you are not bound to physical limitations, and your creativity is not limited by stupid BIM tools... It is the work of the BIM tool to bow to your creativity, not the contrary.

I don't think any BIM app out there has the same capability as FreeCAD to bring mesh data all the way up to valid BIM objects. Think of a mix between Revit and Rhino (which has excellent mesh-to-solid converison tools). You can really take the Blender monkey head mesh, and turn it into a valid wall object in FreeCAD, if your meshes are clean solids (no face superposition, no manifold edges), no further work is needed.

So for me, the real powerful place to have Svertchok is in Blender, where you can make it do almost anything, and explore forms without constraints. Then you have a little work, which is unavoidable when you have that freedom, to rationalize those forms, extrude faces into solid stuff, etc. Then, you import it into FreeCAD, convert everything to BIM objects, and that's it. This would of course be more comfortable with a tool like Svertchok directly inside FreeCAD, but at the cost of a portion of your freedom.

This focus we put on keeping FreeCAD and specially the Arch workbench as open as possible to all kinds of data input, explains partly why its own creation tools (wall, window, etc) have a lower priority (at least for me), and therefore are not as developed as one would wish yet. But I think this is the correct order: First we must make sure the model is open to maximum freedom. This is something very precious, and very opposite to more capable BIM apps like Revit. Then we think to the ease of use of the creation tools. If we were to do the contrary, the decisions we would take with the creation tools would sooner or later shave off some of that freedom.

Of course that doesn't mean we cannot have powerful creation tools like Revit! Certainly we'll get there at some point in time. But since our resources are limited (very few people working on the Arch workbench), it inevitably goes slow and one has to carefully think of priorities.

If you think of the Unix philosophy of "instead of one all-in-one app, rather many simple tools, each doing one task well", this Blender->FreeCAD scheme fits in pretty well. Never we'll have in FreeCAD mesh modeling tools of the quality of Blender. And it would be very hard for Blender to gain the technical and precision tools that FreeCAD now has. For me the path is clear: We need both.