7BIndustries / Semblage

Semblage is an open source CAD GUI backed by a programmatic CAD API named CadQuery.
https://semblage.7bindustries.com/en/latest/
GNU Lesser General Public License v2.1
48 stars 3 forks source link

Make Wires and Edges Selectable #51

Closed jmwright closed 2 years ago

jmwright commented 3 years ago

Wires and edges need to be selectable to support selector synthesis. For display in the 3D view, wires and edges are discretized into edge segments. These segments need a way to be associated back to the higher level objects so that when they are intersected by the ray cast from the mouse cursor, the parent object can be selected. The current hierarchy is the following, but it is possible for an edge to be by itself and not part of a wire.

The JSON object that is returned by CadQuery needs to include this hierarchy with a way to identify each line segment and which parent wire/edge it belongs to. Then the top level wire/edge object needs to be highlighted.

jmwright commented 2 years ago

Finished in commit 81f362bf027f2dec7722c03ce29fd764af5bd1e7