1from salome.shaper import model
2
3model.begin()
4partSet = model.moduleDocument()
5
6### Create Part
7Part_1 = model.addPart(partSet)
8Part_1_doc = Part_1.document()
9
10### Create Sketch
11Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
12
13### Create SketchPoints
14SketchPoint_1 = Sketch_1.addPoint(-70.28350515463917, 1.388316151202744)
15SketchPoint_2 = Sketch_1.addPoint(-26.89862542955327, 51.7147766323024)
16SketchPoint_3 = Sketch_1.addPoint(40.08762886597938, 32.27835051546391)
17SketchPoint_4 = Sketch_1.addPoint(66.46563573883162, -29.8487972508591)
18
19### Create interpolation curve
20InterpolationPoints = [SketchPoint_1.coordinates(),
21 SketchPoint_2.coordinates(),
22 SketchPoint_3.coordinates(),
23 SketchPoint_4.coordinates()]
24SketchBSpline_1 = Sketch_1.addInterpolation(InterpolationPoints)
25Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchBSpline_1.startPoint())
26Sketch_1.setCoincident(SketchPoint_2.coordinates(), SketchBSpline_1.result())
27Sketch_1.setCoincident(SketchPoint_3.coordinates(), SketchBSpline_1.result())
28Sketch_1.setCoincident(SketchPoint_4.coordinates(), SketchBSpline_1.endPoint())
29
30### Create periodic interpolation curve
31SketchBSpline_2 = Sketch_1.addInterpolation(InterpolationPoints, periodic = True)
32Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchBSpline_2.result())
33Sketch_1.setCoincident(SketchPoint_2.coordinates(), SketchBSpline_2.result())
34Sketch_1.setCoincident(SketchPoint_3.coordinates(), SketchBSpline_2.result())
35Sketch_1.setCoincident(SketchPoint_4.coordinates(), SketchBSpline_2.result())
36
37### Create closed interpolation curve
38SketchBSpline_3 = Sketch_1.addInterpolation(InterpolationPoints, closed = True)
39Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchBSpline_3.startPoint())
40Sketch_1.setCoincident(SketchPoint_2.coordinates(), SketchBSpline_3.result())
41Sketch_1.setCoincident(SketchPoint_3.coordinates(), SketchBSpline_3.result())
42Sketch_1.setCoincident(SketchPoint_4.coordinates(), SketchBSpline_3.result())
43Sketch_1.setCoincident(SketchPoint_1.coordinates(), SketchBSpline_3.endPoint())
44
45model.do()
46
47model.end()