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