]> SALOME platform Git repositories - modules/shaper.git/blob - src/PythonFeaturesPlugin/examples.py
Salome HOME
Merge branch 'BR_PYTHON_PLUGIN' of newgeom:newgeom.git into Dev_0.6.1
[modules/shaper.git] / src / PythonFeaturesPlugin / examples.py
1 from ModelAPI import *
2 from SketchResult import *
3 import sketch
4 import extrusion
5 # reload(sketch) # Pour tester plus facilement
6 # reload(extrusion) # Pour tester plus facilement
7
8
9 def makeBox(aLength, aWidth, aHeight):
10     # Getting the active document
11     session = ModelAPI_Session.get()
12     part = session.activeDocument()
13
14     # Starting the Sketch
15     base = sketch.addTo(part)
16     sketch.setXOYPlane(base)
17
18     # Creating the lines
19     l1 = sketch.addLine(10, 10, 10, 50, base)
20     l2 = sketch.addLine(10, 50, 60, 60, base)
21     l3 = sketch.addLine(60, 60, 50, 10, base)
22     l4 = sketch.addLine(50, 10, 10, 10, base)
23     base.execute()
24
25     # Creating the constraints
26     sketch.makeCoincident(sketch.getEndPoint(l1),
27                           sketch.getStartPoint(l2), base)
28     sketch.makeCoincident(sketch.getEndPoint(l2),
29                           sketch.getStartPoint(l3), base)
30     sketch.makeCoincident(sketch.getEndPoint(l3),
31                           sketch.getStartPoint(l4), base)
32     sketch.makeCoincident(sketch.getEndPoint(l4),
33                           sketch.getStartPoint(l1), base)
34
35     sketch.makeParallel(sketch.getGeometry(l1), sketch.getGeometry(l3), base)
36     sketch.makeParallel(sketch.getGeometry(l2), sketch.getGeometry(l4), base)
37
38     sketch.makePerpendicular(sketch.getGeometry(l1),
39                              sketch.getGeometry(l4), base)
40     # Set to 0X and 0Y lines defined length
41     sketch.makeConstantLength(sketch.getGeometry(l1), aLength, base)
42     sketch.makeConstantLength(sketch.getGeometry(l4), aWidth, base)
43
44     # Finalisation of the operation
45     builder = SketchResult(base)
46
47     # Creating a feature Extrusion
48     box = extrusion.addNew(builder, aHeight, part)
49
50     # return base.lastResult()
51     return extrusion.getBody(box)