From 9eddf4ac8cc3ba51430c59de5a35071bc5745de2 Mon Sep 17 00:00:00 2001 From: Artem Zhidkov Date: Fri, 24 Apr 2020 16:04:21 +0300 Subject: [PATCH] Issue #19019: python dump not loadable Update concealment flag each time the feature is executed when loading python file. --- src/Model/Model_Update.cpp | 8 + src/ModelAPI/CMakeLists.txt | 2 + src/ModelAPI/Test/Test19019_1.py | 53 ++++ src/ModelAPI/Test/Test19019_2.py | 464 +++++++++++++++++++++++++++++++ 4 files changed, 527 insertions(+) create mode 100644 src/ModelAPI/Test/Test19019_1.py create mode 100644 src/ModelAPI/Test/Test19019_2.py diff --git a/src/Model/Model_Update.cpp b/src/Model/Model_Update.cpp index 052468c78..40c5fe191 100644 --- a/src/Model/Model_Update.cpp +++ b/src/Model/Model_Update.cpp @@ -735,6 +735,14 @@ bool Model_Update::processFeature(FeaturePtr theFeature) } if (aDoExecute) { executeFeature(theFeature); + // Tuleap issue #19019: when loading python dump several wires are referred to the same + // sketch edge. First wire is concealed by another feature, but the flag is not initialized + // for the result. When the next wire is created, it finds wire as a referred feature + // instead of sketch edge. + // As a result, call synchronization to initialize the concealed flag. + Model_Objects* aDocObjects = + std::dynamic_pointer_cast(theFeature->document())->objects(); + aDocObjects->synchronizeBackRefs(); } else { // store information that this feature must be executed later theFeature->data()->execState(ModelAPI_StateMustBeUpdated); diff --git a/src/ModelAPI/CMakeLists.txt b/src/ModelAPI/CMakeLists.txt index 1f5de8424..412e491c3 100644 --- a/src/ModelAPI/CMakeLists.txt +++ b/src/ModelAPI/CMakeLists.txt @@ -255,4 +255,6 @@ ADD_UNIT_TESTS(TestConstants.py Test2903.py Test3020.py Test3116.py + Test19019_1.py + Test19019_2.py ) diff --git a/src/ModelAPI/Test/Test19019_1.py b/src/ModelAPI/Test/Test19019_1.py new file mode 100644 index 000000000..a04a4cb26 --- /dev/null +++ b/src/ModelAPI/Test/Test19019_1.py @@ -0,0 +1,53 @@ +# Copyright (C) 2020 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 +# + +from salome.shaper import model + +model.begin() +partSet = model.moduleDocument() +Part_1 = model.addPart(partSet) +Part_1_doc = Part_1.document() +Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY")) +SketchLine_1 = Sketch_1.addLine(-53.81455412066646, -50.08190818345371, 33.23044991620489, -41.72362634869452) +SketchArc_1 = Sketch_1.addArc(-10.71003639844217, -41.54978593924657, 33.23044991620489, -41.72362634869452, -53.81455412066646, -50.08190818345371, False) +SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchArc_1.startPoint()) +SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchArc_1.endPoint()) +model.do() +Wire_1 = model.addWire(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchLine_1")], False) +Wire_2 = model.addWire(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchArc_1_2")], False) +Face_1 = model.addFace(Part_1_doc, [model.selection("WIRE", "Wire_1_1"), model.selection("WIRE", "Wire_2_1")]) +Wire_3 = model.addWire(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchLine_1")], False) + +model.end() + +from ModelAPI import * +factory = ModelAPI_Session.get().validators() +assert(factory.validate(Wire_3.feature())) + +from GeomAPI import * + +model.testNbResults(Part_1, 1) +model.testNbSubResults(Part_1, [0]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.SOLID, [0]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.FACE, [1]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.EDGE, [3]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.VERTEX, [6]) +model.testResultsVolumes(Part_1, [3416.5596]) + +assert(model.checkPythonDump()) diff --git a/src/ModelAPI/Test/Test19019_2.py b/src/ModelAPI/Test/Test19019_2.py new file mode 100644 index 000000000..764845fd3 --- /dev/null +++ b/src/ModelAPI/Test/Test19019_2.py @@ -0,0 +1,464 @@ +# Copyright (C) 2020 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 +# + +from SketchAPI import * + +from salome.shaper import model + +model.begin() +partSet = model.moduleDocument() +model.addParameter(partSet, "r", "0.5") +model.addParameter(partSet, "R", "50") +model.addParameter(partSet, "alpha_d4", "8") +model.addParameter(partSet, "alpha_d3", "8") +model.addParameter(partSet, "alpha_d2", "8") +model.addParameter(partSet, "alpha_d1", "6") +model.addParameter(partSet, "alpha", "10") +model.addParameter(partSet, "alpha_g1", "8") +model.addParameter(partSet, "alpha_g2", "8") +model.addParameter(partSet, "H", "80") +model.addParameter(partSet, "h_left_b", "15") +model.addParameter(partSet, "h", "10") +model.addParameter(partSet, "h_right_b", "10") +model.addParameter(partSet, "h_right_t", "25") +model.addParameter(partSet, "R_rotor", "25") +Sketch_1 = model.addSketch(partSet, model.defaultPlane("XOY")) +SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "Origin"), False) +SketchProjection_1.setName("SketchProjection_2") +SketchProjection_1.result().setName("SketchProjection_2") +SketchPoint_1 = SketchProjection_1.createdFeature() +SketchCircle_1 = Sketch_1.addCircle(0, 0, 50) +SketchCircle_1.setName("SketchCircle_3") +SketchCircle_1.result().setName("SketchCircle_3") +SketchCircle_1.results()[1].setName("SketchCircle_3_2") +SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.result(), SketchCircle_1.center()) +SketchConstraintRadius_1 = Sketch_1.setRadius(SketchCircle_1.results()[1], "R") +SketchLine_1 = Sketch_1.addLine(0, 50, 0, 50.5) +SketchLine_1.setName("SketchLine_12") +SketchLine_1.result().setName("SketchLine_12") +SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchCircle_1.results()[1]) +SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_1.result()) +SketchLine_2 = Sketch_1.addLine(0, 50.5, 0, 51) +SketchLine_2.setName("SketchLine_13") +SketchLine_2.result().setName("SketchLine_13") +SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint()) +SketchConstraintVertical_2 = Sketch_1.setVertical(SketchLine_2.result()) +SketchCircle_2 = Sketch_1.addCircle(0, 0, 51) +SketchCircle_2.setName("SketchCircle_4") +SketchCircle_2.result().setName("SketchCircle_4") +SketchCircle_2.results()[1].setName("SketchCircle_4_2") +SketchConstraintRadius_2 = Sketch_1.setRadius(SketchCircle_2.results()[1], "R+2*r") +SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchCircle_2.results()[1]) +SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "OY"), False) +SketchProjection_2.setName("SketchProjection_3") +SketchProjection_2.result().setName("SketchProjection_3") +SketchLine_3 = SketchProjection_2.createdFeature() +SketchLine_3.setName("SketchLine_14") +SketchLine_3.result().setName("SketchLine_14") +SketchConstraintCoincidence_5 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchLine_3.result()) +SketchConstraintEqual_1 = Sketch_1.setEqual(SketchLine_2.result(), SketchLine_1.result()) +SketchConstraintCoincidence_6 = Sketch_1.setCoincident(SketchCircle_2.center(), SketchAPI_Line(SketchLine_3).startPoint()) +SketchCircle_3 = Sketch_1.addCircle(0, 0, 50.5) +SketchCircle_3.setName("SketchCircle_5") +SketchCircle_3.result().setName("SketchCircle_5") +SketchCircle_3.results()[1].setName("SketchCircle_5_2") +SketchConstraintCoincidence_7 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchCircle_3.results()[1]) +SketchConstraintCoincidence_8 = Sketch_1.setCoincident(SketchCircle_3.center(), SketchAPI_Line(SketchLine_3).startPoint()) +SketchMultiRotation_1 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchCircle_1.center(), "alpha", 2, True) +[SketchLine_4, SketchLine_5] = SketchMultiRotation_1.rotated() +SketchLine_5.setName("SketchLine_18") +SketchLine_5.result().setName("SketchLine_18") +SketchLine_4.setName("SketchLine_15") +SketchLine_4.result().setName("SketchLine_15") +SketchMultiRotation_2 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchCircle_2.center(), "alpha+alpha_g1", 2, True) +[SketchLine_6, SketchLine_7] = SketchMultiRotation_2.rotated() +SketchLine_7.setName("SketchLine_17") +SketchLine_7.result().setName("SketchLine_17") +SketchLine_6.setName("SketchLine_16") +SketchLine_6.result().setName("SketchLine_16") +SketchMultiRotation_3 = Sketch_1.addRotation([SketchLine_1.result(), SketchLine_2.result()], SketchCircle_3.center(), "alpha+alpha_g1+alpha_g2", 2, True) +[SketchLine_8, SketchLine_9] = SketchMultiRotation_3.rotated() +SketchLine_9.setName("SketchLine_30") +SketchLine_9.result().setName("SketchLine_30") +SketchLine_8.setName("SketchLine_20") +SketchLine_8.result().setName("SketchLine_20") +SketchMultiRotation_4 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchCircle_2.center(), "alpha", 2, True, True) +[SketchLine_10, SketchLine_11] = SketchMultiRotation_4.rotated() +SketchLine_11.setName("SketchLine_32") +SketchLine_11.result().setName("SketchLine_32") +SketchLine_10.setName("SketchLine_21") +SketchLine_10.result().setName("SketchLine_21") +SketchMultiRotation_5 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchCircle_1.center(), "alpha+alpha_d1", 2, True, True) +[SketchLine_12, SketchLine_13] = SketchMultiRotation_5.rotated() +SketchLine_13.setName("SketchLine_34") +SketchLine_13.result().setName("SketchLine_34") +SketchLine_12.setName("SketchLine_24") +SketchLine_12.result().setName("SketchLine_24") +SketchMultiRotation_6 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchAPI_Line(SketchLine_3).startPoint(), "alpha+alpha_d1+alpha_d2", 2, True, True) +[SketchLine_14, SketchLine_15] = SketchMultiRotation_6.rotated() +SketchLine_15.setName("SketchLine_36") +SketchLine_15.result().setName("SketchLine_36") +SketchLine_14.setName("SketchLine_31") +SketchLine_14.result().setName("SketchLine_31") +SketchMultiRotation_7 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchCircle_3.center(), "alpha+alpha_d1+alpha_d2+alpha_d3", 2, True, True) +[SketchLine_16, SketchLine_17] = SketchMultiRotation_7.rotated() +SketchLine_17.setName("SketchLine_38") +SketchLine_17.result().setName("SketchLine_38") +SketchLine_16.setName("SketchLine_33") +SketchLine_16.result().setName("SketchLine_33") +SketchMultiRotation_8 = Sketch_1.addRotation([SketchLine_2.result(), SketchLine_1.result()], SketchAPI_Line(SketchLine_3).startPoint(), "alpha+alpha_d1+alpha_d2+alpha_d3+alpha_d4", 2, True, True) +[SketchLine_18, SketchLine_19] = SketchMultiRotation_8.rotated() +SketchLine_19.setName("SketchLine_40") +SketchLine_19.result().setName("SketchLine_40") +SketchLine_18.setName("SketchLine_35") +SketchLine_18.result().setName("SketchLine_35") +SketchLine_20 = Sketch_1.addLine(32.13938048432696, 38.3022221559489, 32.13938048432696, 39.5987401577836) +SketchLine_20.setName("SketchLine_47") +SketchLine_20.result().setName("SketchLine_47") +SketchConstraintCoincidence_9 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_19).startPoint(), SketchLine_20.startPoint()) +SketchConstraintCoincidence_10 = Sketch_1.setCoincident(SketchLine_20.endPoint(), SketchCircle_2.results()[1]) +SketchConstraintVertical_3 = Sketch_1.setVertical(SketchLine_20.result()) +SketchLine_21 = Sketch_1.addLine(-8.856057061013447, 50.22519540362261, -8.682408883346517, 49.2403876506104) +SketchLine_21.setName("SketchLine_51") +SketchLine_21.result().setName("SketchLine_51") +SketchConstraintCoincidence_11 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_4).endPoint(), SketchLine_21.startPoint()) +SketchConstraintCoincidence_12 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_5).startPoint(), SketchLine_21.endPoint()) +SketchArc_1 = Sketch_1.addArc(-8.769232972179982, 49.7327915271165, -8.856057061013447, 50.22519540362261, -8.682408883328591, 49.24038765058431, False) +SketchArc_1.setName("SketchArc_9") +SketchArc_1.result().setName("SketchArc_9") +SketchArc_1.results()[1].setName("SketchArc_9_2") +SketchConstraintCoincidence_13 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_4).startPoint(), SketchArc_1.center()) +SketchConstraintCoincidence_14 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_4).endPoint(), SketchArc_1.startPoint()) +SketchConstraintCoincidence_15 = Sketch_1.setCoincident(SketchLine_21.result(), SketchArc_1.endPoint()) +model.do() +Sketch_1.setName("Base") +Sketch_1.result().setName("Base") +Sketch_1.changeFacesOrder([[SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1], SketchCircle_1.results()[1]], + [SketchLine_11.result(), SketchCircle_3.results()[1], SketchLine_1.result(), SketchCircle_1.results()[1]], + [SketchCircle_1.results()[1], SketchLine_8.result(), SketchCircle_3.results()[1], SketchCircle_3.results()[1], SketchLine_19.result(), SketchCircle_1.results()[1]], + [SketchLine_2.result(), SketchCircle_2.results()[1], SketchLine_4.result(), SketchCircle_3.results()[1]], + [SketchLine_1.result(), SketchCircle_3.results()[1], SketchLine_5.result(), SketchCircle_1.results()[1]], + [SketchCircle_2.results()[1], SketchCircle_2.results()[1], SketchLine_18.result(), SketchCircle_3.results()[1], SketchCircle_3.results()[1], SketchLine_9.result()], + [SketchCircle_3.results()[1], SketchArc_1.results()[1], SketchLine_5.result()], + [SketchLine_7.result(), SketchCircle_3.results()[1], SketchLine_8.result(), SketchCircle_1.results()[1]], + [SketchArc_1.results()[1], SketchCircle_3.results()[1], SketchLine_7.result(), SketchCircle_1.results()[1]], + [SketchLine_15.result(), SketchCircle_3.results()[1], SketchLine_13.result(), SketchCircle_1.results()[1]], + [SketchLine_13.result(), SketchCircle_3.results()[1], SketchLine_11.result(), SketchCircle_1.results()[1]], + [SketchLine_17.result(), SketchCircle_3.results()[1], SketchLine_15.result(), SketchCircle_1.results()[1]], + [SketchLine_4.result(), SketchArc_1.results()[1], SketchCircle_3.results()[1]], + [SketchCircle_3.results()[1], SketchLine_10.result(), SketchCircle_2.results()[1], SketchLine_2.result()], + [SketchCircle_3.results()[1], SketchLine_20.result(), SketchLine_19.result()], + [SketchCircle_2.results()[1], SketchLine_6.result(), SketchCircle_3.results()[1], SketchArc_1.results()[1]], + [SketchCircle_2.results()[1], SketchLine_9.result(), SketchCircle_3.results()[1], SketchLine_6.result()], + [SketchCircle_2.results()[1], SketchLine_10.result(), SketchCircle_3.results()[1], SketchLine_12.result()], + [SketchLine_20.result(), SketchCircle_3.results()[1], SketchLine_17.result(), SketchCircle_1.results()[1]], + [SketchCircle_2.results()[1], SketchLine_16.result(), SketchCircle_3.results()[1], SketchLine_20.result()], + [SketchCircle_2.results()[1], SketchLine_12.result(), SketchCircle_3.results()[1], SketchLine_14.result()], + [SketchCircle_2.results()[1], SketchLine_14.result(), SketchCircle_3.results()[1], SketchLine_16.result()], + [SketchCircle_2.results()[1], SketchLine_20.result(), SketchCircle_3.results()[1], SketchLine_18.result()] + ]) +model.do() +Sketch_2 = model.addSketch(partSet, model.defaultPlane("XOZ")) +SketchPoint_2 = Sketch_2.addPoint(-8.769232972179982, 0) +SketchProjection_3 = Sketch_2.addProjection(model.selection("VERTEX", "Origin"), False) +SketchProjection_3.setName("SketchProjection_4") +SketchProjection_3.result().setName("SketchProjection_4") +SketchPoint_3 = SketchProjection_3.createdFeature() +SketchConstraintDistanceHorizontal_1 = Sketch_2.setHorizontalDistance(SketchPoint_2.coordinates(), SketchAPI_Point(SketchPoint_3).coordinates(), "(R+r)*sin(pi/180*alpha)") +SketchProjection_4 = Sketch_2.addProjection(model.selection("EDGE", "OX"), False) +SketchProjection_4.setName("SketchProjection_5") +SketchProjection_4.result().setName("SketchProjection_5") +SketchLine_22 = SketchProjection_4.createdFeature() +SketchLine_22.setName("SketchLine_11") +SketchLine_22.result().setName("SketchLine_11") +SketchConstraintCoincidence_16 = Sketch_2.setCoincident(SketchPoint_2.coordinates(), SketchLine_22.result()) +SketchPoint_4 = Sketch_2.addPoint(-15.60535821593484, 0) +SketchConstraintCoincidence_17 = Sketch_2.setCoincident(SketchLine_22.result(), SketchPoint_4.coordinates()) +SketchConstraintDistanceHorizontal_2 = Sketch_2.setHorizontalDistance(SketchPoint_4.coordinates(), SketchAPI_Line(SketchLine_22).startPoint(), "(R+r)*sin(pi/180*(alpha+alpha_g1))") +SketchPoint_5 = Sketch_2.addPoint(-22.13774291284841, 0) +SketchConstraintCoincidence_18 = Sketch_2.setCoincident(SketchPoint_5.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_3 = Sketch_2.setHorizontalDistance(SketchPoint_5.coordinates(), SketchAPI_Line(SketchLine_22).startPoint(), "(R+r)*sin(pi/180*(alpha+alpha_g1+alpha_g2))") +SketchArc_2 = Sketch_2.addArc(9.891954789997728, 17.56243472757491, -8.769232972179982, 0, -15.60535821593484, 15, True) +SketchArc_2.setName("SketchArc_1") +SketchArc_2.result().setName("SketchArc_1") +SketchArc_2.results()[1].setName("SketchArc_1_2") +SketchProjection_5 = Sketch_2.addProjection(model.selection("EDGE", "OZ"), False) +SketchProjection_5.setName("SketchProjection_6") +SketchProjection_5.result().setName("SketchProjection_6") +SketchLine_23 = SketchProjection_5.createdFeature() +SketchLine_23.setName("SketchLine_19") +SketchLine_23.result().setName("SketchLine_19") +SketchLine_24 = Sketch_2.addLine(-15.60535821593484, 0, -15.60535821593484, 15) +SketchLine_24.setName("SketchLine_22") +SketchLine_24.result().setName("SketchLine_22") +SketchConstraintCoincidence_19 = Sketch_2.setCoincident(SketchPoint_4.coordinates(), SketchLine_24.startPoint()) +SketchConstraintCoincidence_20 = Sketch_2.setCoincident(SketchArc_2.endPoint(), SketchLine_24.endPoint()) +SketchConstraintVertical_4 = Sketch_2.setVertical(SketchLine_24.result()) +SketchLine_25 = Sketch_2.addLine(-15.60535821593484, 15, -22.13774291284841, 80) +SketchLine_25.setName("SketchLine_23") +SketchLine_25.result().setName("SketchLine_23") +SketchConstraintCoincidence_21 = Sketch_2.setCoincident(SketchArc_2.endPoint(), SketchLine_25.startPoint()) +SketchLine_26 = Sketch_2.addLine(-22.13774291284841, 80, -22.13774291284841, 0) +SketchLine_26.setName("SketchLine_25") +SketchLine_26.result().setName("SketchLine_25") +SketchConstraintCoincidence_22 = Sketch_2.setCoincident(SketchLine_25.endPoint(), SketchLine_26.startPoint()) +SketchConstraintCoincidence_23 = Sketch_2.setCoincident(SketchPoint_5.coordinates(), SketchLine_26.endPoint()) +SketchConstraintTangent_1 = Sketch_2.setTangent(SketchLine_25.result(), SketchArc_2.results()[1]) +SketchConstraintCoincidence_24 = Sketch_2.setCoincident(SketchArc_2.startPoint(), SketchPoint_2.coordinates()) +SketchConstraintVertical_5 = Sketch_2.setVertical(SketchLine_26.result()) +SketchConstraintLength_1 = Sketch_2.setLength(SketchLine_26.result(), "H") +SketchLine_27 = Sketch_2.addLine(-22.13774291284841, 80, 0, 80) +SketchLine_27.setName("SketchLine_26") +SketchLine_27.result().setName("SketchLine_26") +SketchConstraintCoincidence_25 = Sketch_2.setCoincident(SketchLine_27.endPoint(), SketchLine_23.result()) +SketchConstraintHorizontal_1 = Sketch_2.setHorizontal(SketchLine_27.result()) +SketchConstraintLength_2 = Sketch_2.setLength(SketchLine_24.result(), "h_left_b") +SketchLine_28 = Sketch_2.addLine(0, 90, 0, 80) +SketchLine_28.setName("SketchLine_27") +SketchLine_28.result().setName("SketchLine_27") +SketchConstraintCoincidence_26 = Sketch_2.setCoincident(SketchLine_27.endPoint(), SketchLine_28.endPoint()) +SketchLine_29 = Sketch_2.addLine(0, 80, 0, 0) +SketchLine_29.setName("SketchLine_28") +SketchLine_29.result().setName("SketchLine_28") +SketchConstraintCoincidence_27 = Sketch_2.setCoincident(SketchLine_27.endPoint(), SketchLine_29.startPoint()) +SketchConstraintCoincidence_28 = Sketch_2.setCoincident(SketchAPI_Point(SketchPoint_3).coordinates(), SketchLine_29.endPoint()) +SketchLine_30 = Sketch_2.addLine(0, 0, -8.769232972179982, 0) +SketchLine_30.setName("SketchLine_29") +SketchLine_30.result().setName("SketchLine_29") +SketchConstraintCoincidence_29 = Sketch_2.setCoincident(SketchAPI_Point(SketchPoint_3).coordinates(), SketchLine_30.startPoint()) +SketchConstraintCoincidence_30 = Sketch_2.setCoincident(SketchPoint_2.coordinates(), SketchLine_30.endPoint()) +SketchArc_3 = Sketch_2.addArc(-21.14275492577, 80.09999452769853, -22.13774291284841, 80, -21.85792509603332, 80.79894490330864, True) +SketchArc_3.setName("SketchArc_2") +SketchArc_3.result().setName("SketchArc_2") +SketchArc_3.results()[1].setName("SketchArc_2_2") +SketchConstraintCoincidence_31 = Sketch_2.setCoincident(SketchLine_25.endPoint(), SketchArc_3.startPoint()) +SketchArc_4 = Sketch_2.addArc(0, 59.43674945504897, -21.85792509603332, 80.79894490330864, 0, 90, True) +SketchArc_4.setName("SketchArc_3") +SketchArc_4.result().setName("SketchArc_3") +SketchArc_4.results()[1].setName("SketchArc_3_2") +SketchConstraintCoincidence_32 = Sketch_2.setCoincident(SketchArc_3.endPoint(), SketchArc_4.startPoint()) +SketchConstraintCoincidence_33 = Sketch_2.setCoincident(SketchArc_4.endPoint(), SketchLine_28.startPoint()) +SketchConstraintVertical_6 = Sketch_2.setVertical(SketchLine_28.result()) +SketchConstraintLength_3 = Sketch_2.setLength(SketchLine_28.result(), "h") +SketchConstraintCoincidence_34 = Sketch_2.setCoincident(SketchLine_27.startPoint(), SketchLine_26.startPoint()) +SketchConstraintTangent_2 = Sketch_2.setTangent(SketchArc_3.results()[1], SketchArc_4.results()[1]) +SketchConstraintTangent_3 = Sketch_2.setTangent(SketchArc_3.results()[1], SketchLine_25.result()) +SketchConstraintRadius_3 = Sketch_2.setRadius(SketchArc_3.results()[1], "2*r") +SketchPoint_6 = Sketch_2.addPoint(8.769232972179982, 0) +SketchConstraintCoincidence_35 = Sketch_2.setCoincident(SketchPoint_6.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_4 = Sketch_2.setHorizontalDistance(SketchPoint_6.coordinates(), SketchLine_30.startPoint(), "(R+r)*sin(pi/180*alpha)") +SketchPoint_7 = Sketch_2.addPoint(13.91968646875846, 0) +SketchConstraintCoincidence_36 = Sketch_2.setCoincident(SketchPoint_7.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_5 = Sketch_2.setHorizontalDistance(SketchLine_30.startPoint(), SketchPoint_7.coordinates(), "(R+r)*sin(pi/180*(alpha+alpha_d1))") +SketchPoint_8 = Sketch_2.addPoint(20.54020047532791, 0) +SketchConstraintCoincidence_37 = Sketch_2.setCoincident(SketchPoint_8.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_6 = Sketch_2.setHorizontalDistance(SketchPoint_8.coordinates(), SketchLine_30.startPoint(), "(R+r)*sin(pi/180*(alpha+alpha_d1+alpha_d2))") +SketchPoint_9 = Sketch_2.addPoint(26.76092284377685, 0) +SketchConstraintCoincidence_38 = Sketch_2.setCoincident(SketchPoint_9.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_7 = Sketch_2.setHorizontalDistance(SketchPoint_9.coordinates(), SketchLine_30.startPoint(), "(R+r)*sin(pi/180*(alpha+alpha_d1+alpha_d2+alpha_d3))") +SketchPoint_10 = Sketch_2.addPoint(32.46077428917023, 0) +SketchConstraintCoincidence_39 = Sketch_2.setCoincident(SketchPoint_10.coordinates(), SketchLine_22.result()) +SketchConstraintDistanceHorizontal_8 = Sketch_2.setHorizontalDistance(SketchPoint_10.coordinates(), SketchLine_30.startPoint(), "(R+r)*sin(pi/180*(alpha+alpha_d1+alpha_d2+alpha_d3+alpha_d4))") +SketchLine_31 = Sketch_2.addLine(0, 0, 8.769232972179982, 0) +SketchLine_31.setName("SketchLine_37") +SketchLine_31.result().setName("SketchLine_37") +SketchConstraintCoincidence_40 = Sketch_2.setCoincident(SketchAPI_Point(SketchPoint_3).coordinates(), SketchLine_31.startPoint()) +SketchConstraintCoincidence_41 = Sketch_2.setCoincident(SketchPoint_6.coordinates(), SketchLine_31.endPoint()) +SketchLine_32 = Sketch_2.addLine(13.91968646875846, 10, 13.91968646875846, 0) +SketchLine_32.setName("SketchLine_39") +SketchLine_32.result().setName("SketchLine_39") +SketchConstraintCoincidence_42 = Sketch_2.setCoincident(SketchPoint_7.coordinates(), SketchLine_32.endPoint()) +SketchLine_33 = Sketch_2.addLine(13.91968646875846, 10, 20.54020047532791, 55) +SketchLine_33.setName("SketchLine_41") +SketchLine_33.result().setName("SketchLine_41") +SketchLine_34 = Sketch_2.addLine(20.54020047532791, 55, 20.54020047532791, 0) +SketchLine_34.setName("SketchLine_42") +SketchLine_34.result().setName("SketchLine_42") +SketchConstraintCoincidence_43 = Sketch_2.setCoincident(SketchLine_33.endPoint(), SketchLine_34.startPoint()) +SketchConstraintCoincidence_44 = Sketch_2.setCoincident(SketchPoint_8.coordinates(), SketchLine_34.endPoint()) +SketchConstraintVertical_7 = Sketch_2.setVertical(SketchLine_34.result()) +SketchArc_5 = Sketch_2.addArc(60.54593105342065, 49.11425556365985, 20.54020047532791, 55, 26.76092284377685, 71.33302436238394, True) +SketchArc_5.setName("SketchArc_5") +SketchArc_5.result().setName("SketchArc_5") +SketchArc_5.results()[1].setName("SketchArc_5_2") +SketchConstraintCoincidence_45 = Sketch_2.setCoincident(SketchLine_33.endPoint(), SketchArc_5.startPoint()) +SketchLine_35 = Sketch_2.addLine(26.76092284377685, 0, 26.76092284377685, 71.33302436238394) +SketchLine_35.setName("SketchLine_43") +SketchLine_35.result().setName("SketchLine_43") +SketchConstraintCoincidence_46 = Sketch_2.setCoincident(SketchPoint_9.coordinates(), SketchLine_35.startPoint()) +SketchConstraintCoincidence_47 = Sketch_2.setCoincident(SketchArc_5.endPoint(), SketchLine_35.endPoint()) +SketchLine_36 = Sketch_2.addLine(26.76092284377685, 71.33302436238394, 32.46077428917023, 80) +SketchLine_36.setName("SketchLine_44") +SketchLine_36.result().setName("SketchLine_44") +SketchConstraintCoincidence_48 = Sketch_2.setCoincident(SketchArc_5.endPoint(), SketchLine_36.startPoint()) +SketchLine_37 = Sketch_2.addLine(32.46077428917023, 80, 32.46077428917023, 0) +SketchLine_37.setName("SketchLine_45") +SketchLine_37.result().setName("SketchLine_45") +SketchConstraintCoincidence_49 = Sketch_2.setCoincident(SketchLine_36.endPoint(), SketchLine_37.startPoint()) +SketchConstraintCoincidence_50 = Sketch_2.setCoincident(SketchPoint_10.coordinates(), SketchLine_37.endPoint()) +SketchConstraintVertical_8 = Sketch_2.setVertical(SketchLine_37.result()) +SketchConstraintVertical_9 = Sketch_2.setVertical(SketchLine_35.result()) +SketchConstraintVertical_10 = Sketch_2.setVertical(SketchLine_32.result()) +SketchConstraintTangent_4 = Sketch_2.setTangent(SketchArc_5.results()[1], SketchLine_33.result()) +SketchConstraintTangent_5 = Sketch_2.setTangent(SketchLine_36.result(), SketchArc_5.results()[1]) +SketchConstraintLength_4 = Sketch_2.setLength(SketchLine_37.result(), "H") +SketchArc_6 = Sketch_2.addArc(0, 25.59750892852344, 0, 90, 32.1240655903332, 81.41619098175349, True) +SketchArc_6.setName("SketchArc_6") +SketchArc_6.result().setName("SketchArc_6") +SketchArc_6.results()[1].setName("SketchArc_6_2") +SketchConstraintCoincidence_51 = Sketch_2.setCoincident(SketchLine_23.result(), SketchArc_6.center()) +SketchConstraintCoincidence_52 = Sketch_2.setCoincident(SketchArc_6.startPoint(), SketchArc_4.endPoint()) +SketchConstraintCoincidence_53 = Sketch_2.setCoincident(SketchArc_4.center(), SketchLine_23.result()) +SketchArc_7 = Sketch_2.addArc(31.62526399033484, 80.54947478608211, 32.46077428917023, 80, 32.1240655903332, 81.41619098175349, False) +SketchArc_7.setName("SketchArc_7") +SketchArc_7.result().setName("SketchArc_7") +SketchArc_7.results()[1].setName("SketchArc_7_2") +SketchConstraintCoincidence_54 = Sketch_2.setCoincident(SketchLine_36.endPoint(), SketchArc_7.startPoint()) +SketchConstraintCoincidence_55 = Sketch_2.setCoincident(SketchArc_7.endPoint(), SketchArc_6.endPoint()) +SketchConstraintTangent_6 = Sketch_2.setTangent(SketchLine_36.result(), SketchArc_7.results()[1]) +SketchConstraintTangent_7 = Sketch_2.setTangent(SketchArc_6.results()[1], SketchArc_7.results()[1]) +SketchConstraintRadius_4 = Sketch_2.setRadius(SketchArc_7.results()[1], "2*r") +SketchConstraintCoincidence_56 = Sketch_2.setCoincident(SketchLine_32.startPoint(), SketchLine_33.startPoint()) +SketchArc_8 = Sketch_2.addArc(-3.275111686817561, 12.52974226731389, 13.91968646875846, 10, 8.769232972179982, 0, True) +SketchArc_8.setName("SketchArc_8") +SketchArc_8.result().setName("SketchArc_8") +SketchArc_8.results()[1].setName("SketchArc_8_2") +SketchConstraintCoincidence_57 = Sketch_2.setCoincident(SketchArc_8.startPoint(), SketchLine_32.startPoint()) +SketchConstraintCoincidence_58 = Sketch_2.setCoincident(SketchArc_8.endPoint(), SketchLine_31.endPoint()) +SketchConstraintTangent_8 = Sketch_2.setTangent(SketchArc_8.results()[1], SketchLine_33.result()) +SketchConstraintLength_5 = Sketch_2.setLength(SketchLine_32.result(), "h_right_b") +SketchConstraintDistanceVertical_1 = Sketch_2.setVerticalDistance(SketchLine_37.startPoint(), SketchLine_34.startPoint(), "h_right_t") +SketchCircle_4 = Sketch_2.addCircle(0, -23.41154743026679, 25) +SketchCircle_4.setName("SketchCircle_6") +SketchCircle_4.result().setName("SketchCircle_6") +SketchCircle_4.results()[1].setName("SketchCircle_6_2") +SketchConstraintCoincidence_59 = Sketch_2.setCoincident(SketchLine_23.result(), SketchCircle_4.center()) +SketchConstraintRadius_5 = Sketch_2.setRadius(SketchCircle_4.results()[1], "R_rotor") +SketchConstraintCoincidence_60 = Sketch_2.setCoincident(SketchCircle_4.results()[1], SketchArc_2.startPoint()) +model.do() +Sketch_2.setName("Shape") +Sketch_2.result().setName("Shape") +Sketch_2.changeFacesOrder([[SketchLine_27.result(), SketchLine_28.result(), SketchArc_4.results()[1], SketchArc_3.results()[1]], + [SketchArc_2.results()[1], SketchCircle_4.results()[1], SketchLine_29.result(), SketchLine_27.result(), SketchLine_25.result()], + [SketchCircle_4.results()[1], SketchLine_30.result(), SketchLine_29.result()], + [SketchLine_30.result(), SketchCircle_4.results()[1], SketchCircle_4.results()[1], SketchLine_31.result()], + [SketchLine_28.result(), SketchLine_29.result(), SketchCircle_4.results()[1], SketchArc_8.results()[1], SketchLine_33.result(), SketchArc_5.results()[1], SketchLine_36.result(), SketchArc_7.results()[1], SketchArc_6.results()[1]], + [SketchLine_29.result(), SketchLine_31.result(), SketchCircle_4.results()[1]] + ]) +model.do() +Part_1 = model.addPart(partSet) +Part_1.setName("Blade") +Part_1.result().setName("Blade") +Part_1_doc = Part_1.document() +Wire_1 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_1_2")], False) +Wire_2 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_23")], False) +Wire_3 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_2_2")], False) +Wire_4 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_3_2")], False) +Wire_5 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_6_2")], False) +Wire_6 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_7_2")], False) +Wire_7 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_44")], False) +Wire_8 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_5_2")], False) +Wire_9 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_41")], False) +Wire_10 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_8_2")], False) +Wire_11 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_29")], False) +Wire_12 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_37")], False) +Face_1_objects = [model.selection("WIRE", "Wire_1_1"), model.selection("WIRE", "Wire_2_1"), model.selection("WIRE", "Wire_3_1"), model.selection("WIRE", "Wire_4_1"), model.selection("WIRE", "Wire_5_1"), model.selection("WIRE", "Wire_6_1"), model.selection("WIRE", "Wire_7_1"), model.selection("WIRE", "Wire_8_1"), model.selection("WIRE", "Wire_9_1"), model.selection("WIRE", "Wire_10_1"), model.selection("WIRE", "Wire_11_1"), model.selection("WIRE", "Wire_12_1")] +Face_1 = model.addFace(Part_1_doc, Face_1_objects) +Wire_13 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Base/SketchCircle_5_2")], False) +Pipe_1 = model.addPipe(Part_1_doc, [model.selection("WIRE", "Wire_13_1")], model.selection("EDGE", "PartSet/OZ")) +Pipe_2 = model.addPipe(Part_1_doc, [model.selection("FACE", "Face_1_1")], model.selection("EDGE", "PartSet/OY")) +Common_1 = model.addCommon(Part_1_doc, [model.selection("FACE", "Pipe_1_1"), model.selection("SOLID", "Pipe_2_1")]) +Scale_1 = model.addScale(Part_1_doc, [model.selection("FACE", "Common_1_1")] , model.selection("VERTEX", "PartSet/Origin"), "(R+2*r)/(R+r)" , "(R+2*r)/(R+r)", 1) +Wire_14 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_1_2")], False) +Wire_15 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_23")], False) +Wire_16 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_2_2")], False) +Wire_17 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_3_2")], False) +Wire_18 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_6_2")], False) +Wire_19 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_7_2")], False) +Wire_20 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_44")], False) +Wire_21 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_5_2")], False) +Wire_22 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_41")], False) +Wire_23 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_8_2")], False) +Wire_24 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_37")], False) +Wire_25 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_29")], False) +Face_2_objects = [model.selection("WIRE", "Wire_25_1"), model.selection("WIRE", "Wire_24_1"), model.selection("WIRE", "Wire_23_1"), model.selection("WIRE", "Wire_21_1"), model.selection("WIRE", "Wire_22_1"), model.selection("WIRE", "Wire_20_1"), model.selection("WIRE", "Wire_18_1"), model.selection("WIRE", "Wire_19_1"), model.selection("WIRE", "Wire_17_1"), model.selection("WIRE", "Wire_16_1"), model.selection("WIRE", "Wire_15_1"), model.selection("WIRE", "Wire_14_1")] +Face_2 = model.addFace(Part_1_doc, Face_2_objects) +Wire_26 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Base/SketchCircle_5_2")], False) +Pipe_3 = model.addPipe(Part_1_doc, [model.selection("WIRE", "Wire_26_1")], model.selection("EDGE", "PartSet/OZ")) +Pipe_4 = model.addPipe(Part_1_doc, [model.selection("FACE", "Face_2_1")], model.selection("EDGE", "PartSet/OY")) +Common_2 = model.addCommon(Part_1_doc, [model.selection("FACE", "Pipe_3_1"), model.selection("SOLID", "Pipe_4_1")]) +Scale_2 = model.addScale(Part_1_doc, [model.selection("FACE", "Common_2_1")] , model.selection("VERTEX", "PartSet/Origin"), "R/(R+r)" , "R/(R+r)", 1) +Wire_27 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_1_2")], False) +Wire_28 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_23")], False) +Wire_29 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_2_2")], False) +Wire_30 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_3_2")], False) +Wire_31 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_6_2")], False) +Wire_32 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_7_2")], False) +Wire_33 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_44")], False) +Wire_34 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_5_2")], False) +Wire_35 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_41")], False) +Wire_36 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchArc_8_2")], False) +Wire_37 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_37")], False) +Wire_38 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Shape/SketchLine_29")], False) +Face_3_objects = [model.selection("WIRE", "Wire_27_1"), model.selection("WIRE", "Wire_28_1"), model.selection("WIRE", "Wire_29_1"), model.selection("WIRE", "Wire_30_1"), model.selection("WIRE", "Wire_31_1"), model.selection("WIRE", "Wire_32_1"), model.selection("WIRE", "Wire_33_1"), model.selection("WIRE", "Wire_34_1"), model.selection("WIRE", "Wire_35_1"), model.selection("WIRE", "Wire_36_1"), model.selection("WIRE", "Wire_37_1"), model.selection("WIRE", "Wire_38_1")] +Face_3 = model.addFace(Part_1_doc, Face_3_objects) +Wire_39 = model.addWire(Part_1_doc, [model.selection("EDGE", "PartSet/Base/SketchCircle_5_2")], False) +Pipe_5 = model.addPipe(Part_1_doc, [model.selection("WIRE", "Wire_39_1")], model.selection("EDGE", "PartSet/OZ")) +Pipe_6 = model.addPipe(Part_1_doc, [model.selection("FACE", "Face_3_1")], model.selection("EDGE", "PartSet/OY")) +Common_3 = model.addCommon(Part_1_doc, [model.selection("FACE", "Pipe_5_1"), model.selection("SOLID", "Pipe_6_1")]) +Filling_1 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_41&Wire_26_1/Wire_26_1"), model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_41&Wire_13_1/Wire_13_1")]) +Filling_2 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_7_2&Wire_26_1/Wire_26_1"), model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_7_2&Wire_13_1/Wire_13_1")]) +Filling_3 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_26_1/Wire_26_1"), model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_13_1/Wire_13_1")]) +Filling_4 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_5_2&Wire_26_1/Wire_26_1"), model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_5_2&Wire_13_1/Wire_13_1")]) +Filling_5 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_44&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_44&Wire_26_1/Wire_26_1")]) +Filling_6 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_6_2&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_6_2&Wire_26_1/Wire_26_1")]) +Filling_7 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_3_2&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_3_2&Wire_26_1/Wire_26_1")]) +Filling_8 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_2_2&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_2_2&Wire_26_1/Wire_26_1")]) +Filling_9 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_23&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_23&Wire_26_1/Wire_26_1")]) +Filling_10 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_13_1/Wire_13_1"), model.selection("EDGE", "Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_26_1/Wire_26_1")]) +Filling_11 = model.addFilling(Part_1_doc, [model.selection("EDGE", "(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_26_1/Wire_26_1)(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_41&Wire_26_1/Wire_26_1)2(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_26_1/Wire_26_1)2"), model.selection("EDGE", "(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_13_1/Wire_13_1)(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_41&Wire_13_1/Wire_13_1)2(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_13_1/Wire_13_1)2")]) +Filling_12 = model.addFilling(Part_1_doc, [model.selection("EDGE", "(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_26_1/Wire_26_1)(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_26_1/Wire_26_1)2(Scale_2_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_23&Wire_26_1/Wire_26_1)2"), model.selection("EDGE", "(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_1_2&Wire_13_1/Wire_13_1)(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchArc_8_2&Wire_13_1/Wire_13_1)2(Scale_1_1/ME:Scaled&PartSet/OY/OY&PartSet/Shape/SketchLine_23&Wire_13_1/Wire_13_1)2")]) +Shell_1_objects = [model.selection("FACE", "Scale_1_1"), model.selection("FACE", "Scale_2_1"), model.selection("FACE", "Filling_1_1"), model.selection("FACE", "Filling_2_1"), model.selection("FACE", "Filling_3_1"), model.selection("FACE", "Filling_4_1"), model.selection("FACE", "Filling_5_1"), model.selection("FACE", "Filling_6_1"), model.selection("FACE", "Filling_7_1"), model.selection("FACE", "Filling_8_1"), model.selection("FACE", "Filling_9_1"), model.selection("FACE", "Filling_10_1"), model.selection("FACE", "Filling_11_1"), model.selection("FACE", "Filling_12_1")] +Shell_1 = model.addShell(Part_1_doc, Shell_1_objects) +Solid_1 = model.addSolid(Part_1_doc, [model.selection("SHELL", "Shell_1_1")]) +Fillet_1 = model.addFillet(Part_1_doc, [model.selection("FACE", "Shell_1_1/Modified_Face&Wire_26_1/Wire_26_1")], "r/2") +Fillet_1.result().setDeflection(1e-05) +Fillet_2 = model.addFillet(Part_1_doc, [model.selection("FACE", "Shell_1_1/Modified_Face&Wire_13_1/Wire_13_1")], "r/2") +Fillet_2.result().setDeflection(1e-05) +Folder_1 = model.addFolder(Part_1_doc, Wire_1, Scale_1) +Folder_1.setName("EXT") +Folder_2 = model.addFolder(Part_1_doc, Wire_14, Scale_2) +Folder_2.setName("Int") +Folder_3 = model.addFolder(Part_1_doc, Wire_27, Fillet_2) +Folder_3.setName("INT") +model.do() + +model.end() + +from GeomAPI import * + +model.testNbResults(Part_1, 1) +model.testNbSubResults(Part_1, [0]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.SOLID, [1]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.FACE, [39]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.EDGE, [180]) +model.testNbSubShapes(Part_1, GeomAPI_Shape.VERTEX, [360]) +model.testResultsVolumes(Part_1, [3435.010412]) + +assert(model.checkPythonDump()) -- 2.39.2