+# Copyright (C) 2014-2023 CEA, EDF
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
# Creation of Platine model using the end-user API
# Author: Sergey POKHODENKO
# -----------------------------
-import geom
-import model
+from salome.shaper import geom
+from salome.shaper import model
# START DEBUG PURPOSES
# Should be removed
left, top, right, bottom = model.addPolygon(sketch, *geom_points)
# Set constraints
- sketch.setRigid(left.startPoint())
+ sketch.setFixed(left.startPoint())
sketch.setHorizontal(bottom)
sketch.setHorizontal(top)
sketch.setLength(top, "L")
sketch.setLength(left, "L")
- sketch.setFillet([left.endPoint()], 32)
+ sketch.setFilletWithRadius(left.endPoint(), 32)
model.do() #!!!
# Create extrusion
body = model.addExtrusion(part, sketch.selectFace(), "E")
- model.do()
-
return body
def bottom_body():
# Create XOY sketch
- sketch = model.addSketch(part, "Extrusion_1_1/Generated_Face_3")
+ sketch = model.addSketch(part, "Extrusion_1_1/Generated_Face&Sketch_1/SketchLine_4")
# Create base polygon
points = [(0, 0), (0, L), (P, L), (P, 16 + 16), (P - 20, 16 + 16), (P - 20, 16), (P, 16), (P, 0)]
geom_points = [geom.Pnt2d(*p) for p in points]
left, top, v2, h2, v1, h1, right, bottom = model.addPolygon(sketch, *geom_points)
- points = [(P - 20, 16 + 16 / 2), (P - 20, 16), (P - 20, 16 + 16)]
+ points = [(P - 20, 16 + 16 / 2), (P - 20, 16 + 16), (P - 20, 16)]
points = [(p[0], -p[1]) for p in points] # as we look to back of the face
center, start, end = [geom.Pnt2d(*p) for p in points]
arc = sketch.addArc(center, start, end, True)
sketch.setCoincident(arc.endPoint(), h1.startPoint())
# Binding
- left_e = sketch.addLine("Extrusion_1_1/Generated_Face_3&Extrusion_1_1/To_Face_1_1")
+ left_e = sketch.addLine("[Extrusion_1_1/Generated_Face&Sketch_1/SketchLine_4][Extrusion_1_1/To_Face]")
sketch.setCoincident(left_e.startPoint(), left.endPoint())
sketch.setCoincident(left_e.endPoint(), left.startPoint())
- model.do() #!!!
-
# Dimensions
- sketch.setLength(v1, 16)
+ #sketch.setLength(v1, 16)
+ sketch.setLength(v2, 32)
sketch.setLength(h2, 20)
sketch.setLength(right, 16)
sketch.setLength(top, "P")
def body_3():
# Create XOZ sketch
- sketch = model.addSketch(part, "Boolean_1_1/Modified_4")
+ sketch = model.addSketch(part, "Boolean_1_1/Modified_Face&Sketch_1/SketchLine_3")
# Create base polygon
H, L, l, r = 28, 40, 8, 12
sketch.setRadius(arc, r)
# Binding
- bottom_e = sketch.addLine("Boolean_1_1/Modified_5&Boolean_1_1/Modified_8")
+ bottom_e = sketch.addLine("[Boolean_1_1/Modified_Face&Sketch_2/SketchLine_6][Extrusion_2_1/To_Face]")
sketch.setCoincident(bottom_e, bottom.startPoint())
sketch.setCoincident(bottom_e.startPoint(), bottom.endPoint())
# Create extrusion
body = model.addExtrusion(part, sketch.selectFace(), "-(L-22)")
- model.do() #!!!
-
return body
def body_4():
# Create XOZ 2nd sketch
- sketch = model.addSketch(part, "Boolean_2_1/Modified_4")
+ sketch = model.addSketch(part, "Boolean_2_1/Modified_Face&Sketch_2/SketchLine_6")
# Create base polygon
points = [(0, 0), (0, 1), (1, 0)]
left, diagonal, bottom = model.addPolygon(sketch, *geom_points)
# Binding
- bottom_e = sketch.addLine("Boolean_2_1/Modified_3&Boolean_2_1/Modified_4")
+ bottom_e = sketch.addLine("[Boolean_2_1/Modified_Face&Extrusion_2_1/To_Face][Boolean_2_1/Modified_Face&Sketch_2/SketchLine_6]")
sketch.setCoincident(bottom_e.endPoint(), bottom.startPoint())
sketch.setCoincident(bottom_e.startPoint(), left.startPoint())
- left_e = sketch.addLine("Boolean_2_1/Modified_6&Boolean_2_1/Modified_8")
+ left_e = sketch.addLine("[Boolean_2_1/Modified_Face&Extrusion_3_1/From_Face][Extrusion_3_1/Generated_Face&Sketch_3/SketchLine_18]")
sketch.setCoincident(left_e.startPoint(), left.endPoint())
model.do() #!!!
# Create extrusion
body = model.addExtrusion(part, sketch.selectFace(), "-12")
- model.do() #!!!
-
return body
b1 = vertical_body()
b2 = bottom_body()
-boolean = model.addFuse(part, b1.result() + b2.result())
+boolean = model.addFuse(part, b1.results() + b2.results())
+boolean.result().setName("Boolean_1_1")
model.do()
b3 = body_3()
-boolean = model.addFuse(part, boolean.result() + b3.result())
+boolean = model.addFuse(part, boolean.results() + b3.results())
+boolean.result().setName("Boolean_2_1")
model.do()
# START DEBUG PURPOSES
# END DEBUG PURPOSES
b4 = body_4()
-boolean = model.addFuse(part, boolean.result() + b4.result())
+boolean = model.addFuse(part, boolean.results() + b4.results())
model.end()
+
+assert(model.checkPythonDump())