1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\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
17 A:visited { color:#800080; }
\r
18 A:link { color:#0000ff; }
\r
20 </style><style type="text/css">
\r
22 p.whs1 { font-size:12pt; }
\r
23 img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; }
\r
24 p.whs3 { margin-left:40px; }
\r
25 img_whs4 { border:none; width:21px; height:19px; border-style:none; }
\r
26 p.whs5 { font-size:12pt; margin-left:40px; font-weight:bold; }
\r
27 img_whs6 { border:none; width:272px; height:303px; float:none; border-style:none; }
\r
28 p.whs7 { font-family:'Times New Roman' , serif; font-size:14pt; }
\r
29 img_whs8 { width:20px; height:20px; border-style:none; }
\r
30 p.whs9 { font-family:'Times New Roman' , serif; font-size:12pt; }
\r
31 img_whs10 { border:none; width:360px; height:307px; float:none; border-style:none; }
\r
32 p.whs11 { font-size:12pt; margin-left:40px; }
\r
33 img_whs12 { border:none; width:312px; height:367px; float:none; border-style:none; }
\r
34 p.whs13 { font-size:12pt; margin-left:400px; }
\r
35 img_whs14 { border:none; width:360px; height:333px; float:none; border-style:none; }
\r
36 p.whs15 { font-size:12pt; font-weight:bold; }
\r
37 img_whs16 { border:none; width:360px; height:328px; float:none; border-style:none; }
\r
38 p.whs17 { font-size:12pt; font-weight:normal; }
\r
39 img_whs18 { border:none; width:360px; height:290px; float:none; border-style:none; }
\r
40 img_whs19 { border:none; width:360px; height:405px; float:none; border-style:none; }
\r
41 img_whs20 { border:none; width:360px; height:337px; float:none; }
\r
42 p.whs21 { font-size:12pt; margin-left:40px; text-indent:-40px; }
\r
43 img_whs22 { border:none; width:25px; height:23px; border-style:none; }
\r
44 ul.whs23 { list-style:disc; }
\r
45 img_whs24 { border:none; width:329px; height:436px; float:none; border-style:none; }
\r
47 </style><script type="text/javascript" language="JavaScript">
\r
49 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
51 var strNSS = "<style type='text/css'>";
\r
52 strNSS += "p.whs21 {text-indent:1pt; }";
\r
53 strNSS +="</style>";
\r
54 document.write(strNSS);
\r
58 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
61 if (innerWidth != origWidth || innerHeight != origHeight)
\r
64 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
65 origWidth = innerWidth;
\r
66 origHeight = innerHeight;
\r
72 <style type="text/css">
\r
74 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
75 p.WebHelpNavBar { text-align:right; }
\r
77 </style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
\r
78 <script type="text/javascript" language="javascript" src="../whver.js"></script>
\r
79 <script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
\r
80 <script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
\r
81 <script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
\r
82 <script type="text/javascript" language="javascript1.2">
\r
84 if (window.gbWhTopic)
\r
86 if (window.setRelStartPage)
\r
88 addTocInfo("Geometry module\nUsing measurement tools");
\r
89 addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
\r
90 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
\r
95 if (window.setRelStartPage)
\r
97 setRelStartPage("../index.htm");
\r
107 document.location.reload();
\r
111 <body><script type="text/javascript" language="javascript1.2">
\r
113 if (window.writeIntopicBar)
\r
114 writeIntopicBar(4);
\r
117 <h1>Using measurement tools</h1>
\r
119 <p class="whs1"><b style="font-weight: normal;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" x-save-file="TRUE" x-save-method="compute-relative" width="30px" height="30px" border="0" class="img_whs2">Measurement tools in GEOM are necessary for getting</b> different
\r
120 data concerning created or imported geometrical objects. They are:</p>
\r
122 <p class="whs1"> </p>
\r
126 <li class=kadov-p><p class="whs1"><a href="#PointCoord">Point
\r
127 coordinates</a></p></li>
\r
129 <li class=kadov-p><p class="whs1"><a href="#Basic_properties">Basic
\r
130 properties</a></p></li>
\r
132 <li class=kadov-p><p class="whs1"><a href="#Center_gravity">Center
\r
133 of mass</a></p></li>
\r
135 <li class=kadov-p><p class="whs1"><a href="#Inertia_axis">Inertia</a></p></li>
\r
137 <li class=kadov-p><p class="whs1"><a href="#Bounding_box">Bounding
\r
140 <li class=kadov-p><p class="whs1"><a href="#Min_distance">Min.
\r
141 distance</a></p></li>
\r
143 <li class=kadov-p><p class="whs1"><a href="#Tolerance">Tolerance</a></p></li>
\r
145 <li class=kadov-p><p class="whs1"><a href="#Whatis">WhatIs</a></p></li>
\r
147 <li class=kadov-p><p class="whs1"><a href="#check">Check</a></p></li>
\r
149 <li class=kadov-p><p class="whs1"><a href="#Check_comp_blocks">Check
\r
150 compound of blocks</a></p></li>
\r
153 <p class="whs1"> </p>
\r
155 <p class="whs1">Our <span style="font-weight: bold;"><B>TUI Scripts</B></span>
\r
156 show how to use <a href="../measurement_tools.htm">Measurement Tools</a>
\r
157 with <span style="font-weight: bold;"><B>TUI
\r
158 commands</B></span>. </p>
\r
160 <p class="whs1"> </p>
\r
162 <p class=TODO>To use measurement tools:</p>
\r
164 <p class=TODO> </p>
\r
166 <p class="whs3">In the main menu select <span style="font-weight: bold;"><B>Measures
\r
167 </B></span>submenu.</p>
\r
169 <p class="whs3"> </p>
\r
171 <p class="whs1"> </p>
\r
173 <p class="whs1"><a name=PointCoord> <img src="../image49.gif" width="21px" height="19px" border="0" class="img_whs4"> <span style="font-weight: bold; font-size: 14pt;"><font size=4 style="font-size:14pt;"><B>Point coordinates</B></font></span></a></p>
\r
175 <p class="whs1"> </p>
\r
177 <p class="whs1"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Returns the
\r
178 coordinates of a point.</font></span></p>
\r
180 <p class="whs1"> </p>
\r
182 <p class="whs1"><b style="font-weight: bold;">Result:</b> Point
\r
183 coordinates (X, Y, Z) in 3D space in the form of Python Tuple.</p>
\r
185 <p class="whs1"><span style="font-weight: bold;"><B>TUI command:</B></span>
\r
186 <span style="font-style: italic;"><I>geompy.PointCoordinates(Point)</I></span>,
\r
187 where Point is a point whose coordinates are inquired.</p>
\r
189 <p class="whs1"> </p>
\r
191 <p class="whs5"><img src="../pics/measures1.png" x-maintain-ratio="TRUE" width="272px" height="303px" border="0" class="img_whs6"></p>
\r
193 <p class="whs1"> </p>
\r
195 <p class="whs1"> </p>
\r
197 <p class="whs7"><b style="font-weight: bold;"><a
\r
198 NAME=Basic_properties
\r
199 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif" width="20px" height="20px" border="0" class="img_whs8"> Basic properties</a></b>
\r
202 <p class="whs9"> </p>
\r
204 <p class="whs1">Returns the properties (Length, Surface &
\r
205 Volume) for the selected geometrical object.</p>
\r
207 <p class="whs1"> </p>
\r
209 <p class="whs1"><b style="font-weight: bold;">Result:</b> Display
\r
210 Length, Surface & Volume in the form of Python Tuple.</p>
\r
212 <p class="whs1"><span style="font-weight: bold;"><B>TUI command:</B></span>
\r
213 <span style="font-style: italic;"><I>geompy.BasicProperties(Shape)</I></span>,
\r
214 where Shape is a shape whose properties are inquired.</p>
\r
216 <p class="whs1"> </p>
\r
218 <p class="whs3"><img src="../pics/neo-basicprop.png" x-maintain-ratio="TRUE" width="360px" height="307px" border="0" class="img_whs10"></p>
\r
224 <p class="whs7"><a name=Center_gravity
\r
225 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;">
\r
226 Center of mass</b></a></p>
\r
228 <p class="whs9"> </p>
\r
230 <p class="whs1">Calculates and returns the coordinates of the
\r
231 gravity center for the selected geometrical object.</p>
\r
233 <p class="whs1"> </p>
\r
235 <p class="whs1"><b style="font-weight: bold;">Result:</b> GEOM_Object
\r
238 <p class="whs1"><b style="font-weight: bold;">TUI Command:</b><i>
\r
239 </i><span style="font-style: italic;"><I>geompy.MakeCDG(Shape)</I></span>, where
\r
240 Shape is the shape for which a center of gravity is computed.</p>
\r
242 <p class="whs1"> </p>
\r
244 <p class="whs11"><img src="../pics/measures3.png" x-maintain-ratio="TRUE" width="312px" height="367px" border="0" class="img_whs12"></p>
\r
246 <p class="whs1"> </p>
\r
248 <p class="whs7"> </p>
\r
250 <p class="whs7"><a NAME=Inertia_axis
\r
251 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"
\r
252 size=4> Inertia</font></b></a>
\r
255 <p class="whs7"> </p>
\r
257 <p class="whs1">Returns the axis of inertia for the selected
\r
258 geometrical object.</p>
\r
260 <p class="whs1"> </p>
\r
262 <p class="whs1"><b style="font-weight: bold;">Result:</b> Displays
\r
263 the matrix and moments of inertia in the form of Python Tuple (I11, I12,
\r
266 <p class="whs13"> I21,
\r
269 <p class="whs13"> I31,
\r
272 <p class="whs13"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> Ix,
\r
273 Iy, Iz)</font></span>.</p>
\r
275 <p class="whs1"> </p>
\r
277 <p class="whs1"><span style="font-weight: bold;"><B>TUI command:</B></span>
\r
278 <span style="font-style: italic;"><I>geompy.Inertia(Shape)</I></span>, where
\r
279 Shape is a shape for which a matrix of inertia and moment of inertia are
\r
282 <p class="whs11"> </p>
\r
284 <p class="whs11"><img src="../pics/measures4.png" x-maintain-ratio="TRUE" width="360px" height="333px" border="0" class="img_whs14"></p>
\r
286 <p class="whs1"> </p>
\r
288 <p class="whs1"> </p>
\r
290 <p class="whs7"><a NAME=Bounding_box
\r
291 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"
\r
293 box</font></b></a> </p>
\r
295 <p class="whs7"> </p>
\r
297 <p class="whs1">Returns the dimensions of the bounding box
\r
298 for the selected geometrical object.</p>
\r
300 <p class="whs1"> </p>
\r
302 <p class="whs1"><b style="font-weight: bold;">Result:</b> Displays
\r
303 the dimensions of the bounding box of a geometrical object in the form
\r
304 of Python Tuple (Xmin, Xmax, Ymin, Ymax, Zmin, Zmax).</p>
\r
306 <p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.BoundingBox(Shape)</I></span><span
\r
307 style="font-weight: normal;">, where Shape is a shape for which a bounding
\r
308 box is computed.</span></p>
\r
310 <p class="whs1"> </p>
\r
312 <p class="whs11"><img src="../pics/measures5.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs16"></p>
\r
314 <p class="whs1"> </p>
\r
316 <p class="whs1"> </p>
\r
318 <p class="whs7"><a NAME=Min_distance
\r
319 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"
\r
320 size=4> Min. distance</font></b></a></p>
\r
322 <p class="whs7"> </p>
\r
324 <p class="whs1">Returns the minimum distance between two geometrical
\r
327 <p class="whs1"> </p>
\r
329 <p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.MinDistance(Shape1,
\r
330 Shape2)</I></span><span style="font-weight: normal;">, where Shape1 and Shape2
\r
331 are shapes between which the minimal distance computed.</span></p>
\r
333 <p class="whs17"> </p>
\r
335 <p class="whs11"><img src="../pics/distance.png" x-maintain-ratio="TRUE" width="360px" height="290px" border="0" class="img_whs18"></p>
\r
337 <p class="whs1"> </p>
\r
339 <p class="whs1"> </p>
\r
341 <p class="whs7"><a NAME=Tolerance
\r
342 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;">
\r
343 Tolerance</b></a> </p>
\r
345 <p class="whs9"> </p>
\r
347 <p class="whs1">Returns the maximum and the minimum tolerance
\r
348 for the selected geometrical object.</p>
\r
350 <p class="whs1"> </p>
\r
352 <p class="whs1"><b style="font-weight: bold;">Result:</b> Displays
\r
353 the tolerance values (FaceMinTol, FaceMaxTol, EgdeMinTol, EgdeMaxTol,
\r
354 VertexMinTol, VertexMaxTol).</p>
\r
356 <p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.Tolerance(Shape)</I></span><span
\r
357 style="font-weight: normal;">, where Shape is a shape for which minimal
\r
358 and maximal tolerances are returned.</span></p>
\r
360 <p class="whs1"> </p>
\r
362 <p class="whs11"><img src="../pics/new-tolerance.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs16"></p>
\r
364 <p class="whs1"> </p>
\r
366 <p class="whs1"> </p>
\r
368 <p class="whs7"><a NAME=Whatis><span
\r
369 style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;"> WhatIs</b></a>
\r
372 <p class="whs9"> </p>
\r
374 <p class="whs1">Displays types and quantities of all elements
\r
375 composing the selected geometrical object.</p>
\r
377 <p class="whs1"> </p>
\r
379 <p class="whs1"><span style="font-weight: bold;"><B>TUI command:</B></span>
\r
380 <span style="font-style: italic;"><I>geompy.WhatIs(Shape)</I></span>, where Shape
\r
381 is a shape from which a description is returned.</p>
\r
383 <p class="whs1"> </p>
\r
385 <p class="whs11"><img src="../pics/measures8.png" x-maintain-ratio="TRUE" width="360px" height="405px" border="0" class="img_whs19"></p>
\r
387 <p class="whs11"> </p>
\r
389 <p class="whs11"> </p>
\r
391 <p class="whs7"><a NAME=check
\r
392 style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"
\r
393 size=4> Check</font></b></a>
\r
396 <p class="whs7"> </p>
\r
398 <p class="whs1">Checks the topology of the selected geometrical
\r
399 object and returns True if it is valid. <span style="font-weight: bold;"><B>Check
\r
400 also geometry</B></span> checkbox allows to test the geometry as well. </p>
\r
402 <p class="whs1"> </p>
\r
404 <p class="whs1"><b style="font-weight: bold;">Result:</b> Boolean.</p>
\r
406 <p class="whs1"><b style="font-weight: bold;">TUI Command:</b><i>
\r
407 </i><span style="font-style: italic;"><I>geompy.CheckShape(Shape)</I></span>,
\r
408 where is shape which is checked for validity.</p>
\r
410 <p class="whs1"> </p>
\r
412 <p class="whs11"><img src="../pics/measures9.png" x-maintain-ratio="TRUE" width="360px" height="337px" border="0" class="img_whs20"></p>
\r
414 <p class="whs21"> </p>
\r
416 <p class="whs21"> </p>
\r
418 <p class="whs21"><a name=Check_comp_blocks><img src="../image27.gif" width="25px" height="23px" border="0" class="img_whs22"> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check compound
\r
419 of blocks</B></font></span></a></p>
\r
421 <p class="whs21"> </p>
\r
423 <p class="whs1">Checks whether a shape is a compound of glued
\r
424 blocks. To be considered as a compound of blocks, the given shape must
\r
425 satisfy the following conditions:</p>
\r
427 <ul type="disc" class="whs23">
\r
429 <li class=kadov-p><p class="whs1"> Each
\r
430 element of the compound should be a Block (6 faces and 12 edges);</p></li>
\r
432 <li class=kadov-p><p class="whs1"> A
\r
433 connection between two Blocks should be an entire quadrangle face or an
\r
434 entire edge;</p></li>
\r
436 <li class=kadov-p><p class="whs1"> The
\r
437 compound should be connected;</p></li>
\r
439 <li class=kadov-p><p class="whs1"> Two
\r
440 quadrangle faces should be glued. </p></li>
\r
443 <p class="whs1"> </p>
\r
445 <p class="whs1">Informs of the following possible errors:</p>
\r
447 <ul type="disc" class="whs23">
\r
449 <li class=kadov-p><p class="whs1">not a block,</p></li>
\r
451 <li class=kadov-p><p class="whs1">not glued,</p></li>
\r
453 <li class=kadov-p><p class="whs1">not connected,</p></li>
\r
455 <li class=kadov-p><p class="whs1"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">extra
\r
456 or degenerated edge.</font></span></p></li>
\r
459 <p class="whs1"> </p>
\r
461 <p class="whs1"><b style="font-weight: bold;">Result:</b> Boolean;
\r
462 highlight in the viewer.</p>
\r
464 <p class="whs1"><b style="font-weight: bold;">TUI Command:</b><i>
\r
465 </i><span style="font-style: italic;"><I>geompy.CheckCompoundOfBlocks(Compound).
\r
466 </I></span>Checks if the<span style="font-style: italic;"> <I></I></span>shape is
\r
467 a valid compound of blocks. If it is true, then the validity flag is returned,
\r
468 and encountered errors are printed in the python console.</p>
\r
470 <p class="whs11"> </p>
\r
472 <p class="whs11"><img src="../pics/measures10.png" x-maintain-ratio="TRUE" width="329px" height="436px" border="0" class="img_whs24"></p>
\r
474 <p class="whs11"> </p>
\r
476 <script type="text/javascript" language="javascript1.2">
\r
478 if (window.writeIntopicBar)
\r
479 writeIntopicBar(0);
\r