Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You need to know which autogenerated names from the last generation correspond to which autogenerated names in the current generation.

The problem with CAD is - you don't know.

Previously you had:

    [OK] create sketch_1 (a rectangle)
      [OK] pad the sketch_1 into a cuboid_1 (face_1, face_2, ..., face_6)
        [OK] create sketch_2 (a round circle) in the middle of face_2 (which is on the right side of the cuboid)
          [OK] pocket the sketch_2 creating a round hole in the cuboid_1
Then you change the sketch_1 making it a pentagon instead of a rectangle. The tree becomes:

    [OK] create sketch_1b (a pentagon)
      [OK] pad the sketch_1b into a cuboid_1b (face_1b, face_2b, ..., face_7b)
        [X] create sketch_2b (a round circle) in the middle of face_?
           [X] pocket the sketch_2b creating a round hole in the cuboid_1b but where exactly ?
There's no face_2 anymore - new side faces of the cuboid_1b are each in different places and at different angles than side faces of the old cuboid_1. You can decide basing on some heuristics, but that heuristics sucks in FreeCad and is almost never right.

I only every used Free Cad so I don't know how other CAD solves this problem, I can see using a better heuristic (like the least change of the plane and distance of the sketch ? ) or forcing the user to specify which edge corresponds to which when editing a sketch that isn't the final one in the dependency chain.

You could also force the user to mark and name objects in the sketch on which other sketches can depend - and when you edit the sketch you'd have to set them up correctly after the edit.



So, could you potentially store more metadata than just the face name, like it's normal for example, or the location and approximate surface area, and try to use that to reduce the problem space for an educated guess?


Or use a dependency graph where the operation are, umm, dependent on the specific geometric component parent.

When something gets changed just go and find the place where the graph is bonkers and rebind the sub-tree to the correct parent object.

Could even have a fancy auto-generated UI à la Blender's node editor.


That will fail when, instead of turning the rectangle into a pentagon, you rotate it 45 degrees into a rotated rectangle.

I suspect that SolidWorks solves this by naming each face after, for example, the sketch line segment or arc that it was extruded from. But I'm not sure.


I'd love to know how commercial software solve this issue. I would expect a mixture of heuristics and user inputs to resolve ambiguous assignments




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: