Salome HOME
399a22f93c6dcddb505a2406be9ea69c21d2f6f6
[modules/geom.git] / doc / salome / examples / repairing_operations_ex10.py
1 # Add Point on Edge
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New()
8
9 # Variant 1: using DivideEdge()
10
11 # create vertices
12 p1 = geompy.MakeVertex(0,0,50)
13 p2 = geompy.MakeVertex(60,0,50)
14
15 # make an edge
16 edge = geompy.MakeEdge(p1, p2) #geompy.GetSubShape(box, edge_ind)
17
18 # divide an edge
19 divide = geompy.DivideEdge(edge, -1, 0.5, 0)
20
21 # add objects in the study
22 id_edge = geompy.addToStudy(edge, "Edge")
23 edge_points = geompy.SubShapeAllSortedCentres(edge, geompy.ShapeType["VERTEX"])
24 for point in edge_points:
25     geompy.addToStudyInFather(edge, point, "Edge's point")
26
27 id_divide = geompy.addToStudy(divide, "Divided edge")
28 edge_points = geompy.SubShapeAllSortedCentres(divide, geompy.ShapeType["VERTEX"])
29 for point in edge_points:
30     geompy.addToStudyInFather(divide, point, "Edge's point after divide")
31
32
33 # Variant 2: using DivideEdgeByPoint()
34  
35 box  = geompy.MakeBox(0,0,0, 10,10,10, theName="box")
36 p1   = geompy.MakeVertex( 3, -2, 1, theName="point 1 to project" )
37 p2   = geompy.MakeVertex( 7, -2, 1, theName="point 2 to project" )
38 edge = geompy.GetEdgeNearPoint( box, p1, theName="edge to split")
39
40 div  = geompy.DivideEdgeByPoint( box, edge, [p1, p2], theName="box (edge divided)")
41
42
43 salome.sg.updateObjBrowser()