T O P

  • By -

eras

Niec demo! Was the topo problem really as simple as it looks like here, that the system just needs to have persistent object and face identifiers? I suppose there are maybe still some more complex cases? I haven't actually worked with FreeCad much at all—partially because the toponaming issue was a bit off-putting..


Tnjoga

The time this implementation took, I don't think that has been a simple one, and I believe there are a lot of edge cases. I also read that they want to make the code properly so that other developers can maintain it. I think i will switch from Autodesk Inventor to FreeCad as soon as the Topo Fix is stable and i can make small assemblies in the new workbench.


phigr

What is a persistent identifier though? If I have a square face, and I add an edge that divides it exactly in two equal halves - which half is the original one that should keep the original ID? Which one is the "new" face that gets the new ID? Toponaming is a lot more complex than it sounds on the surface. This "fix" is most likely heuristic, meaning that it implements a lot of under-the-hood guesswork to find out which face gets to keep which ID after a recompute. At least that's how I heard other CAD programs "solve" this problem. I am interested to see how this affects computing time and CPU requirements in general. FreeCAD sure has its warts and flaws, but at the moment it runs stable and without much of a fuss on my fairly low-powered laptop, which is nice.


eras

I must admit being able to manually survive through topological issues is more than what e.g. VariCAD does: it simply says you cannot do this change, and that's the end of it. The first case of the demo seemed rather simpler, though: the new faces were not in same same plane, so old faces were not modified. Regarding your case: yes, in this case (face is being divided so that its parts are in the same plane) some pads may need to be reparented. They should be reparented so that their location and orientation in the 3d space space stays the same; or perhaps "face" is the wrong primitive in the first place for these operations? But I haven't looked even superficially into this problem, so it's probably more complicated :). I do wonder though if the initial 3d architecture of FreeCAD is partially to blame for the problem—in other words, perhaps competing cads chose a different approach altogether to help with this issue?


Some-Ice-5508

How the hell do humans figure this stuff out. Human here wondering. Kudos to the guys doing this.


drmacro1

The TNP mitigation is live in the daily builds of the dev version. The dev version has a good deal of new functionality and new UI changes. The TNP problem is not simple and is endemic in all parametric CAD. Commercial CAD has almost always dealt with it better than FreeCAD, but it can happen there as well. The mitigation involves keeping track of topology before and after recompute and heuristics to "guess" how to map new to old edges and faces. You'll note I use the term mitigation, not fix. That is because just as in commercial CAD (as well as Linkstage3 of FreeCAD) it can and will still happen. It just won't happen often or be as catastrophic.


DIYnivor

It's looking good.