1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Shape Processing</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 img_whs1 { border:none; width:25px; height:24px; border-style:none; }
\r
18 p.whs2 { font-size:12pt; }
\r
19 p.whs3 { font-size:12pt; margin-left:40px; }
\r
20 img_whs4 { border:none; width:403px; height:469px; float:none; border-style:none; }
\r
21 p.whs5 { font-size:12pt; font-weight:bold; }
\r
22 ul.whs6 { list-style:disc; }
\r
23 p.whs7 { font-size:12pt; margin-left:48px; }
\r
24 p.whs8 { font-size:12pt; margin-left:0px; }
\r
25 p.whs9 { font-size:12pt; margin-left:0px; font-weight:bold; }
\r
26 p.whs10 { font-size:12pt; font-weight:bold; margin-left:48px; }
\r
27 p.whs11 { font-size:12pt; margin-left:48px; font-weight:normal; }
\r
28 p.whs12 { font-size:12pt; margin-left:88px; font-weight:normal; }
\r
29 p.whs13 { font-size:12pt; margin-left:0px; font-weight:normal; }
\r
30 p.whs14 { font-size:12pt; margin-left:48px; font-weight:bold; }
\r
31 p.whs15 { font-size:12pt; font-weight:bold; margin-left:0px; }
\r
32 img_whs16 { border:none; width:300px; height:214px; border-style:none; }
\r
33 img_whs17 { border:none; width:244px; height:214px; border-style:none; }
\r
34 p.whs18 { font-family:'Times New Roman' , serif; font-size:14pt; }
\r
35 p.whs19 { font-family:'Times New Roman' , serif; font-size:12pt; }
\r
36 img_whs20 { border:none; width:239px; height:214px; border-style:none; }
\r
37 p.whs21 { font-weight:bold; }
\r
39 </style><script type="text/javascript" language="JavaScript">
\r
41 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
43 var strNSS = "<style type='text/css'>";
\r
44 strNSS += "p.whs8 {margin-left:1pt; }";
\r
45 strNSS += "p.whs9 {margin-left:1pt; }";
\r
46 strNSS += "p.whs13 {margin-left:1pt; }";
\r
47 strNSS += "p.whs15 {margin-left:1pt; }";
\r
48 strNSS +="</style>";
\r
49 document.write(strNSS);
\r
53 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
56 if (innerWidth != origWidth || innerHeight != origHeight)
\r
59 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
60 origWidth = innerWidth;
\r
61 origHeight = innerHeight;
\r
67 <style type="text/css">
\r
69 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
70 p.WebHelpNavBar { text-align:right; }
\r
72 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
73 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
74 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
75 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
76 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
77 <script type="text/javascript" language="javascript1.2">
\r
79 if (window.gbWhTopic)
\r
81 if (window.setRelStartPage)
\r
83 addTocInfo("Geometry module\nTransforming geometrical objects\nRepairing Operations\nShape Processing");
\r
84 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
\r
85 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
\r
90 if (window.setRelStartPage)
\r
92 setRelStartPage("index.htm");
\r
102 document.location.reload();
\r
106 <body><script type="text/javascript" language="javascript1.2">
\r
108 if (window.writeIntopicBar)
\r
109 writeIntopicBar(4);
\r
112 <h1><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="image41.gif" width="25px" height="24px" border="0" class="img_whs1"></font></span>Shape Processing</h1>
\r
114 <p class="whs2"><b style="font-weight: normal;">T</b>o produce
\r
115 a <span style="font-weight: bold;"><B>Shape Processing</B></span> operation in
\r
116 the Main Menu select <span style="font-weight: bold;"><B>Repair - ></B></span>
\r
117 <span style="font-weight: bold;"><B>Shape Processing.</B></span></p>
\r
119 <p class="whs2">This operation processes one or more shapes
\r
120 using various operators.</p>
\r
122 <p class="whs2"> </p>
\r
124 <p class="whs2"><b><span style="font-weight: normal;">The</span>
\r
125 Result <span style="font-weight: normal;">will be a</span></b><b> <span
\r
126 style="font-weight: bold;"><B>GEOM_Object</b>.</B></span></p>
\r
128 <p class="whs2"> </p>
\r
130 <p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i>
\r
131 </i><span style="font-style: italic;"><I>geompy.ProcessShape(Shape, Operators,
\r
132 Parameters, Values)</I></span>, where Shape is a processed shape, Operators
\r
133 is a list of operators ("FixShape", "SplitClosedFaces",
\r
134 etc.), Parameters is a list of parameters (
\93FixShape.Tolerance3d
\94, etc),
\r
135 Values is a list of values of parameters placed in the same order as in
\r
136 the list of Parameters .</p>
\r
138 <p class="whs2"> </p>
\r
140 <p class="whs2">In this dialog box you can select the object
\r
141 that you need to process, define its name and operators applied to it
\r
142 during processing. </p>
\r
144 <p class="whs2"> </p>
\r
146 <p class="whs3"><img src="pics/repair1.png" x-maintain-ratio="TRUE" width="403px" height="469px" border="0" class="img_whs4"></p>
\r
148 <p class="whs3"> </p>
\r
150 <p class="whs5">Operators and Parameters<span
\r
151 style="font-weight: normal;"> (TUI names are given in brackets)</span></p>
\r
153 <p class="whs2"> </p>
\r
155 <ul type="disc" class="whs6">
\r
157 <li class=kadov-p><p class="whs2"><span style="font-weight: bold;"><B>Fix
\r
158 Shape</B></span> (FixShape) - corrects invalid shapes. </p></li>
\r
160 <li class=kadov-p><p class="whs7"><span
\r
161 style="font-weight: bold;"><B>3D Tolerance</B></span> (FixShape.Tolerance3d)
\r
162 - work tolerance for detection of the problems and correction of them.</p></li>
\r
164 <li class=kadov-p><p class="whs7"><span
\r
165 style="font-weight: bold;"><B>Max 3D Tolerance</B></span> (FixShape.MaxTolerance3d)
\r
167 possible tolerance of the shape after correction.</p></li>
\r
169 <li class=kadov-p><p class="whs8"><span
\r
170 style="font-weight: bold;"><B>Fix Face Size</B></span> (FixFaceSize) - removes
\r
171 small faces, such as spots and strips. </p></li>
\r
173 <li class=kadov-p><p class="whs7"><span
\r
174 style="font-weight: bold;"><B>Tolerance</B></span> (FixFaceSize.Tolerance) -
\r
175 defines minimum possible face size.</p></li>
\r
177 <li class=kadov-p><p class="whs8"><span
\r
178 style="font-weight: bold;"><B>Drop Small Edges</B></span> (DropSmallEdges) -
\r
179 removes edges, which merge with neighbouring edges.</p></li>
\r
181 <li class=kadov-p><p class="whs7"><span
\r
182 style="font-weight: bold;"><B>3D Tolerance</B></span> (DropSmallEdges.Tolerance3d)
\r
183 - defines minimum possible distance between two parallel edges.</p></li>
\r
185 <li class=kadov-p><p class="whs8"><span
\r
186 style="font-weight: bold;"><B>Split Angle</B></span> (SplitAngle) - splits faces
\r
187 based on conical surfaces, surfaces of revolution and cylindrical surfaces
\r
188 in segments using a certain angle . </p></li>
\r
190 <li class=kadov-p><p class="whs7"><span
\r
191 style="font-weight: bold;"><B>Angle</B></span> (SplitAngle.Angle) - the central
\r
192 angle of the resulting segments (i.e. we obtain two segments if Angle=180,
\r
193 four if Angle=90, etc).</p></li>
\r
195 <li class=kadov-p><p class="whs7"><span
\r
196 style="font-weight: bold;"><B>Max. Tolerance</B></span> (SplitAngle.MaxTolerance)
\r
197 - maximum possible tolerance among the resulting segments.</p></li>
\r
199 <li class=kadov-p><p class="whs9">Split Closed Faces
\r
200 <span style="font-weight: normal;">(SplitClosedFaces)</span> - <span style="font-weight: normal;">splits
\r
201 closed faces in segments. The number of segments depends on the number
\r
202 of splitting points.</span></p></li>
\r
204 <li class=kadov-p><p class="whs7"><span
\r
205 style="font-weight: bold;"><B>Number of splitting points</B></span> (SplitClosedFaces.NbSplitPoints)
\r
206 - the number of splitting points.</p></li>
\r
208 <li class=kadov-p><p class="whs9">Split Continuity<span
\r
209 style="font-weight: normal;"> (SplitContinuity) - splits shapes to reduce
\r
210 continuities of curves and surfaces.</span></p></li>
\r
212 <li class=kadov-p><p class="whs10">3D Tolerance<span style="font-weight: normal;">
\r
213 (SplitContinuity.Tolerance3d) - 3D tolerance for correction of geometry.</span></p></li>
\r
215 <li class=kadov-p><p class="whs10">Surface Continuity<span
\r
216 style="font-weight: normal;"> (SplitContinuity.SurfaceContinuity) - required
\r
217 continuity for surfaces.</span></p></li>
\r
219 <li class=kadov-p><p class="whs10">Curve Continuity <span
\r
220 style="font-weight: normal;">(SplitContinuity.CurveContinuity)</span>
\r
221 - <span style="font-weight: normal;">required continuity for curves.</span></p></li>
\r
224 <p class="whs11">This and the previous parameters can
\r
225 take the following values:</p>
\r
227 <p class="whs12"><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;"><span
\r
228 style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">P</font></span>arametric Continuity
\r
231 <p class="whs12"><span style="font-weight: bold;"><B>C0</B></span>
\r
232 (Positional Continuity): curves are joined (the end positions of curves
\r
233 or surfaces are coincidental. The curves or surfaces may still meet at
\r
234 an angle, giving rise to a sharp corner or edge).</p>
\r
236 <p class="whs12"><span style="font-weight: bold;"><B>C1</B></span>
\r
237 (Tangential Continuity): first derivatives are equal (the end vectors
\r
238 of curves or surfaces are parallel, ruling out sharp edges). </p>
\r
240 <p class="whs12"><span style="font-weight: bold;"><B>C2</B></span>
\r
241 (Curvature Continuity): first and second derivatives are equal (the end
\r
242 vectors of curves or surfaces are of the same magnitude).</p>
\r
244 <p class="whs12"><span style="font-weight: bold;"><B>CN</B></span>
\r
245 N-th derivatives are equal (both the direction and the magnitude of the
\r
246 Nth derivatives of curves or surfaces (d/du C(u)) are the same at junction.</p>
\r
248 <p class="whs12">Geometric Continuity </p>
\r
250 <p class="whs12"><span style="font-weight: bold;"><B>G1</B></span>:
\r
251 first derivatives are proportional at junction</p>
\r
253 <p class="whs12">The curve tangents thus have the same
\r
254 direction, but not necessarily the same magnitude. i.e., C1'(1) = (a,b,c)
\r
255 and C2'(0) = (k*a, k*b, k*c). </p>
\r
257 <p class="whs12"><span style="font-weight: bold;"><B>G2</B></span>:
\r
258 first and second derivatives are proportional at junction </p>
\r
260 <p class="whs12">As the names imply, geometric continuity
\r
261 requires the geometry to be continuous, while parametric continuity requires
\r
262 that the underlying parameterization was continuous as well. </p>
\r
264 <p class="whs12">Parametric continuity of order n implies
\r
265 geometric continuity of order n, but not vice-versa. </p>
\r
267 <ul type="disc" class="whs6">
\r
269 <li class=kadov-p><p class="whs13"><span style="font-weight: bold;"><B>Bspline
\r
270 Restriction</B></span> (BsplineRestriction) - converts curves and surfaces
\r
271 to Bsplines and processes them with the following parameters:</p></li>
\r
273 <li class=kadov-p><p class="whs14">Surface Mode<span style="font-weight: normal;">
\r
274 (BSplineRestriction.SurfaceMode) - approximation of surfaces if restriction
\r
275 is necessary.</span></p></li>
\r
277 <li class=kadov-p><p class="whs14">3D Curve Mode<span
\r
278 style="font-weight: normal;"> (BSplineRestriction.Curve3dMode) - conversion
\r
279 of any 3D curve to BSpline and approximation.</span></p></li>
\r
281 <li class=kadov-p><p class="whs14">2D Curve Mode<span
\r
282 style="font-weight: normal;"> (BSplineRestriction.Curve2dMode) -</span>
\r
283 <span style="font-weight: normal;">conversion of any 2D curve to BSpline
\r
284 and approximation.</span></p></li>
\r
286 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>3D
\r
287 Tolerance</B></span> (BSplineRestriction.Tolerance3d) - defines the possibility
\r
288 of surfaces and 3D curves approximation with the specified parameters.</p></li>
\r
290 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>2D
\r
291 Tolerance</B></span> (BSplineRestriction.Tolerance2d) - defines the possibility
\r
292 of surfaces and 2D curves approximation with the specified parameters.</p></li>
\r
294 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>Required
\r
295 Degree</B></span> (BSplineRestriction.RequiredDegree) - required degree of
\r
296 the resulting BSplines.</p></li>
\r
298 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>Required
\r
299 number of segments</B></span> (BSplineRestriction.RequiredNbSegments) - required
\r
300 maximum number of segments of resultant BSplines</p></li>
\r
302 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>3D
\r
303 Continuity</B></span> (BSplineRestriction.Continuity3d) - continuity of the
\r
304 resulting surfaces and 3D curves.</p></li>
\r
306 <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>2D
\r
307 Continuity</B></span> (BSplineRestriction.Continuity2d) - continuity of the
\r
308 resulting 2D curves.</p></li>
\r
310 <li class=kadov-p><p class="whs8"><span
\r
311 style="font-weight: bold;"><B>To Bezier</B></span> (ToBezier) - converts curves
\r
312 and surfaces of any type to Bezier curves and surfaces. </p></li>
\r
314 <li class=kadov-p><p class="whs14">Surface Mode<span style="font-weight: normal;">
\r
315 (ToBezier.SurfaceMode) - if checked in, allows conversion of surfaces.</span></p></li>
\r
317 <li class=kadov-p><p class="whs14">3D Curve Mode <span
\r
318 style="font-weight: normal;">(ToBezier.Curve3dMode) - if checked in, allows
\r
319 conversion of 2D curves.</span></p></li>
\r
321 <li class=kadov-p><p class="whs14">2D Curve Mode <span
\r
322 style="font-weight: normal;">(ToBezier.Curve2dMode) - if checked in, allows
\r
323 conversion of 3D curves.</span></p></li>
\r
325 <li class=kadov-p><p class="whs14">Max Tolerance<span
\r
326 style="font-weight: normal;"> (ToBezier.MaxTolerance) </span>- <span style="font-weight: normal;">defines</span>
\r
327 <span style="font-weight: normal;">tolerance for detection and correction
\r
328 of problems.</span> </p></li>
\r
330 <li class=kadov-p><p class="whs15">Same Parameter<span
\r
331 style="font-weight: normal;"> (SameParameter)
\96 fixes
\r
332 edges of 2D and 3D curves not having the same parameter.</span> </p></li>
\r
334 <li class=kadov-p><p class="whs7"><span
\r
335 style="font-weight: bold;"><B>3D Tolerance</B></span> (SameParameter.Tolerance3d)
\r
336 \96 defines<span style="font-weight: bold;"> <B></B></span>tolerance for fixing
\r
337 of edges.<span style="font-weight: bold;"> <B></B></span></p></li>
\r
340 <p class="whs2"> </p>
\r
342 <p class="whs2"><b style="font-weight: bold;">Dialog Box:</b></p>
\r
344 <p class="whs2"> </p>
\r
346 <p class="whs3"><img src="pics/repair1.png" x-maintain-ratio="TRUE" width="403px" height="469px" border="0" class="img_whs4"></p>
\r
348 <p class="whs3"> </p>
\r
350 <p class="whs2"> </p>
\r
352 <p class="whs2"><b style="font-weight: bold;">Example:</b></p>
\r
356 <p class="whs2">Shape before applying Shape Processing (FixShape
\r
359 <p class="whs2"> </p>
\r
361 <p class="whs3"><img src="image154.jpg" width="300px" height="214px" border="0" class="img_whs16"> <img src="image156.jpg" width="244px" height="214px" border="0" class="img_whs17"></p>
\r
363 <p class="whs18"> </p>
\r
365 <p class="whs19">The
\r
366 same shape after applying Shape Processing.</p>
\r
368 <p class="whs18"> </p>
\r
370 <p class="whs3"><img src="image160.jpg" width="239px" height="214px" border="0" class="img_whs20"></p>
\r
372 <p class="whs21"> </p>
\r
374 <p class="whs21"><span style="font-weight: normal;">Our</span>
\r
375 TUI Scripts<span style="font-weight: normal;"> provide you with useful
\r
376 examples of the use of</span> <a href="repairing_operations.htm#bookmark">Repairing
\r
377 Operations</a>. </p>
\r
381 <script type="text/javascript" language="javascript1.2">
\r
383 if (window.writeIntopicBar)
\r
384 writeIntopicBar(0);
\r