X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=test.models%2Fgear.py;h=4c042e49a6bb4dc032d372cc78613b283f00ddac;hb=f38016c371e0f1fe21b68a2469f82318e278bd93;hp=c08ffd7030bff0a6d1da9464f276c761a9380604;hpb=592a6685f7432a407593c781eda3e0712b418783;p=modules%2Fshaper.git diff --git a/test.models/gear.py b/test.models/gear.py index c08ffd703..4c042e49a 100644 --- a/test.models/gear.py +++ b/test.models/gear.py @@ -1,9 +1,30 @@ +## 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 +## + from SketchAPI import * from salome.shaper import model model.begin() partSet = model.moduleDocument() +Parameter_R = model.addParameter(partSet, "R", "15.5") Sketch_1 = model.addSketch(partSet, model.defaultPlane("XOY")) SketchLine_1 = Sketch_1.addLine(0, 0, 30, 0) SketchPoint_1 = Sketch_1.addPoint(model.selection("VERTEX", "Origin")) @@ -29,13 +50,14 @@ SketchConstraintVertical_3 = Sketch_1.setVertical(SketchLine_8.result()) SketchConstraintHorizontal_2 = Sketch_1.setHorizontal(SketchLine_6.result()) SketchConstraintDistance_1 = Sketch_1.setDistance(SketchLine_1.endPoint(), SketchLine_8.result(), 30) SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_3.result(), 37.5) -SketchConstraintLength_2 = Sketch_1.setLength(SketchLine_8.result(), 15.5) +SketchConstraintLength_2 = Sketch_1.setLength(SketchLine_8.result(), "R") SketchConstraintCoincidence_9 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchPoint_1.coordinates()) SketchConstraintLength_3 = Sketch_1.setLength(SketchLine_4.result(), 13) SketchConstraintCoincidence_10 = Sketch_1.setCoincident(SketchLine_8.endPoint(), SketchLine_1.startPoint()) model.do() Part_1 = model.addPart(partSet) Part_1_doc = Part_1.document() +model.addParameter(Part_1_doc, "R_fillet", "0.5") Sketch_2 = model.addSketch(Part_1_doc, model.defaultPlane("YOZ")) SketchPoint_2 = Sketch_2.addPoint(model.selection("VERTEX", "PartSet/Origin")) SketchLine_9 = Sketch_2.addLine(0, 0, 0, 45.59203984275747) @@ -43,22 +65,21 @@ SketchLine_9.setAuxiliary(True) SketchConstraintCoincidence_11 = Sketch_2.setCoincident(SketchPoint_2.coordinates(), SketchLine_9.startPoint()) SketchConstraintVertical_4 = Sketch_2.setVertical(SketchLine_9.result()) SketchLine_10 = Sketch_2.addLine(-2.5, 37.41657386773942, -0.9611800001338426, 34.11656372860793) -SketchArc_1 = Sketch_2.addArc(0, 34.39248583236681, -0.9611800001338426, 34.11656372860793, 0.9611800001338454, 34.11656372860793, False) +SketchArc_1 = Sketch_2.addArc(0, 34.39248583236681, -0.9611800001338426, 34.11656372860793, 0, 33.39248583236681, False) SketchConstraintCoincidence_12 = Sketch_2.setCoincident(SketchLine_10.endPoint(), SketchArc_1.startPoint()) SketchConstraintCoincidence_13 = Sketch_2.setCoincident(SketchArc_1.center(), SketchLine_9.result()) -SketchConstraintMirror_1 = Sketch_2.addMirror(SketchLine_9.result(), [SketchLine_10.result()]) -[SketchLine_11] = SketchConstraintMirror_1.mirrored() -SketchConstraintAngle_1 = Sketch_2.setAngleBackward(SketchLine_10.result(), SketchLine_9.result(), 204.9999999999999) +SketchConstraintAngle_1 = Sketch_2.setAngleBackward(SketchLine_10.result(), SketchLine_9.result(), 205) SketchConstraintRadius_1 = Sketch_2.setRadius(SketchArc_1.results()[1], 1) SketchConstraintDistance_2 = Sketch_2.setDistance(SketchLine_10.startPoint(), SketchLine_9.result(), 2.5) -SketchConstraintCoincidence_14 = Sketch_2.setCoincident(SketchArc_1.endPoint(), SketchAPI_Line(SketchLine_11).endPoint()) -SketchArc_2 = Sketch_2.addArc(0, 0, -2.5, 37.41657386773942, 2.5, 37.41657386773942, True) +SketchConstraintCoincidence_14 = Sketch_2.setCoincident(SketchArc_1.endPoint(), SketchLine_9.result()) +SketchArc_2 = Sketch_2.addArc(0, 0, -2.5, 37.41657386773942, 0, 37.5, True) SketchConstraintCoincidence_15 = Sketch_2.setCoincident(SketchArc_2.center(), SketchPoint_2.result()) SketchConstraintCoincidence_16 = Sketch_2.setCoincident(SketchLine_10.startPoint(), SketchArc_2.startPoint()) -SketchConstraintCoincidence_17 = Sketch_2.setCoincident(SketchAPI_Line(SketchLine_11).startPoint(), SketchArc_2.endPoint()) -SketchMultiRotation_1_objects = [SketchArc_1.results()[1], SketchLine_10.result(), SketchArc_2.results()[1], SketchLine_11.result()] +SketchConstraintCoincidence_17 = Sketch_2.setCoincident(SketchLine_9.result(), SketchArc_2.endPoint()) +SketchConstraintMirror_1 = Sketch_2.addMirror(SketchLine_9.result(), [SketchLine_10.result(), SketchArc_1.results()[1], SketchArc_2.results()[1]]) +[SketchLine_11, SketchArc_3, SketchArc_4] = SketchConstraintMirror_1.mirrored() +SketchMultiRotation_1_objects = [SketchArc_1.results()[1], SketchLine_10.result(), SketchArc_2.results()[1], SketchArc_3.results()[1], SketchLine_11.result(), SketchArc_4.results()[1]] SketchMultiRotation_1 = Sketch_2.addRotation(SketchMultiRotation_1_objects, SketchArc_2.center(), 12, 30) -[SketchArc_3, SketchArc_4, SketchArc_5, SketchArc_6, SketchArc_7, SketchArc_8, SketchArc_9, SketchArc_10, SketchArc_11, SketchArc_12, SketchArc_13, SketchArc_14, SketchArc_15, SketchArc_16, SketchArc_17, SketchArc_18, SketchArc_19, SketchArc_20, SketchArc_21, SketchArc_22, SketchArc_23, SketchArc_24, SketchArc_25, SketchArc_26, SketchArc_27, SketchArc_28, SketchArc_29, SketchArc_30, SketchArc_31, SketchLine_12, SketchLine_13, SketchLine_14, SketchLine_15, SketchLine_16, SketchLine_17, SketchLine_18, SketchLine_19, SketchLine_20, SketchLine_21, SketchLine_22, SketchLine_23, SketchLine_24, SketchLine_25, SketchLine_26, SketchLine_27, SketchLine_28, SketchLine_29, SketchLine_30, SketchLine_31, SketchLine_32, SketchLine_33, SketchLine_34, SketchLine_35, SketchLine_36, SketchLine_37, SketchLine_38, SketchLine_39, SketchLine_40, SketchArc_32, SketchArc_33, SketchArc_34, SketchArc_35, SketchArc_36, SketchArc_37, SketchArc_38, SketchArc_39, SketchArc_40, SketchArc_41, SketchArc_42, SketchArc_43, SketchArc_44, SketchArc_45, SketchArc_46, SketchArc_47, SketchArc_48, SketchArc_49, SketchArc_50, SketchArc_51, SketchArc_52, SketchArc_53, SketchArc_54, SketchArc_55, SketchArc_56, SketchArc_57, SketchArc_58, SketchArc_59, SketchArc_60, SketchLine_11, SketchLine_41, SketchLine_42, SketchLine_43, SketchLine_44, SketchLine_45, SketchLine_46, SketchLine_47, SketchLine_48, SketchLine_49, SketchLine_50, SketchLine_51, SketchLine_52, SketchLine_53, SketchLine_54, SketchLine_55, SketchLine_56, SketchLine_57, SketchLine_58, SketchLine_59, SketchLine_60, SketchLine_61, SketchLine_62, SketchLine_63, SketchLine_64, SketchLine_65, SketchLine_66, SketchLine_67, SketchLine_68, SketchLine_69] = SketchMultiRotation_1.rotated() SketchConstraintRadius_2 = Sketch_2.setRadius(SketchArc_2.results()[1], 37.5) model.do() Sketch_3 = model.addSketch(Part_1_doc, model.defaultPlane("XOY")) @@ -108,36 +129,42 @@ SketchLine_79 = Sketch_3.addLine(0, 0, 0, 15) SketchLine_79.setAuxiliary(True) SketchConstraintCoincidence_36 = Sketch_3.setCoincident(SketchLine_79.startPoint(), SketchPoint_3.result()) SketchConstraintVertical_7 = Sketch_3.setVertical(SketchLine_79.result()) -SketchConstraintLength_8 = Sketch_3.setLength(SketchLine_79.result(), 15) +SketchConstraintLength_8 = Sketch_3.setLength(SketchLine_79.result(), "R-R_fillet") SketchLine_80 = Sketch_3.addLine(0, 15, 0.5, 15) SketchLine_80.setAuxiliary(True) SketchConstraintCoincidence_37 = Sketch_3.setCoincident(SketchLine_79.endPoint(), SketchLine_80.startPoint()) SketchConstraintHorizontal_5 = Sketch_3.setHorizontal(SketchLine_80.result()) -SketchArc_61 = Sketch_3.addArc(0.5, 15, 0, 15, 0.4999999999999999, 15.5, True) +SketchArc_61 = Sketch_3.addArc(0.5, 15, 0, 15, 0.5, 15.5, True) SketchConstraintCoincidence_38 = Sketch_3.setCoincident(SketchLine_80.endPoint(), SketchArc_61.center()) SketchConstraintCoincidence_39 = Sketch_3.setCoincident(SketchLine_79.endPoint(), SketchArc_61.startPoint()) SketchConstraintCoincidence_40 = Sketch_3.setCoincident(SketchLine_80.startPoint(), SketchArc_61.startPoint()) -SketchLine_81 = Sketch_3.addLine(0.5, 15, 0.5, 15.66051714754979) +SketchLine_81 = Sketch_3.addLine(0.5, 15, 0.5, 16) SketchLine_81.setAuxiliary(True) SketchConstraintCoincidence_41 = Sketch_3.setCoincident(SketchLine_80.endPoint(), SketchLine_81.startPoint()) SketchConstraintCoincidence_42 = Sketch_3.setCoincident(SketchArc_61.center(), SketchLine_81.startPoint()) SketchConstraintVertical_8 = Sketch_3.setVertical(SketchLine_81.result()) SketchConstraintCoincidence_43 = Sketch_3.setCoincident(SketchArc_61.endPoint(), SketchLine_81.result()) -SketchConstraintRadius_3 = Sketch_3.setRadius(SketchArc_61.results()[1], 0.5) -SketchLine_82 = Sketch_3.addLine(0.4999999999999999, 15.5, 0.4988301186899768, 15.74914940994379) +SketchConstraintRadius_3 = Sketch_3.setRadius(SketchArc_61.results()[1], "R_fillet") +SketchLine_82 = Sketch_3.addLine(0.5, 15.5, 0.5, 16) SketchConstraintCoincidence_44 = Sketch_3.setCoincident(SketchArc_61.endPoint(), SketchLine_82.startPoint()) -SketchLine_83 = Sketch_3.addLine(0.4988301186899768, 15.74914940994379, -0.3081878496471824, 15.75231418629021) +SketchLine_83 = Sketch_3.addLine(0.5, 16, -0.5, 16) SketchConstraintCoincidence_45 = Sketch_3.setCoincident(SketchLine_82.endPoint(), SketchLine_83.startPoint()) -SketchLine_84 = Sketch_3.addLine(-0.3081878496471824, 15.75231418629021, -0.3081878496471824, 14.99276786314936) +SketchLine_84 = Sketch_3.addLine(-0.5, 16, -0.5, 15) SketchConstraintCoincidence_46 = Sketch_3.setCoincident(SketchLine_83.endPoint(), SketchLine_84.startPoint()) -SketchLine_85 = Sketch_3.addLine(-0.3081878496471824, 14.99276786314936, 0, 15) +SketchLine_85 = Sketch_3.addLine(-0.5, 15, 0, 15) SketchConstraintCoincidence_47 = Sketch_3.setCoincident(SketchLine_84.endPoint(), SketchLine_85.startPoint()) SketchConstraintCoincidence_48 = Sketch_3.setCoincident(SketchLine_79.endPoint(), SketchLine_85.endPoint()) SketchConstraintCoincidence_49 = Sketch_3.setCoincident(SketchLine_80.startPoint(), SketchLine_85.endPoint()) SketchConstraintCoincidence_50 = Sketch_3.setCoincident(SketchArc_61.startPoint(), SketchLine_85.endPoint()) +SketchConstraintCoincidence_51 = Sketch_3.setCoincident(SketchLine_81.endPoint(), SketchLine_83.startPoint()) +SketchConstraintCoincidence_52 = Sketch_3.setCoincident(SketchLine_85.startPoint(), SketchLine_80.result()) +SketchConstraintVertical_9 = Sketch_3.setVertical(SketchLine_84.result()) +SketchConstraintHorizontal_6 = Sketch_3.setHorizontal(SketchLine_83.result()) +SketchConstraintLength_9 = Sketch_3.setLength(SketchLine_84.result(), "2*R_fillet") +SketchConstraintLength_10 = Sketch_3.setLength(SketchLine_83.result(), "2*R_fillet") model.do() Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("FACE", "PartSet/Sketch_1")], model.selection("EDGE", "PartSet/Sketch_1/Edge-SketchLine_1"), 360, 0) -Sketch_4 = model.addSketch(Part_1_doc, model.selection("FACE", "Revolution_1_1/Generated_Face_5")) +Sketch_4 = model.addSketch(Part_1_doc, model.selection("FACE", "Revolution_1_1/Generated_Face_1")) SketchPoint_4 = Sketch_4.addPoint(model.selection("VERTEX", "PartSet/Origin")) SketchLine_86 = Sketch_4.addLine(0, -13.49999999999519, 3.1, -13.49999999999519) SketchLine_87 = Sketch_4.addLine(model.selection("EDGE", "PartSet/OZ")) @@ -169,19 +196,26 @@ SketchConstraintCoincidence_61 = Sketch_4.setCoincident(SketchPoint_6.coordinate SketchConstraintCoincidence_62 = Sketch_4.setCoincident(SketchPoint_6.coordinates(), SketchLine_89.result()) SketchConstraintDistance_6 = Sketch_4.setDistance(SketchPoint_6.coordinates(), SketchLine_86.result(), 24.5) model.do() -ExtrusionCut_1 = model.addExtrusionCut(Part_1_doc, [model.selection("COMPOUND", "Sketch_1")], model.selection(), model.selection("FACE", "Revolution_1_1/Generated_Face_1"), 0, model.selection(), 0, [model.selection("SOLID", "Revolution_1_1")]) +ExtrusionCut_1 = model.addExtrusionCut(Part_1_doc, [model.selection("COMPOUND", "Sketch_1")], model.selection(), model.selection("FACE", "Revolution_1_1/Generated_Face_5"), 0, model.selection(), 0, [model.selection("SOLID", "Revolution_1_1")]) RevolutionCut_1 = model.addRevolutionCut(Part_1_doc, [model.selection("COMPOUND", "Sketch_2")], model.selection("EDGE", "PartSet/OX"), 0, 360, [model.selection("SOLID", "ExtrusionCut_1_1")]) +ExtrusionCut_2 = model.addExtrusionCut(Part_1_doc, [model.selection("COMPOUND", "Sketch_3")], model.selection(), 0, 5, [model.selection("SOLID", "RevolutionCut_1_1")]) +model.do() + +# Test reexecution after parameter change +Parameter_R.setValue(16) model.do() +model.testResultsVolumes(ExtrusionCut_2, [64060.674439985647040884941816330]) +Parameter_R.setValue(15) model.end() from GeomAPI import GeomAPI_Shape -model.testNbResults(RevolutionCut_1, 1) -model.testNbSubResults(RevolutionCut_1, [0]) -model.testNbSubShapes(RevolutionCut_1, GeomAPI_Shape.SOLID, [1]) -model.testNbSubShapes(RevolutionCut_1, GeomAPI_Shape.FACE, [188]) -model.testNbSubShapes(RevolutionCut_1, GeomAPI_Shape.EDGE, [1104]) -model.testNbSubShapes(RevolutionCut_1, GeomAPI_Shape.VERTEX, [2208]) -model.testResultsVolumes(RevolutionCut_1, [65202.414301669727137777954339981]) +model.testNbResults(ExtrusionCut_2, 1) +model.testNbSubResults(ExtrusionCut_2, [0]) +model.testNbSubShapes(ExtrusionCut_2, GeomAPI_Shape.SOLID, [1]) +model.testNbSubShapes(ExtrusionCut_2, GeomAPI_Shape.FACE, [224]) +model.testNbSubShapes(ExtrusionCut_2, GeomAPI_Shape.EDGE, [1314]) +model.testNbSubShapes(ExtrusionCut_2, GeomAPI_Shape.VERTEX, [2628]) +model.testResultsVolumes(ExtrusionCut_2, [62405.392187037912663072347640991]) assert(model.checkPythonDump())