FreeCAD
1# Examples to generate trajectories out of shapes
2import FreeCADGui as Gui
3
4# getting selected edges from the selection and sort them
5count = 0
6FirstPos1 = None
7FirstPos2 = None
8LastPos2 = None
9SortedEdgeList = []
10for so in Gui.Selection.getSelectionEx():
11for edge in obj.SubObjects:
12if edge.Type != "Part::TopoShape":
13continue
14pos1 = edge.valueAt(0)
15pos2 = edge.valueAt(edge.Length)
16print(pos1, pos2)
17if count == 0: # first edge
18FirstPos1 = pos1
19FirstPos2 = pos2
20elif count == 1: # second edge
21continue
22else: # the rest
23SortedEdgeList.append((pos1, pos2, edge))
24