Salome HOME
Merge from BR_plugins_pbyacs 03/04/2013
[modules/geom.git] / doc / salome / examples / repairing_operations_ex11.py
1 # Fuse Collinear Edges within a Wire
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
8
9 # create vertices
10 p1 = geompy.MakeVertex(0, 0, 0)
11 p2 = geompy.MakeVertex(70, 0, 0)
12 p3 = geompy.MakeVertex(70, 50, 0)
13 p4 = geompy.MakeVertex(70, 80, 0)
14 p5 = geompy.MakeVertex(50, 80, 0)
15 p6 = geompy.MakeVertex(20, 80, 0)
16 p7 = geompy.MakeVertex(0, 80, 0)
17 p8 = geompy.MakeVertex(0, 30, 0)
18
19 points = [p1, p2, p3, p4, p5, p6, p7, p8]
20
21 # make a wire
22 wire_1 = geompy.MakePolyline(points, True)
23
24 # suppress some vertices in the wire
25 wire_2 = geompy.FuseCollinearEdgesWithinWire(wire_1, [p3])
26 wire_3 = geompy.FuseCollinearEdgesWithinWire(wire_1, [p5, p6])
27
28 # suppress all suitable vertices in the wire
29 wire_4 = geompy.FuseCollinearEdgesWithinWire(wire_1, [])
30
31 wires = [wire_1, wire_2, wire_3, wire_4]
32
33 # add objects in the study
34 ii = 1
35 for point in points:
36     geompy.addToStudy(point, "p%d"%ii)
37     ii = ii + 1
38     pass
39
40 ii = 1
41 for wire in wires:
42     geompy.addToStudy(wire, "wire_%d"%ii)
43     wire_points = geompy.SubShapeAllSortedCentres(wire, geompy.ShapeType["VERTEX"])
44     jj = 1
45     for point in wire_points:
46         geompy.addToStudyInFather(wire, point, "point_%d"%jj)
47         jj = jj + 1
48         pass
49     ii = ii + 1
50     pass
51
52 salome.sg.updateObjBrowser(1)