Salome HOME
Fix problem with table of contents resizing
[modules/geom.git] / doc / salome / gui / GEOM / building_by_blocks.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
2 \r
3 <html>\r
4 \r
5 <head>\r
6 <title>Building by Blocks</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
10 <!--\r
11 if (navigator.appName !="Netscape")\r
12 {   document.write("<link rel='stylesheet' href='default.css'>");}\r
13 //-->\r
14 </script>\r
15 <style type="text/css">\r
16 <!--\r
17 p.whs1 { font-family:'Lucida Console' , monospace; }\r
18 -->\r
19 </style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
20 <!--\r
21 function reDo() {\r
22   if (innerWidth != origWidth || innerHeight != origHeight)\r
23      location.reload();\r
24 }\r
25 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
26         origWidth = innerWidth;\r
27         origHeight = innerHeight;\r
28         onresize = reDo;\r
29 }\r
30 onerror = null; \r
31 //-->\r
32 </script>\r
33 <style type="text/css">\r
34 <!--\r
35 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
36 p.WebHelpNavBar { text-align:right; }\r
37 -->\r
38 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
39 <script type="text/javascript" language="javascript" src="whver.js"></script>\r
40 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
41 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
42 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
43 <script type="text/javascript" language="javascript1.2">\r
44 <!--\r
45 if (window.gbWhTopic)\r
46 {\r
47         if (window.setRelStartPage)\r
48         {\r
49         addTocInfo("Geometry module\nTUI Scripts\nCreating Geometric Objects\nBuilding by Blocks");\r
50 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
51 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
52 \r
53         }\r
54 \r
55 \r
56         if (window.setRelStartPage)\r
57         {\r
58         setRelStartPage("index.htm");\r
59 \r
60                 autoSync(1);\r
61                 sendSyncInfo();\r
62                 sendAveInfoOut();\r
63         }\r
64 \r
65 }\r
66 else\r
67         if (window.gbIE4)\r
68                 document.location.reload();\r
69 //-->\r
70 </script>\r
71 </head>\r
72 <body><script type="text/javascript" language="javascript1.2">\r
73 <!--\r
74 if (window.writeIntopicBar)\r
75         writeIntopicBar(4);\r
76 //-->\r
77 </script>\r
78 <h1>Building by Blocks</h1>\r
79 \r
80 <h3>Quadrangle Face</h3>\r
81 \r
82 <p class="whs1">import geompy</p>\r
83 \r
84 <p class="whs1">import salome</p>\r
85 \r
86 <p class="whs1">gg = salome.ImportComponentGUI(&quot;GEOM&quot;)</p>\r
87 \r
88 <p>&nbsp;</p>\r
89 \r
90 <p># create vertices</p>\r
91 \r
92 <p class="whs1">p1 = geompy.MakeVertex( \r
93  &nbsp;0., &nbsp;&nbsp;0., \r
94  &nbsp;&nbsp;0.)</p>\r
95 \r
96 <p class="whs1">p2 = geompy.MakeVertex(150., \r
97  &nbsp;30., &nbsp;&nbsp;0.)</p>\r
98 \r
99 <p class="whs1">p3 = geompy.MakeVertex( \r
100  &nbsp;0., 120., \r
101  &nbsp;50.)</p>\r
102 \r
103 <p class="whs1">p4 = geompy.MakeVertex( \r
104  &nbsp;0., &nbsp;40., \r
105  &nbsp;70.)</p>\r
106 \r
107 <p>&nbsp;</p>\r
108 \r
109 <p># create edges</p>\r
110 \r
111 <p class="whs1">edge1 = geompy.MakeEdge(p1, \r
112  p2)</p>\r
113 \r
114 <p class="whs1">edge2 = geompy.MakeEdge(p2, \r
115  p3)</p>\r
116 \r
117 <p class="whs1">edge3 = geompy.MakeEdge(p3, \r
118  p4)</p>\r
119 \r
120 <p class="whs1">edge4 = geompy.MakeEdge(p4, \r
121  p1)</p>\r
122 \r
123 <p>&nbsp;</p>\r
124 \r
125 <p># create a quadrangle face from four edges</p>\r
126 \r
127 <p class="whs1">qface1 = geompy.MakeQuad(edge1, \r
128  edge2, edge3, edge4)</p>\r
129 \r
130 <p>&nbsp;</p>\r
131 \r
132 <p># create a quadrangle face from two edges</p>\r
133 \r
134 <p class="whs1">qface2 = geompy.MakeQuad2Edges(edge1, \r
135  edge3)</p>\r
136 \r
137 <p>&nbsp;</p>\r
138 \r
139 <p># create a quadrangle from four points in its corners</p>\r
140 \r
141 <p class="whs1">qface3 = geompy.MakeQuad4Vertices(p1, \r
142  p2, p3, p4)</p>\r
143 \r
144 <p>&nbsp;</p>\r
145 \r
146 <p># add objects in the study</p>\r
147 \r
148 <p class="whs1">id_p1 = geompy.addToStudy(p1,&quot;Point1&quot;)</p>\r
149 \r
150 <p class="whs1">id_p2 = geompy.addToStudy(p2,&quot;Point2&quot;)</p>\r
151 \r
152 <p class="whs1">id_p3 = geompy.addToStudy(p3,&quot;Point3&quot;)</p>\r
153 \r
154 <p class="whs1">id_p4 = geompy.addToStudy(p4,&quot;Point4&quot;)</p>\r
155 \r
156 <p class="whs1">id_edge1 = geompy.addToStudy(edge1,&quot;Edge1&quot;)</p>\r
157 \r
158 <p class="whs1">id_edge2 = geompy.addToStudy(edge2,&quot;Edge2&quot;)</p>\r
159 \r
160 <p class="whs1">id_edge3 = geompy.addToStudy(edge3,&quot;Edge3&quot;)</p>\r
161 \r
162 <p class="whs1">id_edge4 = geompy.addToStudy(edge4,&quot;Edge4&quot;)</p>\r
163 \r
164 <p class="whs1">id_qface1 = geompy.addToStudy(qface1,&quot;Qface1&quot;)</p>\r
165 \r
166 <p class="whs1">id_qface2 = geompy.addToStudy(qface2,&quot;Qface2&quot;)</p>\r
167 \r
168 <p class="whs1">id_qface3 = geompy.addToStudy(qface3,&quot;Qface3&quot;)</p>\r
169 \r
170 <p>&nbsp;</p>\r
171 \r
172 <p># display the vertices, the edges and the quadrangle faces</p>\r
173 \r
174 <p class="whs1">gg.createAndDisplayGO(id_p1)</p>\r
175 \r
176 <p class="whs1">gg.createAndDisplayGO(id_p2)</p>\r
177 \r
178 <p class="whs1">gg.createAndDisplayGO(id_p3)</p>\r
179 \r
180 <p class="whs1">gg.createAndDisplayGO(id_p4)</p>\r
181 \r
182 <p class="whs1">gg.createAndDisplayGO(id_edge1)</p>\r
183 \r
184 <p class="whs1">gg.createAndDisplayGO(id_edge2)</p>\r
185 \r
186 <p class="whs1">gg.createAndDisplayGO(id_edge3)</p>\r
187 \r
188 <p class="whs1">gg.createAndDisplayGO(id_edge4)</p>\r
189 \r
190 <p class="whs1">gg.createAndDisplayGO(id_qface1)</p>\r
191 \r
192 <p class="whs1">gg.setDisplayMode(id_qface1,1)</p>\r
193 \r
194 <p class="whs1">gg.createAndDisplayGO(id_qface2)</p>\r
195 \r
196 <p class="whs1">gg.setDisplayMode(id_qface2,1)</p>\r
197 \r
198 <p class="whs1">gg.createAndDisplayGO(id_qface3)</p>\r
199 \r
200 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_qface3,1)</span> \r
201  </p>\r
202 \r
203 <p>&nbsp;</p>\r
204 \r
205 <h3>Hexagonal Solid</h3>\r
206 \r
207 <p class="whs1">import geompy</p>\r
208 \r
209 <p class="whs1">import salome</p>\r
210 \r
211 <p class="whs1">gg = salome.ImportComponentGUI(&quot;GEOM&quot;)</p>\r
212 \r
213 <p>&nbsp;</p>\r
214 \r
215 <p># create vertices</p>\r
216 \r
217 <p class="whs1">p1 = geompy.MakeVertex( \r
218  &nbsp;0., &nbsp;&nbsp;0., \r
219  &nbsp;&nbsp;0.)</p>\r
220 \r
221 <p class="whs1">p2 = geompy.MakeVertex(150., \r
222  &nbsp;30., &nbsp;&nbsp;0.)</p>\r
223 \r
224 <p class="whs1">p3 = geompy.MakeVertex( \r
225  &nbsp;0., 120., \r
226  &nbsp;50.)</p>\r
227 \r
228 <p class="whs1">p4 = geompy.MakeVertex( \r
229  &nbsp;0., &nbsp;40., \r
230  &nbsp;70.)</p>\r
231 \r
232 <p class="whs1">p5 = geompy.MakeVertex(100., \r
233  &nbsp;20., &nbsp;45.)</p>\r
234 \r
235 <p class="whs1">p6 = geompy.MakeVertex( \r
236  &nbsp;0., 70., \r
237  &nbsp;40.)</p>\r
238 \r
239 <p class="whs1">p7 = geompy.MakeVertex( \r
240  70., 70., &nbsp;70.)</p>\r
241 \r
242 <p class="whs1">p8 = geompy.MakeVertex( \r
243  70.,-15., &nbsp;70.)</p>\r
244 \r
245 <p class="whs1">p9 = geompy.MakeVertex( \r
246  &nbsp;0., &nbsp;0., \r
247  &nbsp;40.)</p>\r
248 \r
249 <p class="whs1">p10 = geompy.MakeVertex( \r
250  &nbsp;0., 70., \r
251  &nbsp;&nbsp;0.)</p>\r
252 \r
253 <p class="whs1">p11 = geompy.MakeVertex( \r
254  70., 70., &nbsp;&nbsp;0.)</p>\r
255 \r
256 <p class="whs1">p12 = geompy.MakeVertex( \r
257  70., -15., &nbsp;&nbsp;0.)</p>\r
258 \r
259 <p class="whs1">p13 = geompy.MakeVertex( \r
260  &nbsp;0., &nbsp;0., \r
261  &nbsp;&nbsp;0.)</p>\r
262 \r
263 <p>&nbsp;</p>\r
264 \r
265 <p># create faces</p>\r
266 \r
267 <p class="whs1">qface1 = geompy.MakeQuad4Vertices(p1, \r
268  p2, p3, p4)</p>\r
269 \r
270 <p class="whs1">qface2 = geompy.MakeQuad4Vertices(p1, \r
271  p2, p5, p4)</p>\r
272 \r
273 <p class="whs1">qface3 = geompy.MakeQuad4Vertices(p13, \r
274  p12, p11, p10)</p>\r
275 \r
276 <p class="whs1">qface4 = geompy.MakeQuad4Vertices(p9, \r
277  p8, p7, p6)</p>\r
278 \r
279 <p class="whs1">qface5 = geompy.MakeQuad4Vertices(p13, \r
280  p9, p6, p10)</p>\r
281 \r
282 <p class="whs1">qface6 = geompy.MakeQuad4Vertices(p13, \r
283  p9, p8, p12)</p>\r
284 \r
285 <p class="whs1">qface7 = geompy.MakeQuad4Vertices(p12, \r
286  p8, p7, p11)</p>\r
287 \r
288 <p class="whs1">qface8 = geompy.MakeQuad4Vertices(p11, \r
289  p7, p6, p10)</p>\r
290 \r
291 <p>&nbsp;</p>\r
292 \r
293 <p># create a hexahedral solid between two given faces</p>\r
294 \r
295 <p class="whs1">solid1 = geompy.MakeHexa2Faces(qface1, \r
296  qface2)</p>\r
297 \r
298 <p>&nbsp;</p>\r
299 \r
300 <p># create a hexahedral solids, bounded by six given faces</p>\r
301 \r
302 <p class="whs1">solid2 = geompy.MakeHexa(qface3, \r
303  qface4, qface5, qface6, qface7, qface8)</p>\r
304 \r
305 <p>&nbsp;</p>\r
306 \r
307 <p># add objects in the study</p>\r
308 \r
309 <p class="whs1">id_solid1 = geompy.addToStudy(solid1,&quot;Solid1&quot;)</p>\r
310 \r
311 <p class="whs1">id_solid2 = geompy.addToStudy(solid2,&quot;Solid2&quot;)</p>\r
312 \r
313 <p>&nbsp;</p>\r
314 \r
315 <p># display solids</p>\r
316 \r
317 <p class="whs1">gg.createAndDisplayGO(id_solid1)</p>\r
318 \r
319 <p class="whs1">gg.setDisplayMode(id_solid1,1)</p>\r
320 \r
321 <p class="whs1">gg.createAndDisplayGO(id_solid2)</p>\r
322 \r
323 <p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_solid2,1)</span> \r
324  </p>\r
325 \r
326 <p>&nbsp;</p>\r
327 \r
328 <script type="text/javascript" language="javascript1.2">\r
329 <!--\r
330 if (window.writeIntopicBar)\r
331         writeIntopicBar(0);\r
332 //-->\r
333 </script>\r
334 </body>\r
335 </html>\r