+## Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+##
+## 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<mailto:webmaster.salome@opencascade.com>
+##
+
from salome.shaper import model
model.begin()
model.addParameter(Part_1_doc, "BHPD", "14", "Base Hole Plate Diameter")
model.addParameter(Part_1_doc, "BHPS", "2", "Base Hole Plate Thickness")
model.addParameter(Part_1_doc, "BHPFR", "BHPS/4*3", "Base Hole Plate Fillet Radius")
-model.addParameter(Part_1_doc, "BPS", "6", "Base Plate Thickness")
+Parameter_BPS = model.addParameter(Part_1_doc, "BPS", "6", "Base Plate Thickness")
model.addParameter(Part_1_doc, "Draft", "100", "Bracket Draft")
model.addParameter(Part_1_doc, "TDI", "14", "Tube Internal Diameter")
model.addParameter(Part_1_doc, "TDE", "TDI+8", "Tube External Diameter")
Sketch_4 = model.addSketch(Part_1_doc, model.defaultPlane("YOZ"))
SketchCircle_3 = Sketch_4.addCircle(0, 85, 7)
SketchCircle_4 = Sketch_4.addCircle(0, 55, 7)
-SketchPoint_1 = Sketch_4.addPoint(model.selection("VERTEX", "Sketch_3/Vertex-SketchCircle_1"))
+SketchPoint_1 = Sketch_4.addPoint(model.selection("VERTEX", "Sketch_3/Edge-SketchCircle_1_2__cc"))
SketchConstraintCoincidence_61 = Sketch_4.setCoincident(SketchPoint_1.coordinates(), SketchCircle_3.center())
SketchConstraintCoincidence_61.setName("SketchConstraintCoincidence_19")
-SketchPoint_2 = Sketch_4.addPoint(model.selection("VERTEX", "Sketch_3/Vertex-SketchCircle_2"))
+SketchPoint_2 = Sketch_4.addPoint(model.selection("VERTEX", "Sketch_3/Edge-SketchCircle_2_2__cc"))
SketchConstraintCoincidence_62 = Sketch_4.setCoincident(SketchPoint_2.coordinates(), SketchCircle_4.center())
SketchConstraintCoincidence_62.setName("SketchConstraintCoincidence_20")
SketchConstraintRadius_9 = Sketch_4.setRadius(SketchCircle_3.results()[1], "TDI/2")
model.do()
Sketch_6 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
SketchCircle_9 = Sketch_6.addCircle(30, -41, 4)
-SketchPoint_3 = Sketch_6.addPoint(model.selection("VERTEX", "Sketch_5/Vertex-SketchCircle_5"))
+SketchPoint_3 = Sketch_6.addPoint(model.selection("VERTEX", "Sketch_5/Edge-SketchCircle_5_2__cc"))
SketchConstraintCoincidence_63 = Sketch_6.setCoincident(SketchPoint_3.coordinates(), SketchCircle_9.center())
SketchConstraintCoincidence_63.setName("SketchConstraintCoincidence_21")
SketchConstraintRadius_12 = Sketch_6.setRadius(SketchCircle_9.results()[1], "BHD/2")
Plane_4 = model.addPlane(Part_1_doc, model.selection("FACE", "PartSet/YOZ"), 30, False)
Sketch_7 = model.addSketch(Part_1_doc, model.selection("FACE", "Plane_1"))
SketchLine_41 = Sketch_7.addLine(-41, 0, -41, 8)
-SketchPoint_4 = Sketch_7.addPoint(model.selection("VERTEX", "Sketch_5/Vertex-SketchCircle_5"))
+SketchPoint_4 = Sketch_7.addPoint(model.selection("VERTEX", "Sketch_5/Edge-SketchCircle_5_2__cc"))
SketchConstraintCoincidence_64 = Sketch_7.setCoincident(SketchLine_41.startPoint(), SketchPoint_4.result())
SketchConstraintCoincidence_64.setName("SketchConstraintCoincidence_34")
SketchLine_42 = Sketch_7.addLine(-41, 8, -34, 8)
SketchLine_50 = Sketch_8.addLine(32, 0, 41, 0)
SketchLine_50.setName("SketchLine_49")
SketchLine_50.result().setName("SketchLine_49")
-SketchPoint_5 = Sketch_8.addPoint(model.selection("VERTEX", "Sketch_6/Vertex-SketchCircle_10"))
+SketchPoint_5 = Sketch_8.addPoint(model.selection("VERTEX", "Sketch_6/Edge-SketchCircle_10_2__cc"))
SketchConstraintCoincidence_78 = Sketch_8.setCoincident(SketchLine_50.endPoint(), SketchPoint_5.result())
SketchConstraintCoincidence_78.setName("SketchConstraintCoincidence_50")
SketchLine_51 = Sketch_8.addLine(41, 0, 41, 8)
SketchLine_58 = Sketch_9.addLine(-32, 0, -41, 0)
SketchLine_58.setName("SketchLine_57")
SketchLine_58.result().setName("SketchLine_57")
-SketchPoint_8 = Sketch_9.addPoint(model.selection("VERTEX", "Sketch_6/Vertex-SketchCircle_11"))
+SketchPoint_8 = Sketch_9.addPoint(model.selection("VERTEX", "Sketch_6/Edge-SketchCircle_11_2__cc"))
SketchConstraintCoincidence_95 = Sketch_9.setCoincident(SketchLine_58.endPoint(), SketchPoint_8.result())
SketchConstraintCoincidence_95.setName("SketchConstraintCoincidence_67")
SketchLine_59 = Sketch_9.addLine(-41, 0, -41, 7.999999999999999)
SketchLine_66 = Sketch_10.addLine(32, 0, 41, 0)
SketchLine_66.setName("SketchLine_65")
SketchLine_66.result().setName("SketchLine_65")
-SketchPoint_11 = Sketch_10.addPoint(model.selection("VERTEX", "Sketch_6/Vertex-SketchCircle_12"))
+SketchPoint_11 = Sketch_10.addPoint(model.selection("VERTEX", "Sketch_6/Edge-SketchCircle_12_2__cc"))
SketchConstraintCoincidence_112 = Sketch_10.setCoincident(SketchLine_66.endPoint(), SketchPoint_11.result())
SketchConstraintCoincidence_112.setName("SketchConstraintCoincidence_84")
SketchLine_67 = Sketch_10.addLine(41, 0, 41, 7.999999999999999)
RevolutionFuse_3 = model.addRevolutionFuse(Part_1_doc, [model.selection("COMPOUND", "Sketch_9")], model.selection("EDGE", "Sketch_9/Edge-SketchLine_58"), 360, 0, [model.selection("SOLID", "RevolutionFuse_2_1")])
RevolutionFuse_4 = model.addRevolutionFuse(Part_1_doc, [model.selection("COMPOUND", "Sketch_10")], model.selection("EDGE", "Sketch_10/Edge-SketchLine_66"), 360, 0, [model.selection("SOLID", "RevolutionFuse_3_1")])
ExtrusionCut_3 = model.addExtrusionCut(Part_1_doc, [model.selection("FACE", "Sketch_6/Face-SketchCircle_11_2f"), model.selection("FACE", "Sketch_6/Face-SketchCircle_9_2f"), model.selection("WIRE", "Sketch_6/Wire-SketchCircle_10_2f"), model.selection("FACE", "Sketch_6/Face-SketchCircle_12_2f")], model.selection("EDGE", "PartSet/OZ"), "BPS+5", 5, [model.selection("SOLID", "RevolutionFuse_4_1")])
+
+# Test reexecution after parameter change
+Parameter_BPS.setValue(3)
+model.do()
+model.testResultsVolumes(ExtrusionCut_3, [154096.039414040715200826525688171])
+Parameter_BPS.setValue(6)
model.end()
from GeomAPI import GeomAPI_Shape