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
19 </style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
22 if (innerWidth != origWidth || innerHeight != origHeight)
\r
25 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
26 origWidth = innerWidth;
\r
27 origHeight = innerHeight;
\r
33 <style type="text/css">
\r
35 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
37 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
38 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
39 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
40 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
41 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
43 <body><script type="text/javascript" language="javascript1.2">
\r
45 if (window.gbWhTopic)
\r
47 if (window.addTocInfo)
\r
49 addTocInfo("GEOM module\nTUI Scripts\nTransformation\nBlocks Operations");
\r
50 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
\r
53 if (window.writeBtnStyle)
\r
56 if (window.writeIntopicBar)
\r
59 if (window.setRelStartPage)
\r
61 setRelStartPage("geom.htm");
\r
70 document.location.reload();
\r
73 <h1>Blocks Operations</h1>
\r
75 <h3><a name=bookmark4>Multi Transformation</a></h3>
\r
77 <p class="whs1">import geompy</p>
\r
79 <p class="whs1">import salome</p>
\r
81 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
85 <p># create vertices</p>
\r
87 <p class="whs1">p_25_25_50 = geompy.MakeVertex(25.,
\r
90 <p class="whs1">p_50_25_25 = geompy.MakeVertex(50.,
\r
93 <p class="whs1">p_25_50_25 = geompy.MakeVertex(25.,
\r
96 <p class="whs1">box = geompy.MakeBoxDXDYDZ(50,
\r
99 <p class="whs1">top_face = geompy.GetFaceNearPoint(box,
\r
102 <p class="whs1">yz_face = geompy.GetFaceNearPoint(box,
\r
105 <p class="whs1">xz_face = geompy.GetFaceNearPoint(box,
\r
108 <p class="whs1">top_face_ind = geompy.LocalOp.GetSubShapeIndex(box,
\r
111 <p class="whs1">yz_face_ind = geompy.LocalOp.GetSubShapeIndex(box,
\r
114 <p class="whs1">xz_face_ind = geompy.LocalOp.GetSubShapeIndex(box,
\r
119 <p># Multi-transformate block and glue the result</p>
\r
121 <p class="whs1">box_tr1 = geompy.MakeMultiTransformation1D(box,
\r
122 yz_face_ind, top_face_ind, 3)</p>
\r
124 <p class="whs1">box_tr2 = geompy.MakeMultiTransformation2D(box,
\r
125 xz_face_ind, yz_face_ind, 3, top_face_ind, 0, 2)</p>
\r
129 <p># add objects in the study</p>
\r
131 <p class="whs1">id_box = geompy.addToStudy(box,
\r
132 "Box")</p>
\r
134 <p class="whs1">id_box_tr1 = geompy.addToStudy(box_tr1,
\r
135 "Multi-transformed Block 1D")</p>
\r
137 <p class="whs1">id_box_tr2 = geompy.addToStudy(box_tr2,
\r
138 "Multi-transformed Block 2D")</p>
\r
142 <p># display the results</p>
\r
144 <p class="whs1">gg.createAndDisplayGO(id_box)</p>
\r
146 <p class="whs1">gg.setDisplayMode(id_box,1)</p>
\r
148 <p class="whs1">gg.createAndDisplayGO(id_box_tr1)</p>
\r
150 <p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_box_tr2)</span>
\r
155 <h3><a name=bookmark5>Explode on Blocks</a></h3>
\r
157 <p class="whs1">import geompy</p>
\r
159 <p class="whs1">import salome</p>
\r
161 <p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>
\r
165 <p># create a box and a sphere</p>
\r
167 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
170 <p class="whs1">sphere = geompy.MakeSphereR(100)</p>
\r
172 <p class="whs1"> </p>
\r
174 <p># make a compound</p>
\r
176 <p class="whs1">compound = geompy.MakeCompound([box,
\r
181 <p># get all the blocks, contained in the given compound</p>
\r
183 <p class="whs1">make_block_explode
\r
184 = geompy.MakeBlockExplode(compound, 1, 1)</p>
\r
188 <p># add objects in the study</p>
\r
190 <p class="whs1">id_compound = geompy.addToStudy(compound,
\r
191 "Compound")</p>
\r
193 <p class="whs1">id_make_block_explode
\r
194 = geompy.addToStudy(make_block_explode[0], "MakeBlockExplode")</p>
\r
198 <p># display the results</p>
\r
200 <p class="whs1">gg.createAndDisplayGO(id_compound)</p>
\r
202 <p class="whs1">gg.createAndDisplayGO(id_make_block_explode)</p>
\r
204 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_make_block_explode,1)</span>
\r
209 <h3><a name=bookmark6>Propagate</a></h3>
\r
211 <p class="whs1">import geompy</p>
\r
213 <p class="whs1">import salome</p>
\r
217 <p># create a box and a sphere</p>
\r
219 <p class="whs1">box = geompy.MakeBoxDXDYDZ(200,
\r
224 <p># check and improve</p>
\r
226 <p class="whs1">check_box = geompy.CheckAndImprove(box)</p>
\r
228 <p> </p>
\r
230 <p># build all possible propagation groups</p>
\r
232 <p class="whs1">listChains = geompy.Propagate(check_box)</p>
\r
236 <p># add objects in the study</p>
\r
238 <p class="whs1">geompy.addToStudy(check_box,
\r
239 "Box")</p>
\r
241 <p class="whs1">for chain in listChains:</p>
\r
243 <p class="whs1"> geompy.addToStudyInFather(check_box,
\r
244 chain, "propagation chain")</p>
\r
246 <p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
251 <script type="text/javascript" language="javascript1.2">
\r
253 if (window.writeIntopicBar)
\r
254 writeIntopicBar(0);
\r