Salome HOME
Update documentation in accordance with bug PAL12608.
[modules/geom.git] / doc / salome / gui / GEOM / repairing_operations.htm
index 2b48c28519226d8805c28b31609ed7b46ee3363b..9f9bfafdc71aa74bba4ff747df93073cd48847ad 100755 (executable)
@@ -34,43 +34,48 @@ onerror = null;
 <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
@@ -83,7 +88,7 @@ else
 \r
 <p>&nbsp;</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
@@ -106,7 +111,7 @@ else
 \r
 <p>&nbsp;</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 &quot;Before \r
  ProcessShape:&quot;</p>\r
@@ -125,7 +130,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p># process Shape</p>\r
+<p># process the Shape</p>\r
 \r
 <p class="whs1">Operators = [&quot;FixShape&quot;]</p>\r
 \r
@@ -138,7 +143,7 @@ else
 \r
 <p>&nbsp;</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 &quot;After \r
  ProcessShape:&quot;</p>\r
@@ -160,7 +165,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Invalid Shape&quot;)</p>\r
@@ -189,14 +194,14 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create box</p>\r
+<p># create box</p>\r
 \r
 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200, \r
  200, 200)</p>\r
 \r
 <p>&nbsp;</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
@@ -205,7 +210,7 @@ else
 \r
 <p>&nbsp;</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
@@ -219,7 +224,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Box&quot;)</p>\r
@@ -229,7 +234,7 @@ else
 \r
 <p>&nbsp;</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
@@ -281,14 +286,14 @@ else
 \r
 <p>&nbsp;&nbsp;</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>&nbsp;</p>\r
 \r
-<p># create wire</p>\r
+<p># create wire</p>\r
 \r
 <p class="whs1">wire = geompy.MakeWire([vxy, \r
  arc])</p>\r
@@ -302,7 +307,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Wire&quot;)</p>\r
@@ -312,7 +317,7 @@ else
 \r
 <p>&nbsp;</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
@@ -331,7 +336,7 @@ else
 \r
 <p>&nbsp;</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
@@ -344,7 +349,7 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create cylinder</p>\r
+<p># create cylinder</p>\r
 \r
 <p class="whs1">height = 100</p>\r
 \r
@@ -355,14 +360,14 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create box</p>\r
+<p># create box</p>\r
 \r
 <p class="whs1">box = geompy.MakeBoxDXDYDZ(100, \r
  100, 100)</p>\r
 \r
 <p>&nbsp;</p>\r
 \r
-<p># make cut</p>\r
+<p># make cut</p>\r
 \r
 <p class="whs1">cut = geompy.MakeCut(box, \r
  cylinder)</p>\r
@@ -376,7 +381,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Cut&quot;)</p>\r
@@ -386,7 +391,7 @@ else
 \r
 <p>&nbsp;</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
@@ -409,7 +414,7 @@ else
 \r
 <p>&nbsp;</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
@@ -422,7 +427,7 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create cylinder</p>\r
+<p># create cylinder</p>\r
 \r
 <p class="whs1">height = 20</p>\r
 \r
@@ -433,14 +438,14 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create cone</p>\r
+<p># create cone</p>\r
 \r
 <p class="whs1">cone = geompy.MakeCone(p1, \r
  v, 70, 0, 80)</p>\r
 \r
 <p>&nbsp;</p>\r
 \r
-<p># make cut</p>\r
+<p># make cut</p>\r
 \r
 <p class="whs1">cut = geompy.MakeCut(cone, \r
  cylinder)</p>\r
@@ -485,7 +490,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Cut&quot;)</p>\r
@@ -498,7 +503,7 @@ else
 \r
 <p>&nbsp;</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
@@ -578,7 +583,7 @@ else
 \r
 <p>&nbsp;</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
  &quot;Face&quot;)</p>\r
@@ -591,7 +596,7 @@ else
 \r
 <p>&nbsp;</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
@@ -610,94 +615,74 @@ else
 \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(&quot;GEOM&quot;)</p>\r
-\r
 <p class="whs1">&nbsp;</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(&quot;GEOM&quot;)</p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs2"># create base geometry \r
- 2D &amp; 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">&nbsp;</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">&nbsp;</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">&nbsp;</p>\r
 \r
 <p class="whs2"># add objects in study</p>\r
 \r
-<p class="whs1">id_face = geompy.addToStudy(face\r
- &quot;Face&quot;)</p>\r
+<p class="whs1">id_box1 = geompy.addToStudy(box1\r
+ &quot;Box1&quot;)</p>\r
 \r
-<p class="whs1">id_face_rot = geompy.addToStudy(face_rot\r
- &quot;Face rotation&quot;)</p>\r
+<p class="whs1">id_box2 = geompy.addToStudy(box2\r
+ &quot;Box2&quot;)</p>\r
 \r
-<p class="whs1">id_sewing = geompy.addToStudy(sewing, \r
- &quot;Sewing&quot;)</p>\r
+<p class="whs1">id_compound = geompy.addToStudy(compound, \r
+ &quot;Compound&quot;)</p>\r
+\r
+<p class="whs1">id_glue = geompy.addToStudy(glue, \r
+ &quot;Glue faces&quot;)</p>\r
 \r
 <p class="whs1">&nbsp;</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">&nbsp;</p>\r
@@ -719,21 +704,22 @@ else
 \r
 <p class="whs1">&nbsp;</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">&nbsp;</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">&nbsp;</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
  &quot;Edge&quot;)</p>\r
@@ -768,6 +754,8 @@ else
 \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
@@ -784,7 +772,7 @@ else
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
-<p class="whs2"># make compound</p>\r
+<p class="whs2"># make compound</p>\r
 \r
 <p class="whs1">compound = geompy.MakeCompound([box1, \r
  box2])</p>\r
@@ -793,19 +781,20 @@ else
 \r
 <p class="whs2"># import from *.brep</p>\r
 \r
-<p class="whs1">ImportBREP = geompy.ImportBREP(&quot;/tmp/flight_solid.brep&quot;)</p>\r
+<p class="whs1">ImportBREP = geompy.ImportBREP(&quot;<span \r
+ style="font-family: 'Lucida Console', monospace;">os.getenv(&quot;DATA_DIR&quot;)+&quot;/Shapes/Brep/flight_solid.brep&quot;)</span></p>\r
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
-<p class="whs2"># get face</p>\r
+<p class="whs2"># get face</p>\r
 \r
 <p class="whs1">faces = geompy.SubShapeAllSorted(ImportBREP, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
 <p class="whs2">&nbsp;</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
@@ -872,8 +861,8 @@ else
 \r
 <p class="whs2">&nbsp;</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
@@ -940,8 +929,8 @@ else
 \r
 <p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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
  &quot;ImportBREP&quot;)</p>\r
@@ -961,7 +950,7 @@ else
 \r
 <p>&nbsp;</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
@@ -974,14 +963,14 @@ else
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create cylinder</p>\r
+<p># create cylinder</p>\r
 \r
 <p class="whs1">cylinder = geompy.MakeCone(p1, \r
  v, 30, 20, 20)</p>\r
 \r
 <p>&nbsp;</p>\r
 \r
-<p># create cone</p>\r
+<p># create cone</p>\r
 \r
 <p class="whs1">cone = geompy.MakeCone(p1, \r
  v, 70, 40, 60)</p>\r
@@ -1014,7 +1003,7 @@ else
 \r
 <p>&nbsp;</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
@@ -1023,7 +1012,7 @@ else
 \r
 <p>&nbsp;</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[&quot;FACE&quot;])</p>\r
@@ -1052,7 +1041,7 @@ else
 \r
 <p>&nbsp;</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