Salome HOME
0020654: [CEA 386] GetType() function
[modules/geom.git] / doc / salome / gui / GEOM / input / tui_blocks_operations.doc
1 /*!
2
3 \page tui_blocks_operations_page Blocks Operations
4
5 \anchor tui_multi_transformation
6 <br><h2>Multi Transformation</h2>
7
8 \code
9 import geompy
10 import salome
11 gg = salome.ImportComponentGUI("GEOM")
12
13 # create vertices
14 p_25_25_50 = geompy.MakeVertex(25., 25., 50.)
15 p_50_25_25 = geompy.MakeVertex(50., 25., 25.)
16 p_25_50_25 = geompy.MakeVertex(25., 50., 25.)
17
18 box = geompy.MakeBoxDXDYDZ(50, 50, 50)
19
20 top_face = geompy.GetFaceNearPoint(box, p_25_25_50)
21 yz_face = geompy.GetFaceNearPoint(box, p_50_25_25)
22 xz_face = geompy.GetFaceNearPoint(box, p_25_50_25)
23
24 top_face_ind = geompy.GetSubShapeID(box, top_face)
25 yz_face_ind = geompy.GetSubShapeID(box, yz_face)
26 xz_face_ind = geompy.GetSubShapeID(box, xz_face)
27
28 # Multi-transformate block and glue the result
29 box_tr1 = geompy.MakeMultiTransformation1D(box, yz_face_ind, top_face_ind, 3)
30 box_tr2 = geompy.MakeMultiTransformation2D(box, xz_face_ind, yz_face_ind, 3, top_face_ind, 0, 2)
31
32 # add objects in the study
33 id_box = geompy.addToStudy(box, "Box")
34 id_box_tr1 = geompy.addToStudy(box_tr1, "Multi-transformed Block 1D")
35 id_box_tr2 = geompy.addToStudy(box_tr2, "Multi-transformed Block 2D")
36
37 # display the results
38 gg.createAndDisplayGO(id_box)
39 gg.setDisplayMode(id_box,1)
40 gg.createAndDisplayGO(id_box_tr1)
41 gg.createAndDisplayGO(id_box_tr2) 
42 \endcode
43
44 \anchor tui_explode_on_blocks
45 <br><h2>Explode on Blocks</h2>
46
47 \code
48 import geompy
49 import salome
50 gg = salome.ImportComponentGUI("GEOM")
51
52 # create a box and a sphere
53 box = geompy.MakeBoxDXDYDZ(200, 200, 200)
54 sphere = geompy.MakeSphereR(100)
55
56 # make a compound
57 compound = geompy.MakeCompound([box, sphere])
58
59 # get all the blocks of the given compound, by criteria: min_nb_faces <= nb. of faces <= max_nb_faces
60 min_nb_faces = 6
61 max_nb_faces = 6
62 make_block_explode = geompy.MakeBlockExplode(compound, min_nb_faces, max_nb_faces)
63
64 # add objects in the study
65 id_compound = geompy.addToStudy(compound, "Compound")
66 id_make_block_explode = geompy.addToStudyInFather(compound, make_block_explode[0], "MakeBlockExplode")
67
68 # display the results
69 gg.createAndDisplayGO(id_compound)
70 gg.createAndDisplayGO(id_make_block_explode)
71 gg.setDisplayMode(id_make_block_explode,1) 
72 \endcode
73
74 \anchor tui_propagate
75 <br><h2>Propagate</h2>
76
77 \code
78 import geompy
79 import salome
80
81 # create a box
82 box = geompy.MakeBoxDXDYDZ(200, 200, 200)
83
84 # build all possible propagation groups
85 listChains = geompy.Propagate(check_box)
86
87 # add objects in the study
88 geompy.addToStudy(check_box, "Box")
89 ii = 1
90 for chain in listChains:
91     geompy.addToStudyInFather(check_box, chain, "propagation chain " + `ii`)
92     ii = ii + 1
93     pass
94
95 salome.sg.updateObjBrowser(1) 
96 \endcode
97
98 */