FreeCAD
1# Example how to use the basic sketcher tools
2from Sketcher import *
3from Part import *
4from FreeCAD import *
5import FreeCAD as App
6
7# set some constances for the constraints
8StartPoint = 1
9EndPoint = 2
10MiddlePoint = 3
11
12# create a document and a Sketch object
13if App.activeDocument() is None:
14App.newDocument()
15
16f = App.activeDocument().addObject("Sketcher::SketchObject", "Sketch")
17
18# add geometry to the sketch
19f.Geometry = [
20LineSegment(Vector(0, 0, 0), Vector(2, 20, 0)),
21LineSegment(Vector(0, 0, 0), Vector(20, 2, 0)),
22]
23
24# add constraints to the sketch
25f.Constraints = [Constraint("Vertical", 0), Constraint("Horizontal", 1)]
26
27# recompute (solving) the sketch
28App.activeDocument().recompute()
29
30# add another constraint to tie the start points together
31l = f.Constraints
32l.append(Constraint("Coincident", 0, StartPoint, 1, StartPoint))
33f.Constraints = l
34
35# again recompute
36App.activeDocument().recompute()
37
38f.Geometry
39