<style type="text/css">\r
<!--\r
div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
-->\r
</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
<script type="text/javascript" language="javascript" src="whver.js"></script>\r
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
+<script type="text/javascript" language="javascript1.2">\r
<!--\r
if (window.gbWhTopic)\r
{\r
- if (window.addTocInfo)\r
+ if (window.setRelStartPage)\r
{\r
- addTocInfo("GEOM module\nTUI Scripts\nTransformation\nRepairing Operations");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
+ addTocInfo("Geometry module\nTUI Scripts\nTransformation\nRepairing Operations");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
\r
}\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
\r
if (window.setRelStartPage)\r
{\r
- setRelStartPage("geom.htm");\r
+ setRelStartPage("index.htm");\r
\r
autoSync(1);\r
sendSyncInfo();\r
sendAveInfoOut();\r
}\r
+\r
}\r
else\r
if (window.gbIE4)\r
document.location.reload();\r
//-->\r
</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+ writeIntopicBar(4);\r
+//-->\r
+</script>\r
<h1>Repairing Operations</h1>\r
\r
<h3><a name=bookmark>Shape Processing</a></h3>\r
\r
<p> </p>\r
\r
-<p># create vertices, edge, arc, wire, face and prism</p>\r
+<p># create vertices, an edge, an arc, a wire, a face and a prism</p>\r
\r
<p class="whs1">p1 = geompy.MakeVertex(0,0,0)</p>\r
\r
\r
<p> </p>\r
\r
-<p># check shape at the beginning</p>\r
+<p># check the shape at the beginning</p>\r
\r
<p class="whs1">print "Before \r
ProcessShape:"</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p># process Shape</p>\r
+<p># process the Shape</p>\r
\r
<p class="whs1">Operators = ["FixShape"]</p>\r
\r
\r
<p> </p>\r
\r
-<p># check shape at the end</p>\r
+<p># check the shape at the end</p>\r
\r
<p class="whs1">print "After \r
ProcessShape:"</p>\r
\r
<p> </p>\r
\r
-<p># add in study and display</p>\r
+<p># add in the study and display</p>\r
\r
<p class="whs1">Id_Shape = geompy.addToStudy(theShape, \r
"Invalid Shape")</p>\r
\r
<p> </p>\r
\r
-<p># create box</p>\r
+<p># create a box</p>\r
\r
<p class="whs1">box = geompy.MakeBoxDXDYDZ(200, \r
200, 200)</p>\r
\r
<p> </p>\r
\r
-<p># IDList for suppress faces</p>\r
+<p># The list of IDs (IDList) for suppress faces</p>\r
\r
<p class="whs1">sup_faces = []</p>\r
\r
\r
<p> </p>\r
\r
-<p># get sub-shape indexes</p>\r
+<p># get indices of the sub-shape </p>\r
\r
<p class="whs1">f1_id = geompy.GetSubShapeID(box, \r
sup_faces[3])</p>\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">id_box = geompy.addToStudy(box, \r
"Box")</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_box)</p>\r
\r
\r
<p> </p>\r
\r
-<p># create arc</p>\r
+<p># create an arc</p>\r
\r
<p class="whs1">arc = geompy.MakeArc(py1, \r
pz, px)</p>\r
\r
<p> </p>\r
\r
-<p># create wire</p>\r
+<p># create a wire</p>\r
\r
<p class="whs1">wire = geompy.MakeWire([vxy, \r
arc])</p>\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">id_wire = geompy.addToStudy(wire, \r
"Wire")</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_wire)</p>\r
\r
\r
<p> </p>\r
\r
-<p># create vertex and vector</p>\r
+<p># create a vertex and a vector</p>\r
\r
<p class="whs1">p1 = geompy.MakeVertex(55, \r
65, 50)</p>\r
\r
<p> </p>\r
\r
-<p># create cylinder</p>\r
+<p># create a cylinder</p>\r
\r
<p class="whs1">height = 100</p>\r
\r
\r
<p> </p>\r
\r
-<p># create box</p>\r
+<p># create a box</p>\r
\r
<p class="whs1">box = geompy.MakeBoxDXDYDZ(100, \r
100, 100)</p>\r
\r
<p> </p>\r
\r
-<p># make cut</p>\r
+<p># make a cut</p>\r
\r
<p class="whs1">cut = geompy.MakeCut(box, \r
cylinder)</p>\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">id_cut = geompy.addToStudy(cut, \r
"Cut")</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_cut)</p>\r
\r
\r
<p> </p>\r
\r
-<p># create vertex and vector</p>\r
+<p># create a vertex and a vector</p>\r
\r
<p class="whs1">p1 = geompy.MakeVertex(35, \r
35, 0)</p>\r
\r
<p> </p>\r
\r
-<p># create cylinder</p>\r
+<p># create a cylinder</p>\r
\r
<p class="whs1">height = 20</p>\r
\r
\r
<p> </p>\r
\r
-<p># create cone</p>\r
+<p># create a cone</p>\r
\r
<p class="whs1">cone = geompy.MakeCone(p1, \r
v, 70, 0, 80)</p>\r
\r
<p> </p>\r
\r
-<p># make cut</p>\r
+<p># make a cut</p>\r
\r
<p class="whs1">cut = geompy.MakeCut(cone, \r
cylinder)</p>\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">id_cut = geompy.addToStudy(cut, \r
"Cut")</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_cut)</p>\r
\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">id_face = geompy.addToStudy(face, \r
"Face")</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_face)</p>\r
\r
\r
<h3><a name=bookmark6>Glue Faces</a></h3>\r
\r
-<p class="whs1">import geompy</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
+ geompy</span></p>\r
\r
<p class="whs1">import salome</p>\r
\r
-<p class="whs1">import math</p>\r
-\r
-<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
-\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create base points</p>\r
-\r
-<p class="whs1">px = geompy.MakeVertex(100., \r
- 0., 0.)</p>\r
-\r
-<p class="whs1">py = geompy.MakeVertex(0., \r
- 100., 0.)</p>\r
-\r
-<p class="whs1">pz = geompy.MakeVertex(0., \r
- 0., 100.)</p>\r
+<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create base geometry \r
- 2D & 3D</p>\r
+<p class="whs2"># create boxes</p>\r
\r
-<p class="whs1">vector = geompy.MakeVector(px, \r
- py)</p>\r
+<p class="whs1">box1 = geompy.MakeBox(0,0,0,100,50,100)</p>\r
\r
-<p class="whs1">arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
+<p class="whs1">box2 = <span style="font-family: 'Lucida Console', monospace;">geompy.MakeBox(100,0,0,250,50,100)</span></p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create base objects</p>\r
-\r
-<p class="whs1">angle = 45. * math.pi \r
- / 180</p>\r
-\r
-<p class="whs1">WantPlanarFace = 1 \r
- #True</p>\r
-\r
-<p class="whs1">wire = geompy.MakeWire([vector, \r
- arc])</p>\r
-\r
-<p class="whs1">face = geompy.MakeFace(wire, \r
- WantPlanarFace)</p>\r
+<p class="whs2"># make compound</p>\r
\r
-<p class="whs1">face_rot = geompy.MakeRotation(face, \r
- vector, angle)</p>\r
+<p class="whs1">compound = geompy.MakeCompound([box1, \r
+ box2])</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># make sewing</p>\r
+<p class="whs2"># glue compound's faces</p>\r
\r
-<p class="whs1">precision = 0.00001</p>\r
+<p class="whs1">tolerance = 1e-5</p>\r
\r
-<p class="whs1">sewing = geompy.MakeSewing([face, \r
- face_rot], precision)</p>\r
+<p class="whs1">glue = geompy.MakeGlueFaces(compound, \r
+ tolerance)</p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs2"># add objects in study</p>\r
\r
-<p class="whs1">id_face = geompy.addToStudy(face, \r
- "Face")</p>\r
+<p class="whs1">id_box1 = geompy.addToStudy(box1, \r
+ "Box1")</p>\r
\r
-<p class="whs1">id_face_rot = geompy.addToStudy(face_rot, \r
- "Face rotation")</p>\r
+<p class="whs1">id_box2 = geompy.addToStudy(box2, \r
+ "Box2")</p>\r
\r
-<p class="whs1">id_sewing = geompy.addToStudy(sewing, \r
- "Sewing")</p>\r
+<p class="whs1">id_compound = geompy.addToStudy(compound, \r
+ "Compound")</p>\r
+\r
+<p class="whs1">id_glue = geompy.addToStudy(glue, \r
+ "Glue faces")</p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs2"># display results</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_face)</p>\r
+<p class="whs1">gg.createAndDisplayGO(id_box1)</p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_face,1)</p>\r
+<p class="whs1">gg.setDisplayMode(id_box1,1)</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_face_rot)</p>\r
+<p class="whs1">gg.createAndDisplayGO(id_box2)</p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_face_rot,1)</p>\r
+<p class="whs1">gg.setDisplayMode(id_box2,1)</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_sewing)</p>\r
+<p class="whs1">gg.createAndDisplayGO(id_compound)</p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_sewing,1) \r
+<p class="whs1">gg.setDisplayMode(id_compound,1)</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_glue)</p>\r
+\r
+<p class="whs1">gg.setDisplayMode(id_glue,1) \r
</p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># make edge</p>\r
+<p class="whs2"># make an edge</p>\r
\r
<p class="whs1">edge = geompy.MakeEdge(p1, \r
p2) #geompy.GetSubShape(box, edge_ind)</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># divide edge</p>\r
+<p class="whs2"># divide an edge</p>\r
\r
<p class="whs1">divide = geompy.DivideEdge(edge, \r
-1, 0.5, 0)</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># add objects in study</p>\r
+<p class="whs2"># add objects in the \r
+ study</p>\r
\r
<p class="whs1">id_edge = geompy.addToStudy(edge, \r
"Edge")</p>\r
\r
<h3><a name=bookmark8>Check Free Boundaries</a></h3>\r
\r
+<p class="whs1">import os</p>\r
+\r
<p class="whs1">import geompy</p>\r
\r
<p class="whs1">import salome</p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2"># make compound</p>\r
+<p class="whs2"># make a compound</p>\r
\r
<p class="whs1">compound = geompy.MakeCompound([box1, \r
box2])</p>\r
\r
<p class="whs2"># import from *.brep</p>\r
\r
-<p class="whs1">ImportBREP = geompy.ImportBREP("/tmp/flight_solid.brep")</p>\r
+<p class="whs1">ImportBREP = geompy.ImportBREP("<span \r
+ style="font-family: 'Lucida Console', monospace;">os.getenv("DATA_DIR")+"/Shapes/Brep/flight_solid.brep")</span></p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2"># get face</p>\r
+<p class="whs2"># get a face</p>\r
\r
<p class="whs1">faces = geompy.SubShapeAllSorted(ImportBREP, \r
geompy.ShapeType["FACE"])</p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2"># get free boundary for \r
- face 32</p>\r
+<p class="whs2"># get the free boundary \r
+ for face 32</p>\r
\r
<p class="whs1">Res = geompy.GetFreeBoundary(faces[32])</p>\r
\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2"># get free boundary for \r
- face 41</p>\r
+<p class="whs2"># get the free boundary \r
+ for face 41</p>\r
\r
<p class="whs1">Res = geompy.GetFreeBoundary(faces[41])</p>\r
\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2"># add imported object \r
- in study</p>\r
+<p class="whs2"># add the imported object \r
+ to the study</p>\r
\r
<p class="whs1">id_ImportBREP = geompy.addToStudy(ImportBREP, \r
"ImportBREP")</p>\r
\r
<p> </p>\r
\r
-<p># create vertex and vector</p>\r
+<p># create a vertex and a vector</p>\r
\r
<p class="whs1">p1 = geompy.MakeVertex(35, \r
35, 0)</p>\r
\r
<p> </p>\r
\r
-<p># create cylinder</p>\r
+<p># create a cylinder</p>\r
\r
<p class="whs1">cylinder = geompy.MakeCone(p1, \r
v, 30, 20, 20)</p>\r
\r
<p> </p>\r
\r
-<p># create cone</p>\r
+<p># create a cone</p>\r
\r
<p class="whs1">cone = geompy.MakeCone(p1, \r
v, 70, 40, 60)</p>\r
\r
<p> </p>\r
\r
-<p># suppress specified wire</p>\r
+<p># suppress the specified wire</p>\r
\r
<p class="whs1">result = geompy.GetFreeFacesIDs(cut_without_f_2)</p>\r
\r
\r
<p> </p>\r
\r
-<p># add objects in study</p>\r
+<p># add objects in the study</p>\r
\r
<p class="whs1">all_faces = geompy.SubShapeAllSorted(cut_without_f_2, \r
geompy.ShapeType["FACE"])</p>\r
\r
<p> </p>\r
\r
-<p># display results</p>\r
+<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_cut_without_f_2)</p>\r
\r