Salome HOME
Switch to SSL mode for tests : naive approach
[modules/geom.git] / doc / salome / examples / complex_objs_ex01.py
1 # Creation of a Prism
2
3 import salome
4 salome.salome_init_without_session()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New()
8 gg = salome.ImportComponentGUI("GEOM")
9
10 # create a vertex and a vector
11 p1 = geompy.MakeVertex(   0.,   0.,   0.)
12 p2 = geompy.MakeVertex( 100.,   0.,   0.)
13 p3 = geompy.MakeVertex( 100., 100.,   0.)
14 p4 = geompy.MakeVertex(   0., 100.,   0.)
15 p5 = geompy.MakeVertex(   0.,   0.,  60.)
16 p6 = geompy.MakeVertex(-100.,   0.,   0.)
17 p7 = geompy.MakeVertex(-100.,-100.,   0.)
18 p8 = geompy.MakeVertex(   0.,-100.,   0.)
19
20 # create a vector from the given components
21 vector = geompy.MakeVectorDXDYDZ(50., 50., 50.)
22
23 #create vectors from two points
24 vector1_arc1 = geompy.MakeVector(p1, p2)
25 vector2_arc1 = geompy.MakeVector(p1, p4)
26 vector1_arc2 = geompy.MakeVector(p1, p6)
27 vector2_arc2 = geompy.MakeVector(p1, p8)
28
29 # create arcs from three points
30 arc1 = geompy.MakeArc(p2, p3, p4)
31 arc2 = geompy.MakeArc(p6, p7, p8)
32
33 # create wires
34 wire1 = geompy.MakeWire([vector1_arc1, arc1, vector2_arc1])
35 wire2 = geompy.MakeWire([vector1_arc2, arc2, vector2_arc2])
36
37 # create faces
38 isPlanarWanted = 1
39 face1 = geompy.MakeFace(wire1, isPlanarWanted)
40 face2 = geompy.MakeFace(wire2, isPlanarWanted)
41
42 # create prisms
43 prism1 = geompy.MakePrism(face2, p1, p5)
44 prism2 = geompy.MakePrismVecH(face1, vector, 50)
45 prism3 = geompy.MakePrismVecH2Ways(face1, vector, 50)
46
47 # add objects in the study
48 id_face1   = geompy.addToStudy(face1,"Face1")
49 id_face2   = geompy.addToStudy(face2,"Face2")
50 id_prism1 = geompy.addToStudy(prism1,"Prism1")
51 id_prism2 = geompy.addToStudy(prism2,"Prism2")
52 id_prism3 = geompy.addToStudy(prism3,"Prism3")
53
54 # display cylinders
55 gg.createAndDisplayGO(id_face1)
56 gg.setDisplayMode(id_face1,1)
57 gg.createAndDisplayGO(id_face2)
58 gg.setDisplayMode(id_face2,1)
59 gg.createAndDisplayGO(id_prism1)
60 gg.setDisplayMode(id_prism1,1)
61 gg.createAndDisplayGO(id_prism2)
62 gg.setDisplayMode(id_prism2,1) 
63 gg.createAndDisplayGO(id_prism3)
64 gg.setDisplayMode(id_prism3,1)