]> SALOME platform Git repositories - modules/geom.git/blob - doc/salome/examples/transformation_operations_ex07.py
Salome HOME
22755: [EDF] Improvement of Projection operation
[modules/geom.git] / doc / salome / examples / transformation_operations_ex07.py
1 # Projection
2
3 import salome
4 salome.salome_init()
5 from salome.geom import geomBuilder
6 geompy = geomBuilder.New(salome.myStudy)
7
8 # create a cylindric face and a curve(edge)
9 cylinder = geompy.MakeCylinderRH(100, 300)
10 [face_cyl] = geompy.SubShapes(cylinder, [3])
11
12 p1 = geompy.MakeVertex(200, 0, 100)
13 p2 = geompy.MakeVertex(200, 80, 100)
14 p3 = geompy.MakeVertex(200, 80, 180)
15 p4 = geompy.MakeVertex(130, 80, 180)
16 p5 = geompy.MakeVertex(90, 80, 240)
17
18 curve = geompy.MakeInterpol([p1, p2, p3, p4, p5], False, False)
19
20 # create a new object as projection of the
21 # given curve on the given cylindric face
22 projection = geompy.MakeProjection(curve, face_cyl)
23
24 # add objects in the study
25 geompy.addToStudy(cylinder, "cylinder")
26 geompy.addToStudyInFather(cylinder, face_cyl, "face_cyl")
27 geompy.addToStudy(curve, "curve")
28 geompy.addToStudy(projection, "projection")
29
30 #projection of point on wire
31 e1 = geompy.MakeLineTwoPnt(p1, p2)
32 e2 = geompy.MakeLineTwoPnt(p2, p3)
33
34 w1 = geompy.MakeWire([e1, e2], 1.e-7)
35 v1 = geompy.MakeVertex(300, 40, 100)
36
37 prj = geompy.MakeProjection(v1, w1)
38 geompy.addToStudy(w1, "w1")
39 geompy.addToStudy(v1, "v1")
40 geompy.addToStudy(prj, "projOnWire")