Salome HOME
Copyright update 2022
[modules/shaper.git] / src / FeaturesPlugin / Test / TestFillet1D_Vertices_2.py
1 # Copyright (C) 2020-2022  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 from salome.shaper import model
21 from GeomAPI import *
22
23 model.begin()
24 partSet = model.moduleDocument()
25
26 ### Create Part
27 Part_1 = model.addPart(partSet)
28 Part_1_doc = Part_1.document()
29
30 ### Create Box
31 Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
32
33 ### Create Wire
34 Wire_1_objects = [model.selection("EDGE", "[Box_1_1/Left][Box_1_1/Bottom]"), model.selection("EDGE", "[Box_1_1/Front][Box_1_1/Left]"), model.selection("EDGE", "[Box_1_1/Front][Box_1_1/Top]"), model.selection("EDGE", "[Box_1_1/Front][Box_1_1/Right]"), model.selection("EDGE", "[Box_1_1/Right][Box_1_1/Bottom]"), model.selection("EDGE", "[Box_1_1/Back][Box_1_1/Right]"), model.selection("EDGE", "[Box_1_1/Back][Box_1_1/Top]"), model.selection("EDGE", "[Box_1_1/Back][Box_1_1/Left]")]
35 Wire_1 = model.addWire(Part_1_doc, Wire_1_objects, False)
36
37 ### Create Fillet1D
38 Fillet1D_1 = model.addFillet(Part_1_doc, [model.selection("VERTEX", "[Wire_1_1/Edge_4]e[Wire_1_1/Edge_6]e")], 2)
39
40 model.testNbResults(Fillet1D_1, 1)
41 model.testNbSubResults(Fillet1D_1, [0])
42 model.testNbSubShapes(Fillet1D_1, GeomAPI_Shape.SOLID, [0])
43 model.testNbSubShapes(Fillet1D_1, GeomAPI_Shape.FACE, [0])
44 model.testNbSubShapes(Fillet1D_1, GeomAPI_Shape.EDGE, [9])
45 model.testNbSubShapes(Fillet1D_1, GeomAPI_Shape.VERTEX, [18])
46 model.testResultsVolumes(Fillet1D_1, [0])
47
48 ### Create Fillet1D
49 Fillet1D_2 = model.addFillet(Part_1_doc, [model.selection("VERTEX", "[Fillet1D_1_1/ME:Fillet1D&Wire_1_1/Edge_1]e[Fillet1D_1_1/ME:Fillet1D&Wire_1_1/Edge_3]e")], 1)
50
51 model.testNbResults(Fillet1D_2, 1)
52 model.testNbSubResults(Fillet1D_2, [0])
53 model.testNbSubShapes(Fillet1D_2, GeomAPI_Shape.SOLID, [0])
54 model.testNbSubShapes(Fillet1D_2, GeomAPI_Shape.FACE, [0])
55 model.testNbSubShapes(Fillet1D_2, GeomAPI_Shape.EDGE, [10])
56 model.testNbSubShapes(Fillet1D_2, GeomAPI_Shape.VERTEX, [20])
57 model.testResultsVolumes(Fillet1D_2, [0])
58
59 ### Create Fillet1D
60 Fillet1D_3 = model.addFillet(Part_1_doc, [model.selection("VERTEX", "[Fillet1D_2_1/ME:Fillet1D&Wire_1_1/Edge_2]e[Fillet1D_2_1/ME:Fillet1D&Wire_1_1/Edge_4]e")], 5)
61
62 model.testHaveNamingByType(Fillet1D_3, model, Part_1_doc, GeomAPI_Shape.VERTEX)
63 model.testHaveNamingByType(Fillet1D_3, model, Part_1_doc, GeomAPI_Shape.EDGE)
64 model.end()
65
66 model.testNbResults(Fillet1D_3, 1)
67 model.testNbSubResults(Fillet1D_3, [0])
68 model.testNbSubShapes(Fillet1D_3, GeomAPI_Shape.SOLID, [0])
69 model.testNbSubShapes(Fillet1D_3, GeomAPI_Shape.FACE, [0])
70 model.testNbSubShapes(Fillet1D_3, GeomAPI_Shape.EDGE, [11])
71 model.testNbSubShapes(Fillet1D_3, GeomAPI_Shape.VERTEX, [22])
72 model.testResultsVolumes(Fillet1D_3, [0])
73
74 assert(model.checkPythonDump(model.ModelHighAPI.CHECK_NAMING))