News for hackers. Stuff that matters.
Re:FreeCAD: A free and open source multiplatform 3D parametr... by numpad0 on Friday September 18, 2020 @06:22AM (#24514988)
give each objects with UUIDs and refer to them by-UUID?
Re:FreeCAD: A free and open source multiplatform 3D parametr... by kuon on Friday September 18, 2020 @06:44AM (#24515115)
Yeah, but that's hard, because imagine you have an edge with UUID 1, then you edit the history which lead into that edge being cut in half. Which one of the two edges has UUID 1?

The answer is complicated because if you have a chamfer on that edge, depending on how you split it, you want to have the chamfer on both resulting edges. So they both get a new UUID, but you have to modify the next operation to apply to what "was" the edge 1.

I illustrated that here: https://imgur.com/a/XR7sO59

Re:FreeCAD: A free and open source multiplatform 3D parametr... by numpad0 on Friday September 18, 2020 @08:13AM (#24515692)
1. sketch a rectangle, extrude up. edge_1 in question created.

2. chamfer edge_1. chamfered edge_2 and _3 are created.

3. sketch a rectangle on far side, extrude toward camera for 1/2 full length. edge_4 is created at middle of box.

4. do other stuff. lots of things come and go.

5. you changed mind. extrusion distance is changed so edge_4 goes past chamfered surface.

On Fusion 360 with History enabled, this will result in a progress bar and backend goes back to step 2. to re-do and re-compute all subsequent ops up to step 5. As the result there will be probably edges 2, 3, 4, 5 that now represent near and far side chamfered edges. If you've done something that presently don't make sense at step 4., Fusion 360 throws an error and leave half done objects.

Okay, now I understand the problem. It needs the History feature to be done right, and UUID.

Re:FreeCAD: A free and open source multiplatform 3D parametr... by Joker_vD on Friday September 18, 2020 @07:04AM (#24515250)
> So they both get a new UUID, but you have to modify the next operation to apply to what "was" the edge 1.

Of course, that's exactly how I personally would expect the things to be done? You obviously have to propagate changes through all the operations further down the line.

Re:FreeCAD: A free and open source multiplatform 3D parametr... by pillefitz on Friday September 18, 2020 @12:17PM (#24518651)
But how? Let's take a cube, of which I modify one face. Then I change the cube to be a pentagon (let's assume it's a parametrized object). What face of the cube corresponds to which face of the pentagon?
Re:FreeCAD: A free and open source multiplatform 3D parametr... by numpad0 on Saturday September 19, 2020 @02:58AM (#24525716)
That’ll be a “downstream feature failure” in Autodesk term
Re:FreeCAD: A free and open source multiplatform 3D parametr... by phkahler on Friday September 18, 2020 @09:12AM (#24516295)
>> give each objects with UUIDs and refer to them by-UUID.

That's a core feature in SolveSpace. Not full UUIDs but something similar.