by fsloth | 2025-11-21 06:37:17+00:00
I think the first question to tackle is _to whom_ is the program targeted at.

Who is the expert user? What are they building? What are the upstream and downstream application?

See, this is why this area is hard from software pov. It _looks_ like well specified engineering space - something like a network protocol - but actually what you have the engineering happens _in the engineers heads_ and in the organizations that use these tools and the tools that facilitate parts of the process and automate things that are practical to automate. All cad tools are closer to an excel sheet than a single well formed abstract syntax tree like a language grammar.

Now, Fusion 360 narrows down the audience quite a bit but also goes outside of my core expertise (which was in AEC). So I don't have good, detailed off-the cuff opinions here.

I can tell you what the _outputs_ are though. CAM (toolhead planning for CNC or slicing for AM), drawings, and 3D models for project coordination.

So, the question becomes - which of these workflows are we talking about. All of them? And for whom?

I know you specified "Fusion 360" but that is a product that is designed from the point of view of being a vendor-lockable commercial offering. It's really great there. I'm not sure the same package makes sense in FOSS sense.

"Would you use ready-made geometric kernels, improve on existing ones (OpenCASCADE?), or start from scratch?"

If one wants to export STEP then definetly use OpenCASCADE. If additive manufacturing is the target then STL or 3MF suffices and I would use Manifold library there as much as possible. 3D kernel is not the hardest part or even the most important (even thought it's hard and important).

If working in AEC then IFC export/import is a must (it's a schema extension on top of STEP).

"Would you adapt to existing standard formats (import/export)"

Standard formats if you want anyone to use the software for anything, ever.

"Would you build on FreeCAD, ... or do you see no point in that and think it would be better to start fresh?"

I would figure out first what the target user needs. Since CAD programs live in living, breathing industrial design ecosystems you can't really design one in isolation. Without knowing what the user needs and does you really can't answer that question!

If the aim is to offer a credible alternative to Fusion 360, then what you need to do is to make contact with an engineering office. Then you find their CAD manager, and figure out what their organizational parameters are for the CAD workflow. Does FreeCAD work for them? Why not?

If it turns out FreeCAD is perfect for their workflow then it's very likely there are other offices like that, and the FOSS project becomes just about FreeCAD support, education and evangelism.

And actually the key thing might be to design a process how to move the years and years of ongoing project data and models to this new platform. Industrial CAD is super sticky because you have decades of project data, billions of dollars of investment, and hundreds of peoples daily processes being supported by the specific quirks and features of these software.

Personally I'm _skeptical_ FreeCAD would be a drop-in replacememt but if my industry years taught anything is you need to _see what the user does_, analyze their workflow to first principles, then understand how to serve them.

Of course it would be _more fun_ to start from scratch. But the concept is not positioned as expression of personal creativity but pragmatic allocation of hypothetical FOSS investment with the intent of increasing industrial FOSS use and that's a _different_ thing than having a fun personal project.

Now, the above was from the point of view of "offering a credible industrial platform".

If the idea is not to offer a commercially credible alternative, but just to support something like hobbyists workflows for 3D printing, that is a totally different problem to solve, much more simpler, and likely much more fun.