Hacker News
Topological Naming Problem
phkahler
|next
[-]
IIRC the FreeCAD solution tends to create names of ever-increasing length as you continue building.
MoonWalk
|next
|previous
[-]
throwup238
|root
|parent
|next
[-]
The geometric kernel is doing boundary representation operations so when you do a boolean or a fillet, it doesn’t “edit” existing faces, it computes an entirely new b-rep from scratch. The old faces, edges, and vertices are gone and new ones are created to replace then. There’s nothing to hang a persistent ID on because the entities themselves are ephemeral.
There are solutions to the problem but they all break down eventually. I think freeCAD uses topological tracing and naming schemes so it encodes a face’s identity by how it was created. e.g., “the face generated by the intersection of extrude_1 and the XY plane.” The problem then is that parameter changes or operation insertions in the history can destroy those too, creating a new feature that can’t be easily mapped to the old ones. That’s where all the heuristics come in.
Unique IDs are used internally, but they only last for the lifetime of one evaluation. The hard part is establishing the equivalence between entities across re-evaluations when the topology itself may have changed.
lgeorget
|next
|previous
[-]
shadowpho
|root
|parent
[-]
placatedmayhem
|root
|parent
|next
[-]
That said, since v1.0, I've had far fewer instances of being affected, and have started doing some direct-on-face features (usually sketches) again.
groos
|previous
[-]
hommelix
|root
|parent
|next
[-]
groos
|root
|parent
[-]
bombela
|root
|parent
[-]
This fast renderer also closes and add hashed faces to cross sections views, instead of showing some buggy view of the inverts faces of the model.
Furthermore, the sketcher since mainline v1 is very laggy. Every click lags because its trying to draw the dimensions while you move them around but it's somehow slow and irritably laggy.
Finally in general, mainline also plenty of weird UI jitter and flicker. As if some code is fighting to resize elements back and forth during use.
Oh and the pie menu also wasn't copied either. On the realthunder fork a double press on "g" brings a menu under the mouse that quickly list the geometry near the cursor sorted by type, highlighting it as you hover on the selection. This is fantastic because of how bad freecad is at guessing what you are trying to select.
But mainline got a new color scheme and torturously slow UI animations that cannot be fully be disabled. This shows where are the priorities in my opinion.
To finish on a note of hope, at least I have noticed more open source projects using freecad rather than proprietary alternatives lately.
Robotbeat
|root
|parent
|next
|previous
[-]
Although… as others have noted, this is a problem with basically all CAD packages, as on a fundamental level, it depends on user design intent. Just some have enough bandaids that it’s more rare.
mft_
|root
|parent
|next
|previous
[-]
I’ve not encountered the same issue in FreeCAD 1.1 (to which I’ve transitioned recently). There are of course other frustrating niggles in FreeCAD, but not this one (yet).
mitthrowaway2
|root
|parent
|next
|previous
[-]
embedding-shape
|root
|parent
|previous
[-]
> This problem is not unique to FreeCAD. It is generally present in CAD software, but most other CAD software has heuristics to reduce the impact of the problem on users.
DecoPerson
|root
|parent
|next
[-]
Fusion 360’s heuristics are so good that I rarely run into these problems. When I do, it’s usually because it was a drastic change to a previous feature in the timeline and I’m expecting to encounter issues because it’s a really fundamental change.
throwup238
|root
|parent
|previous
[-]
Solidworks and Onshape don’t “hide” it better, their algorithms are better and break down in much more complex models than FreeCAD. Each one also tends to have its own quirks so as you learn to use the software you get a bit of intuition on how to best model certain features to avoid angering the topological naming gods.
I don’t think I’ve ever seen Solidworks break down in a simple model, it’s always been in complex shapes using advanced features.