2 from SketchResult import *
5 # reload(sketch) # Pour tester plus facilement
6 # reload(extrusion) # Pour tester plus facilement
9 def makeBox(aLength, aWidth, aHeight):
10 # Getting the active document
11 session = ModelAPI_Session.get()
12 part = session.activeDocument()
15 base = sketch.addTo(part)
16 sketch.setXOYPlane(base)
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)
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)
35 sketch.makeParallel(sketch.getGeometry(l1), sketch.getGeometry(l3), base)
36 sketch.makeParallel(sketch.getGeometry(l2), sketch.getGeometry(l4), base)
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)
44 # Finalisation of the operation
45 builder = SketchResult(base)
47 # Creating a feature Extrusion
48 box = extrusion.addNew(builder, aHeight, part)
50 # return base.lastResult()
51 return extrusion.getBody(box)