1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Blocks Operations</title>
\r
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
\r
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
\r
9 <link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
\r
11 if (navigator.appName !="Netscape")
\r
12 { document.write("<link rel='stylesheet' href='default.css'>");}
\r
15 <style type="text/css">
\r
17 p.whs1 { font-family:'Lucida Console' , monospace; }
\r
18 p.whs2 { font-family:'Times New Roman' , serif; }
\r
20 </style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
23 if (innerWidth != origWidth || innerHeight != origHeight)
\r
26 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
27 origWidth = innerWidth;
\r
28 origHeight = innerHeight;
\r
34 <style type="text/css">
\r
36 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
37 p.WebHelpNavBar { text-align:right; }
\r
39 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
40 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
41 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
42 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
43 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
44 <script type="text/javascript" language="javascript1.2">
\r
46 if (window.gbWhTopic)
\r
48 if (window.setRelStartPage)
\r
50 addTocInfo("Geometry module\nTUI Scripts\nTransformation\nBlocks Operations");
\r
51 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
52 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
57 if (window.setRelStartPage)
\r
59 setRelStartPage("index.htm");
\r
69 document.location.reload();
\r
73 <body><script type="text/javascript" language="javascript1.2">
\r
75 if (window.writeIntopicBar)
\r
79 <h1>Blocks Operations</h1>
\r
81 <h3><a name=bookmark4>Multi Transformation</a></h3>
\r
83 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import
\r
86 <p class="whs1">import salome</p>
\r
88 <p class="whs1"> </p>
\r
90 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
92 <p class="whs1"> </p>
\r
94 <p class="whs2"># create vertices</p>
\r
96 <p class="whs1">p_25_25_50 = geompy.MakeVertex(25.,
\r
99 <p class="whs1">p_50_25_25 = geompy.MakeVertex(50.,
\r
102 <p class="whs1">p_25_50_25 = geompy.MakeVertex(25.,
\r
105 <p class="whs1"> </p>
\r
107 <p class="whs1">box = geompy.MakeBoxDXDYDZ(50,
\r
110 <p class="whs1"> </p>
\r
112 <p class="whs1">top_face = geompy.GetFaceNearPoint(box,
\r
115 <p class="whs1">yz_face = geompy.GetFaceNearPoint(box,
\r
118 <p class="whs1">xz_face = geompy.GetFaceNearPoint(box,
\r
121 <p class="whs1"> </p>
\r
123 <p class="whs1">top_face_ind = geompy.GetSubShapeID(box,
\r
126 <p class="whs1">yz_face_ind = geompy.GetSubShapeID(box,
\r
129 <p class="whs1">xz_face_ind = geompy.GetSubShapeID(box,
\r
132 <p class="whs1"> </p>
\r
134 <p class="whs2"># Multi-transformate
\r
135 block and glue the result</p>
\r
137 <p class="whs1">box_tr1 = geompy.MakeMultiTransformation1D(box,
\r
138 yz_face_ind, top_face_ind, 3)</p>
\r
140 <p class="whs1">box_tr2 = geompy.MakeMultiTransformation2D(box,
\r
141 xz_face_ind, yz_face_ind, 3, top_face_ind, 0, 2)</p>
\r
143 <p class="whs1"> </p>
\r
145 <p class="whs2"># add objects in the
\r
148 <p class="whs1">id_box = geompy.addToStudy(box,
\r
149 "Box")</p>
\r
151 <p class="whs1">id_box_tr1 = geompy.addToStudy(box_tr1,
\r
152 "Multi-transformed Block 1D")</p>
\r
154 <p class="whs1">id_box_tr2 = geompy.addToStudy(box_tr2,
\r
155 "Multi-transformed Block 2D")</p>
\r
157 <p class="whs1"> </p>
\r
159 <p class="whs2"># display the results</p>
\r
161 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
163 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
165 <p class="whs1">gg.createAndDisplayGO(id_box_tr1)</p>
\r
167 <p class="whs1">gg.createAndDisplayGO(id_box_tr2)
\r
170 <p class="whs1"> </p>
\r
172 <h3><a name=bookmark5>Explode on Blocks</a></h3>
\r
174 <p class="whs1">import geompy</p>
\r
176 <p class="whs1">import salome</p>
\r
178 <p class="whs1"> </p>
\r
180 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
182 <p class="whs1"> </p>
\r
184 <p class="whs2"># create a box and a
\r
187 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
190 <p class="whs1">sphere = geompy.MakeSphereR(100)</p>
\r
192 <p class="whs1"> </p>
\r
194 <p class="whs2"># make a compound</p>
\r
196 <p class="whs1">compound = geompy.MakeCompound([box,
\r
199 <p class="whs2"> </p>
\r
201 <p class="whs2"># get all the blocks
\r
202 of the given compound, by criteria: min_nb_faces <= nb. of faces <=
\r
205 <p class="whs1">min_nb_faces = 6</p>
\r
207 <p class="whs1">max_nb_faces = 6</p>
\r
209 <p class="whs1">make_block_explode
\r
210 = geompy.MakeBlockExplode(compound, min_nb_faces, max_nb_faces)</p>
\r
212 <p class="whs1"> </p>
\r
214 <p class="whs2"># add objects in the
\r
217 <p class="whs1">id_compound = geompy.addToStudy(compound,
\r
218 "Compound")</p>
\r
220 <p class="whs1">id_make_block_explode
\r
221 = geompy.addToStudyInFather(compound, make_block_explode[0], "MakeBlockExplode")</p>
\r
223 <p class="whs1"> </p>
\r
225 <p class="whs2"># display the results</p>
\r
227 <p class="whs1">gg.createAndDisplayGO(id_compound)</p>
\r
229 <p class="whs1">gg.createAndDisplayGO(id_make_block_explode)</p>
\r
231 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_make_block_explode,1)</span>
\r
236 <h3><a name=bookmark6>Propagate</a></h3>
\r
238 <p class="whs1">import geompy</p>
\r
240 <p class="whs1">import salome</p>
\r
242 <p class="whs1"> </p>
\r
244 <p class="whs2"># create a box</p>
\r
246 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
249 <p class="whs1"> </p>
\r
251 <p class="whs2"># build all possible
\r
252 propagation groups</p>
\r
254 <p class="whs1">listChains = geompy.Propagate(check_box)</p>
\r
256 <p class="whs1"> </p>
\r
258 <p class="whs2"># add objects in the
\r
261 <p class="whs1">geompy.addToStudy(check_box,
\r
262 "Box")</p>
\r
264 <p class="whs1">ii = 1</p>
\r
266 <p class="whs1">for chain in listChains:</p>
\r
268 <p class="whs1"> geompy.addToStudyInFather(check_box,
\r
269 chain, "propagation chain " + `ii`)</p>
\r
271 <p class="whs1"> ii
\r
274 <p class="whs1"> pass</p>
\r
278 <p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
281 <script type="text/javascript" language="javascript1.2">
\r
283 if (window.writeIntopicBar)
\r
284 writeIntopicBar(0);
\r