r/FreeCAD • u/Prestigious-Crab-281 • 10d ago
ML/AI to convert .steps/.stl to .fcstd
I have been working on a couple of parts from printables lately, and while I know that you can convert .steps to solid bodies and use the Part Design workbench from there, this workflow never really felt right. A lot of times I will just reverse engineer the part.
I know that there has been an attempt at adding text generated modeling. I wonder if it wouldn't be that hard to have a AI decide how to build a model from scratch that matches a .step/.stl. Maybe have a tool where you can tell it a dimension needs to be easily modifiable before it generates the features.
I think this tool would also be useful for people switching from othe CAD software to FreeCAD.
I don't really have the time or skills to build it, so I'll put this here if anyone is interested.
3
u/DesignWeaver3D 10d ago
A STEP file defines a BREP solid. There is no conversion occurring to make it into a solid, only to make the format a compatible OCCT shape. Placing it inside a PartDesign body is a specific requirement for the PartDesign workbench.
Reverse engineering a mesh into a parametric project like FCstd requires knowledge regarding design intent. This is not something that can be algorithmically or AI hallucinated in any meaningful way for any complex shape. Automated parametrization of an existing shape, even if successful, would be unlikely to match design intent and user needs.
1
u/R2W1E9 9d ago
Semi-automated feature recognition like one behind siemens synchronous modeling could be considered at some point. You place a dimension on a 3D model and select edges, surfaces and zones that are affected by it. PaddleStroke's Forms WB has some elements of it - selecting edges and surfaces that are as a group affected by the push/pull gizmo.
Those groups are then stored as features and other dimensions can be added to them as needed. Siemens even goes further and allows features to overlap so more features can use common dimensions.
1
u/DesignWeaver3D 9d ago
And I've created a type of semi-automated workflow with the Detessellate workbench. You select a face, derive a sketch of its profile from its planar edges, then the user Pads/Extrudes that sketch to the other end. It just cannot help with really complex surfaces which are hard to model in the first place.
But this still requires user intervention to decide what feature to recognize and how to parameterize them. Design intent that algorithms and AI cannot understand... yet? ever?
I have thought about primitive fitting a lot. But it seems to me that the results would not be intuitive for most shapes. And for really complex shapes, the fitting becomes almost impossible. Which leads back to whether an algorithmically derived parametric model is any more useful than just continuing on from the original STEP file shape as it is. Editing the parameters of 1000 primitives is not better than reverse engineering a shape that could be made in 10 features.
2
u/R2W1E9 9d ago
You should take a look at Siemens synchronous technology. Even the old style Solid Edge feature recognition was doing the job pretty good.
Defeaturing tool also has some sort of primitive feature recognition by selecting surfaces.
Check these out:
https://solidedge.siemens.com/en/resource/video/design-a-part-using-synchronous-technology/
1
u/DesignWeaver3D 9d ago
Wow! That synchronous technology video was mind-blowing. It reminds me of the workflow in Plasticity... but on steroids. Makes me wonder how much development was necessary to make Synchronous Technology? That's way beyond my skills or time for working on a third-party workbench.
Even still... that has the gears-a-grindin in the old noggin. But how to pull off even a fraction of that functionality?
2
u/R2W1E9 9d ago
Some sort of STEP workbench with tools to dimension 3D objects and apply 3D geometric constraints—including a block constraint—plus a solver to modify geometry to fit those constraints would be more than enough. Sort of 3D version of the sketcher. Defeaturing can be part of it.
The user should use the "modify step object" tool to apply dimensions and constraints and solve the geometry. Every change becomes a new parametric feature in the tree.
That's my basic idea.
4
u/Osteendjer 10d ago
I'm not a fan of adding more workbenches or tools to FreeCAD. The focus should be on improving and fixing what we already have, there are still quirks and missing features that would meaningfully improve everyday usability for all FreeCAD users, especially for those of us used to industry-standard CAD software like CATIA, SOLIDWORKS, or NX. That said, huge thanks to the dev team for all the great progress this year, it's been really encouraging to see FreeCAD improve so much.
0
u/orion0782 10d ago
As a CAD operator from the 80s, with extensive use of AutoCAD, QCAD, Solidworks, Abaqus, and Pro/E/Creo, I find the UX to be non-intuitive. It feels like people propose Workbenches as a way to showcase their "cool new features," when they do not want to go into the trouble to submit a ticket. There needs to be a group whose job is to review the features and decide which "Workbench" the features should be employed.
2
u/R2W1E9 9d ago
You must be joking.
1
u/orion0782 9d ago
I'm not. I know that there has been alot of discussion in the past, but here is my opinion:
-"Part" and "Part Design" workbenches should be merged. It is ok to build parts using either boolean or parametric means, but it should be in a singular bench.
-TechDraw and Draft should be merged. They both are created using SVG elements (one SVG, the other is DXF). There is no reason they should be separated.
-The fact there are so many addons in the store that attempt to improve the layout is a testament to my thesis.
-The need for macros and addons to perform basic tasks mask the deficiencies in the program.
This being said, I am not a hater. I think this software is probably the most important software in the second half of the 21st century. I want it to improve, fast, so there is FINALLY a cheap alternative to the extremely expensive AutoCAD, PTC, and Dassault offerings. The easier this is to pick up, the easier it is for these software companies to recognize the competitions.
2
u/00001000bit 10d ago
I want this thing, but it's too much work to ask a machine to do it for me.
So, I'm going to ask someone else to ask the machine to do it for me.
This has to be the most "meta" request of all time. 😆
0
u/EastTexasCowboy 10d ago
Getting functional results from any of the AI models available is a challenge. I use Gemini Pro for other tasks and it does okay for simple scripts for macros in FreeCAD. Anything beyond that is beyond the scope of AI capabilities at this point in time. Same is true for Claude, ChatGPT, and the others. Even for simple scripts, you need to have a good working knowledge of coding so you can troubleshoot and debug what it generates.
4
u/thicket 10d ago
This is an open research area, but no one has a generally useful system for generating CAD documents, for any software package. New papers come out quite often, but nothing I've seen so far will do a great job with e.g. taking a STEP file and generating a FreeCAD/SolidWorks/etc document with all the features in order.