Salome HOME
Mantis issue 0021703: [CEA 577] Boolean operations on groups.
[modules/geom.git] / doc / salome / gui / GEOM / input / tui_repairing_operations.doc
index 237440c2fc57cc9ddeb8d2bd208355c15974926c..0ce8b63dbd0d7b8df3eeb442b02b1cced53ab855 100644 (file)
@@ -289,6 +289,40 @@ gg.createAndDisplayGO(id_glue)
 gg.setDisplayMode(id_glue,1) 
 \endcode
 
+\anchor tui_glue_edges
+<br><h2>Glue Edges</h2>
+
+\code
+import geompy
+import salome
+gg = salome.ImportComponentGUI("GEOM")
+
+# create boxes
+box1 = geompy.MakeBox(0,0,0,100,50,100)
+box2 = geompy.MakeBox(100,0,0,250,50,100)
+
+# make compound
+compound = geompy.MakeCompound([box1, box2])
+
+# glue all compound's edges
+tolerance = 1e-5
+glue1 = geompy.MakeGlueEdges(compound, tolerance)
+
+# glue some compound's edges
+list_edges = geompy.GetGlueEdges(compound, tolerance)
+glue2 = geompy.MakeGlueEdgesByList(compound, tolerance, [list_edges[0], list_edges[2]])
+
+# add objects in study
+geompy.addToStudy(box1, "Box1")
+geompy.addToStudy(box2, "Box2")
+geompy.addToStudy(compound, "Compound")
+geompy.addToStudy(glue1, "Glue all edges")
+geompy.addToStudy(glue2, "Glue two edges")
+
+if salome.sg.hasDesktop():
+  salome.sg.updateObjBrowser(1)
+\endcode
+
 \anchor tui_limit_tolerance
 <br><h2>Limit Tolerance</h2>
 
@@ -357,5 +391,57 @@ for point in edge_points:
 salome.sg.updateObjBrowser(1) 
 \endcode
 
+\anchor tui_fuse_collinear_edges
+<br><h2>Fuse Collinear Edges within a Wire</h2>
+
+\code
+import geompy
+import salome
+
+# create vertices
+p1 = geompy.MakeVertex(0, 0, 0)
+p2 = geompy.MakeVertex(70, 0, 0)
+p3 = geompy.MakeVertex(70, 50, 0)
+p4 = geompy.MakeVertex(70, 80, 0)
+p5 = geompy.MakeVertex(50, 80, 0)
+p6 = geompy.MakeVertex(20, 80, 0)
+p7 = geompy.MakeVertex(0, 80, 0)
+p8 = geompy.MakeVertex(0, 30, 0)
+
+points = [p1, p2, p3, p4, p5, p6, p7, p8]
+
+# make a wire
+wire_1 = geompy.MakePolyline(points, True)
+
+# suppress some vertices in the wire
+wire_2 = geompy.FuseCollinearEdgesWithinWire(wire_1, [p3])
+wire_3 = geompy.FuseCollinearEdgesWithinWire(wire_1, [p5, p6])
+
+# suppress all suitable vertices in the wire
+wire_4 = geompy.FuseCollinearEdgesWithinWire(wire_1, [])
+
+wires = [wire_1, wire_2, wire_3, wire_4]
+
+# add objects in the study
+ii = 1
+for point in points:
+    geompy.addToStudy(point, "p%d"%ii)
+    ii = ii + 1
+    pass
+
+ii = 1
+for wire in wires:
+    geompy.addToStudy(wire, "wire_%d"%ii)
+    wire_points = geompy.SubShapeAllSortedCentres(wire, geompy.ShapeType["VERTEX"])
+    jj = 1
+    for point in wire_points:
+        geompy.addToStudyInFather(wire, point, "point_%d"%jj)
+        jj = jj + 1
+        pass
+    ii = ii + 1
+    pass
+
+salome.sg.updateObjBrowser(1) 
+\endcode
 
 */