Salome HOME
Change version name to 3.2.0a2
[modules/geom.git] / doc / salome / gui / GEOM / files / salome2_sp3_repairgui_functions.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>Titre</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>\r
16 <!--\r
17 A:link { color:#0000ff; }\r
18 -->\r
19 </style><style type="text/css">\r
20 <!--\r
21 p.whs1 { font-family:'Times New Roman' , serif; font-size:12pt; }\r
22 img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
23 ul.whs3 { list-style:disc; }\r
24 p.whs4 { font-size:12pt; }\r
25 img_whs5 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
26 p.whs6 { margin-left:40px; }\r
27 img_whs7 { border:none; width:25px; height:24px; border-style:none; }\r
28 table.whs8 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
29 col.whs9 { width:8.851%; }\r
30 col.whs10 { width:91.149%; }\r
31 tr.whs11 { x-cell-content-align:top; }\r
32 td.whs12 { width:8.851%; border-left-width:1px; border-left-color:#000000; border-left-style:Solid; border-top-style:Solid; border-top-color:#000000; border-top-width:1px; border-right-width:1px; border-right-color:#000000; border-right-style:Solid; border-bottom-style:Solid; border-bottom-color:#000000; border-bottom-width:1px; padding-right:10px; padding-left:10px; }\r
33 td.whs13 { width:91.149%; border-top-style:Solid; border-top-color:#000000; border-top-width:1px; border-right-width:1px; border-right-color:#000000; border-right-style:Solid; border-bottom-style:Solid; border-bottom-color:#000000; border-bottom-width:1px; padding-right:10px; padding-left:10px; }\r
34 td.whs14 { width:8.851%; border-left-width:1px; border-left-color:#000000; border-left-style:Solid; border-right-width:1px; border-right-color:#000000; border-right-style:Solid; border-bottom-style:Solid; border-bottom-color:#000000; border-bottom-width:1px; padding-right:10px; padding-left:10px; }\r
35 td.whs15 { width:91.149%; border-right-width:1px; border-right-color:#000000; border-right-style:Solid; border-bottom-style:Solid; border-bottom-color:#000000; border-bottom-width:1px; padding-right:10px; padding-left:10px; }\r
36 p.whs16 { font-size:12pt; margin-left:40px; }\r
37 img_whs17 { border:none; width:403px; height:469px; float:none; border-style:none; }\r
38 img_whs18 { border:none; width:300px; height:214px; border-style:none; }\r
39 img_whs19 { border:none; width:244px; height:214px; border-style:none; }\r
40 p.whs20 { font-family:'Times New Roman' , serif; font-size:14pt; }\r
41 img_whs21 { border:none; width:239px; height:214px; border-style:none; }\r
42 img_whs22 { width:20px; height:20px; border-style:none; }\r
43 img_whs23 { border:none; width:312px; height:289px; float:none; border-style:none; }\r
44 img_whs24 { border:none; width:150px; height:131px; border-style:none; }\r
45 p.whs25 { font-size:14pt; font-weight:bold; }\r
46 p.whs26 { font-size:12pt; margin-left:40px; font-weight:bold; }\r
47 img_whs27 { border:none; width:312px; height:397px; float:none; border-style:none; }\r
48 p.whs28 { font-size:12pt; font-weight:bold; }\r
49 img_whs29 { border:none; width:312px; height:350px; float:none; border-style:none; }\r
50 img_whs30 { border:none; width:200px; height:214px; border-style:none; }\r
51 img_whs31 { border:none; width:176px; height:214px; border-style:none; }\r
52 img_whs32 { border:none; border-style:none; width:343px; height:123px; float:none; }\r
53 img_whs33 { border:none; width:312px; height:381px; float:none; border-style:none; }\r
54 img_whs34 { border:none; width:150px; height:136px; border-style:none; }\r
55 img_whs35 { border:none; width:312px; height:346px; float:none; border-style:none; }\r
56 img_whs36 { border:none; width:150px; height:132px; border-style:none; }\r
57 img_whs37 { border:none; width:22px; height:22px; border-style:none; }\r
58 p.whs38 { font-size:12pt; font-weight:normal; }\r
59 p.whs39 { margin-left:40px; font-size:12pt; font-weight:bold; }\r
60 img_whs40 { border:none; width:312px; height:388px; float:none; border-style:none; }\r
61 p.whs41 { font-size:12pt; margin-left:40px; text-indent:-40px; }\r
62 p.whs42 { font-size:12pt; margin-left:40px; text-indent:-40px; font-weight:bold; }\r
63 p.whs43 { margin-left:80px; font-size:12pt; text-indent:-40px; }\r
64 img_whs44 { border:none; width:200px; height:231px; border-style:none; }\r
65 img_whs45 { border:none; width:185px; height:231px; border-style:none; }\r
66 p.whs46 { font-size:12pt; text-indent:-68px; margin-left:72px; }\r
67 p.whs47 { font-size:12pt; text-indent:-68px; margin-left:112px; }\r
68 img_whs48 { border:none; width:312px; height:315px; float:none; border-style:none; }\r
69 p.whs49 { font-size:12pt; margin-left:112px; text-indent:-112px; }\r
70 p.whs50 { font-size:12pt; text-indent:-112px; margin-left:152px; }\r
71 img_whs51 { border:none; width:200px; height:150px; float:none; border-style:none; }\r
72 img_whs52 { border:none; width:204px; height:150px; border-style:none; }\r
73 p.whs53 { font-size:12pt; text-indent:-40px; margin-left:80px; }\r
74 p.whs54 { font-size:12pt; margin-left:80px; text-indent:-80px; }\r
75 p.whs55 { font-size:12pt; margin-left:80px; text-indent:-68px; }\r
76 img_whs56 { border:none; width:243px; height:203px; float:none; border-style:none; }\r
77 p.whs57 { font-size:12pt; margin-left:0px; }\r
78 img_whs58 { border:none; width:209px; height:138px; border-style:none; }\r
79 img_whs59 { border:none; width:192px; height:138px; border-style:none; }\r
80 img_whs60 { border:none; width:191px; height:138px; border-style:none; }\r
81 img_whs61 { border:none; width:23px; height:22px; border-style:none; }\r
82 img_whs62 { border:none; width:322px; height:163px; float:none; border-style:none; }\r
83 -->\r
84 </style><script type="text/javascript" language="JavaScript">\r
85 <!--\r
86 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
87 {\r
88   var strNSS = "<style type='text/css'>";\r
89   strNSS += "p.whs41 {text-indent:1pt; }";\r
90   strNSS += "p.whs42 {text-indent:1pt; }";\r
91   strNSS += "p.whs43 {text-indent:1pt; }";\r
92   strNSS += "p.whs46 {text-indent:1pt; }";\r
93   strNSS += "p.whs47 {text-indent:1pt; }";\r
94   strNSS += "p.whs49 {text-indent:1pt; }";\r
95   strNSS += "p.whs50 {text-indent:1pt; }";\r
96   strNSS += "p.whs53 {text-indent:1pt; }";\r
97   strNSS += "p.whs54 {text-indent:1pt; }";\r
98   strNSS += "p.whs55 {text-indent:1pt; }";\r
99   strNSS += "p.whs57 {margin-left:1pt; }";\r
100   strNSS +="</style>";\r
101   document.write(strNSS);\r
102 }\r
103 //-->\r
104 </script>\r
105 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
106 <!--\r
107 function reDo() {\r
108   if (innerWidth != origWidth || innerHeight != origHeight)\r
109      location.reload();\r
110 }\r
111 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
112         origWidth = innerWidth;\r
113         origHeight = innerHeight;\r
114         onresize = reDo;\r
115 }\r
116 onerror = null; \r
117 //-->\r
118 </script>\r
119 <style type="text/css">\r
120 <!--\r
121 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
122 -->\r
123 </style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
124 <script type="text/javascript" language="javascript" src="../whver.js"></script>\r
125 <script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
126 <script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
127 <script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
128 </head>\r
129 <body><script type="text/javascript" language="javascript1.2">\r
130 <!--\r
131 if (window.gbWhTopic)\r
132 {\r
133         if (window.addTocInfo)\r
134         {\r
135         addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
136 \r
137         }\r
138         if (window.writeBtnStyle)\r
139                 writeBtnStyle();\r
140 \r
141         if (window.writeIntopicBar)\r
142                 writeIntopicBar(1);\r
143 \r
144         if (window.setRelStartPage)\r
145         {\r
146         setRelStartPage("../geom.htm");\r
147 \r
148                 autoSync(1);\r
149                 sendSyncInfo();\r
150                 sendAveInfoOut();\r
151         }\r
152 }\r
153 else\r
154         if (window.gbIE4)\r
155                 document.location.reload();\r
156 //-->\r
157 </script>\r
158 <h1>Repairing geometrical objects</h1>\r
159 \r
160 <p class="whs1"><b style="font-weight: bold;"><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"><span style="font-weight: normal;">Repairing operations are \r
161  used for adjustment and modification of created geometrical shapes. The \r
162  are:</span> </b></p>\r
163 \r
164 <p class="whs1"><a HREF="#sewing">&nbsp;</a></p>\r
165 \r
166 <ul type="disc" class="whs3">\r
167         \r
168         <li class=kadov-p><p class="whs1">&nbsp;<a \r
169  href="#Shape">Shape processing</a></p></li>\r
170         \r
171         <li class=kadov-p><p class="whs1">&nbsp;<a \r
172  HREF="#_Toc57113182">Suppress faces&#9;</a></p></li>\r
173         \r
174         <li class=kadov-p><p class="whs1">&nbsp;<a \r
175  href="#CloseContour">Close contour</a></p></li>\r
176         \r
177         <li class=kadov-p><p class="whs1">&nbsp;<a \r
178  href="#SuppressInternalWires">Suppress internal \r
179  wires</a><a HREF="#sewing">&#9;</a></p></li>\r
180         \r
181         <li class=kadov-p><p class="whs1"><a \r
182  HREF="#_Toc57113181">&nbsp;<a HREF="#_Toc57113183">Suppress \r
183  holes&#9;</a></a></p></li>\r
184         \r
185         <li class=kadov-p><p class="whs1"><a \r
186  HREF="#_Toc57113182">&nbsp;</a><a HREF="#sewing">Sewing</a></p></li>\r
187         \r
188         <li class=kadov-p><p class="whs1">&nbsp;<a \r
189  href="#Glue_faces">Glue faces</a></p></li>\r
190         \r
191         <li class=kadov-p><p class="whs1"><a \r
192  HREF="#_Toc57113183">&nbsp;</a><a href="#AddPointOnEdge">Add \r
193  point on edge</a></p></li>\r
194         \r
195         <li class=kadov-p><p class="whs1">&nbsp;<a \r
196  href="#CheckFreeBound">Check free boundaries</a></p></li>\r
197         \r
198         <li class=kadov-p><p class="whs1">&nbsp;<a \r
199  href="#Check_free_faces">Check free faces</a><a \r
200  HREF="#_Toc57113183">&#9;</a></p></li>\r
201 </ul>\r
202 \r
203 <p class="whs4">&nbsp;</p>\r
204 \r
205 <p class="whs4"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs5"> The operations <span style="font-weight: bold;"><B>Suppress \r
206  faces, Close contour, Suppress internal wires, Suppress holes </B></span><span>and \r
207  </span><span style="font-weight: bold;"><B>Add point on edge </B></span><span>are \r
208  available only if you are using </span><span style="font-weight: bold;"><B>OCC \r
209  viewer</B></span><span>. </span></p>\r
210 \r
211 <p class="whs4">&nbsp;</p>\r
212 \r
213 <p class=TODO>To apply repairing operations:</p>\r
214 \r
215 <p class=TODO>&nbsp;</p>\r
216 \r
217 <p class="whs6">In the main menu select <span style="font-weight: bold;"><B>Repair \r
218  </B></span>submenu.</p>\r
219 \r
220 <p class="whs4">&nbsp;</p>\r
221 \r
222 <p class="whs4"><a name=Shape><img src="../image41.gif" width="25px" height="24px" border="0" class="img_whs7"> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Shape \r
223  processing</B></font></span></a></p>\r
224 \r
225 <p class="whs4">&nbsp;</p>\r
226 \r
227 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Description:</b> \r
228  Processes a shape using various operators.</font></span></p>\r
229 \r
230 <p class="whs4">&nbsp;</p>\r
231 \r
232 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
233 \r
234 <p class="whs4">&nbsp;</p>\r
235 \r
236 <p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
237  </i><span style="font-style: italic;"><I>geompy.ProcessShape(Shape, Operators, \r
238  Parameters, Values)</I></span>, where Shape is a processed shape, Operators \r
239  is a list of names of operators (&quot;FixShape&quot;, &quot;SplitClosedFaces&quot;, \r
240  etc.), Parameters is a list of names of parameters (\93FixShape.Tolerance3d\94\r
241  etc), Values is a list of values of parameters in the same order as the \r
242  Parameters list.</p>\r
243 \r
244 <p class="whs4">&nbsp;</p>\r
245 \r
246 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
247  1 or more shapes.</p>\r
248 \r
249 <table x-use-null-cells cellspacing="0" width="100%" class="whs8">\r
250 <script language='JavaScript'><!--\r
251 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table><table x-use-null-cells cellspacing='0' width='100%' border='1' bordercolor='black' bordercolorlight='black' bordercolordark='black'>");\r
252 //--></script>\r
253 <col class="whs9">\r
254 <col class="whs10">\r
255 \r
256 <tr valign="top" class="whs11">\r
257 <td width="8.851%" class="whs12">\r
258 <p>1</td>\r
259 <td width="91.149%" class="whs13">\r
260 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">SplitAngle \96 \r
261  this operator is intended for splitting faces based on conical surfaces, \r
262  surfaces of revolution and cylindrical surfaces by angle</font></span></p>\r
263 <p class="whs4">SplitAngle.Angle \96 angle (in radians) defining \r
264  size of result segments.</p>\r
265 <p class="whs4">SplitAngle.MaxTolerance \96 maximal possible \r
266  tolerance on result shape</td></tr>\r
267 \r
268 <tr valign="top" class="whs11">\r
269 <td width="8.851%" class="whs14">\r
270 <p>2</td>\r
271 <td width="91.149%" class="whs15">\r
272 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">SplitClosedFaces \r
273  \96 this operator is intended for dividing all closed faces in the shape \r
274  according to the number of points.</font></span></p>\r
275 <p class="whs4">SplitClosedFaces.NbSplitPoints \96 number of \r
276  points for cutting each closed faces.</td></tr>\r
277 \r
278 <tr valign="top" class="whs11">\r
279 <td width="8.851%" class="whs14">\r
280 <p>3</td>\r
281 <td width="91.149%" class="whs15">\r
282 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">FixFaceSize \r
283  \96 this operator is intended for removing small faces (case of the spot \r
284  face and strip face)</font></span></p>\r
285 <p class="whs4">FixFaceSize.Tolerance \96 work tolerance defining \r
286  which faces will be removed.</td></tr>\r
287 \r
288 <tr valign="top" class="whs11">\r
289 <td width="8.851%" class="whs14">\r
290 <p>4</td>\r
291 <td width="91.149%" class="whs15">\r
292 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">DropSmallEdges \r
293  \96 this operator is intended for removing small edges or merging with neigbour. \r
294  &nbsp;</font></span></p>\r
295 <p class="whs4">DropSmallEdges.Tolerance3d \96 work tolerance \r
296  for detection and removing small edges.</td></tr>\r
297 \r
298 <tr valign="top" class="whs11">\r
299 <td width="8.851%" class="whs14">\r
300 <p>5</td>\r
301 <td width="91.149%" class="whs15">\r
302 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">BsplineRestriction \r
303  \96this operator is intended for re-approximation BSplines curves and surfaces \r
304  or conversion of the curves and surfaces to BSplines with specified parameters. \r
305  </font></span></p>\r
306 <p class="whs4">BSplineRestriction.SurfaceMode - mode of approximation \r
307  of surfaces if restriction is necessary</p>\r
308 <p class="whs4">BSplineRestriction.Curve3dMode -mode of conversion \r
309  of any 3D curve to BSpline and approximation.</p>\r
310 <p class="whs4">BSplineRestriction.Curve2dMode - mode of conversion \r
311  of any 2D curve to BSpline and approximation</p>\r
312 <p class="whs4">BSplineRestriction.Tolerance3d \96 work tolerance \r
313  for definition of the possibility of the approximation of the surfaces \r
314  and 3D curves with specified parameters.</p>\r
315 <p class="whs4">BSplineRestriction.Tolerance2d - work tolerance \r
316  for definition of the possibility of the approximation of the 2D curves \r
317  with specified parameters.</p>\r
318 <p class="whs4">BSplineRestriction.Continuity3d \96 desired continuity \r
319  of the resultant surfaces and 3D curves.</p>\r
320 <p class="whs4">BSplineRestriction.Continuity2d \96 desired continuity \r
321  of the resultant 2D curves.</p>\r
322 <p class="whs4">BSplineRestriction.RequiredDegree - required \r
323  degree of the resultant BSplines</p>\r
324 <p class="whs4">BSplineRestriction.RequiredNbSegments - required \r
325  maximum number of segments of resultant BSp<span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">lines.</font></span></td></tr>\r
326 \r
327 <tr valign="top" class="whs11">\r
328 <td width="8.851%" class="whs14">\r
329 <p>6</td>\r
330 <td width="91.149%" class="whs15">\r
331 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">SplitContinuity \r
332  \96 this operator is intended for splitting shapes to achieve continuities \r
333  of curves and surfaces less than specified ones. </font></span></p>\r
334 <p class="whs4">SplitContinuity.Tolerance3d - 3D tolerance \r
335  for correction of geometry.</p>\r
336 <p class="whs4">SplitContinuity.SurfaceContinuity - required \r
337  continuity for surfaces.</p>\r
338 <p class="whs4">SplitContinuity.CurveContinuity - required \r
339  continuity for curves.</td></tr>\r
340 \r
341 <tr valign="top" class="whs11">\r
342 <td width="8.851%" class="whs14">\r
343 <p>7</td>\r
344 <td width="91.149%" class="whs15">\r
345 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">ToBezier - this \r
346  operator is intended for conversion of the curves and surfaces of the \r
347  all types into Bezier curves and surfaces. </font></span></p>\r
348 <p class="whs4">ToBezier.SurfaceMode - mode of conversion of \r
349  the surfaces.</p>\r
350 <p class="whs4">ToBezier.Curve3dMode \96 mode for conversion \r
351  of the 3D curves.</p>\r
352 <p class="whs4">ToBezier.Curve2dMode \96 mode for conversion \r
353  of the 2D curves.</p>\r
354 <p class="whs4">ToBezier.MaxTolerance \96 max possible tolerance \r
355  on the resultant shape.</td></tr>\r
356 \r
357 <tr valign="top" class="whs11">\r
358 <td width="8.851%" class="whs14">\r
359 <p>8</td>\r
360 <td width="91.149%" class="whs15">\r
361 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">FixShape \96 this \r
362  operator is intended for correction of the invalid shapes </font></span></p>\r
363 <p class="whs4">FixShape.Tolerance3d \96 work tolerance for detection \r
364  of the problems and correction of them.</p>\r
365 <p class="whs4">FixShape.MaxTolerance3d - maximal possible \r
366  tolerance of the shape after correction.</td></tr>\r
367 \r
368 <tr valign="top" class="whs11">\r
369 <td width="8.851%" class="whs14">\r
370 <p>9</td>\r
371 <td width="91.149%" class="whs15">\r
372 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">SameParameter \r
373  \96 this operator is intended for fixing edges having not same parameter \r
374  2D and 3D curves. </font></span></p>\r
375 <p class="whs4">SameParameter.Tolerance3d \96 tolerance for detection \r
376  and fix problems. </td></tr>\r
377 <script language='JavaScript'><!--\r
378 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) document.write("</table></table><table>");\r
379 //--></script>\r
380 </table>\r
381 \r
382 <p class="whs4">&nbsp;</p>\r
383 \r
384 <p class="whs4">&nbsp;</p>\r
385 \r
386 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
387 \r
388 <p class="whs4">&nbsp;</p>\r
389 \r
390 <p class="whs16"><img src="../pics/repair1.png" x-maintain-ratio="TRUE" width="403px" height="469px" border="0" class="img_whs17"> &nbsp;</p>\r
391 \r
392 <p class="whs4">&nbsp;</p>\r
393 \r
394 <p class="whs4"><b style="font-weight: bold;">Example:</b></p>\r
395 \r
396 <p>&nbsp;</p>\r
397 \r
398 <p class="whs4">Shape before applying Shape Processing (FixShape \r
399  operator).</p>\r
400 \r
401 <p class="whs4">&nbsp;</p>\r
402 \r
403 <p class="whs16"><img src="../image154.jpg" width="300px" height="214px" border="0" class="img_whs18"> &nbsp;&nbsp;&nbsp;<img src="../image156.jpg" width="244px" height="214px" border="0" class="img_whs19"></p>\r
404 \r
405 <p class="whs20">&nbsp;</p>\r
406 \r
407 <p class="whs1">The \r
408  same shape after applying Shape Processing.</p>\r
409 \r
410 <p class="whs20">&nbsp;</p>\r
411 \r
412 <p class="whs16"><img src="../image160.jpg" width="239px" height="214px" border="0" class="img_whs21"></p>\r
413 \r
414 <p class="whs20">&nbsp;</p>\r
415 \r
416 <p class="whs20">&nbsp;</p>\r
417 \r
418 <p class="whs20"><a NAME=_Toc57113182><img src="salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif" width="20px" height="20px" border="0" class="img_whs22"><b> Suppress faces</b></a></p>\r
419 \r
420 <p class="whs1">&nbsp;</p>\r
421 \r
422 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
423  Suppresses a face of a shape.</p>\r
424 \r
425 <p class="whs4">&nbsp;</p>\r
426 \r
427 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object \r
428  (ListOfGeomShapes).</p>\r
429 \r
430 <p class="whs4">&nbsp;</p>\r
431 \r
432 <p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
433  </i><span style="font-style: italic;"><I>geompy.SuppressFaces(Shape, ListOfID)</I></span>, \r
434  where Shape is a shape to be processed, ListOfID is a list of faces ID's \r
435  to be removed.</p>\r
436 \r
437 <p class="whs4">&nbsp;</p>\r
438 \r
439 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
440  Name + Faces which should be removed (you can select them in the 3D viewer).</p>\r
441 \r
442 <p class="whs4">&nbsp;</p>\r
443 \r
444 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
445 \r
446 <p class="whs4">&nbsp;</p>\r
447 \r
448 <p class="whs16"><img src="../pics/repair2.png" x-maintain-ratio="TRUE" width="312px" height="289px" border="0" class="img_whs23"></p>\r
449 \r
450 <p class="whs16">&nbsp;</p>\r
451 \r
452 <p class="whs4"><b style="font-weight: bold;">Example:</b></p>\r
453 \r
454 <p class="whs4">&nbsp;</p>\r
455 \r
456 <p class="whs16"><img src="../image53.jpg" width="150px" height="131px" border="0" class="img_whs24"> &nbsp;<img src="../image54.jpg" width="150px" height="131px" border="0" class="img_whs24"></p>\r
457 \r
458 <p class="whs4">&nbsp;</p>\r
459 \r
460 <p class="whs25"><a name=CloseContour><img src="salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif" width="20px" height="20px" border="0" class="img_whs22"> Close contour</a></p>\r
461 \r
462 <p class="whs4">&nbsp;</p>\r
463 \r
464 <p class="whs4"><b style="font-weight: bold;">Description :</b> \r
465  Closes an open contour and modifies the underlying face (if needed) in \r
466  accordance with user specified mode:</p>\r
467 \r
468 <ul type="disc" class="whs3">\r
469         \r
470         <li class=kadov-p><p class="whs4">By common vertex \96 a \r
471  vertex is created between the end points of the contour and its tolerance \r
472  is increased to a value of the gap between the ends of the contour;</p></li>\r
473         \r
474         <li class=kadov-p><p class="whs4">By new edge \96 a new edge \r
475  is inserted between the end points of the contour.</p></li>\r
476 </ul>\r
477 \r
478 <p class="whs4">&nbsp;</p>\r
479 \r
480 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
481 \r
482 <p class="whs4">&nbsp;</p>\r
483 \r
484 <p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
485  </i><span style="font-style: italic;"><I>geompy.CloseContour(Shape, Wires, \r
486  IsCommonVertex)</I></span>, where Shape is a shape to be processed, Wires \r
487  is a list of edges or wires ID\92s which has to be closed within the shape \r
488  (if the list contains only one element = -1, the shape itself is considered \r
489  as a wire), &nbsp;IsCommonVertex \r
490  if this parameter is True a closure has to be done by creation of a common \r
491  vertex, otherwise an edge is added between the end vertices.</p>\r
492 \r
493 <p class="whs4">&nbsp;</p>\r
494 \r
495 <p class="whs4"><b style="font-weight: bold;">Arguments: <span \r
496  style="font-weight: normal;">Name + 1 shape + contour</span> <span style="font-weight: normal;">(</span></b>Wire, \r
497  or a set of Edges) + mode of closure (by vertex or by edge)</p>\r
498 \r
499 <p class="whs4">&nbsp;</p>\r
500 \r
501 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
502 \r
503 <p class="whs4">&nbsp;</p>\r
504 \r
505 <p class="whs26"><img src="../pics/repair3.png" x-maintain-ratio="TRUE" width="312px" height="397px" border="0" class="img_whs27"></p>\r
506 \r
507 <p class="whs28">&nbsp;</p>\r
508 \r
509 <p class="whs28">Example:</p>\r
510 \r
511 <p class="whs4">&nbsp;</p>\r
512 \r
513 <p class="whs4"><span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B><a \r
514  name=SuppressInternalWires><img src="salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif" width="20px" height="20px" border="0" class="img_whs22"></B></font></span> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Suppress \r
515  internal wires</B></font></span></a></p>\r
516 \r
517 <p class="whs4">&nbsp;</p>\r
518 \r
519 <p class="whs4"><b style="font-weight: bold;">Description :</b> \r
520  Removes all internal wires or specified internal wires from user specified \r
521  faces.</p>\r
522 \r
523 <p class="whs4">&nbsp;</p>\r
524 \r
525 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
526 \r
527 <p class="whs4">&nbsp;</p>\r
528 \r
529 <p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
530  </i><span style="font-style: italic;"><I>geompy.SuppressInternalWires(Shape, \r
531  Wires)</I></span>, where Shape is a shape where wires are to be removed, Wires \r
532  is a list of wires ID\92s to be removed; if the list is empty then all internal \r
533  wires are removed.</p>\r
534 \r
535 <p class="whs4">&nbsp;</p>\r
536 \r
537 <p class="whs4">&nbsp;</p>\r
538 \r
539 <p class="whs4"><b style="font-weight: bold;">Arguments:</b></p>\r
540 \r
541 <ul type="disc" class="whs3">\r
542         \r
543         <li class=kadov-p><p class="whs4">Name of the resulting \r
544  object</p></li>\r
545         \r
546         <li class=kadov-p><p class="whs4">User specified face</p></li>\r
547         \r
548         <li class=kadov-p><p class="whs4">User specified internal \r
549  wires (lying on this face except for its boundary), or, in case the <span \r
550  style="font-weight: bold;"><B>Remove all internal wires</B></span> box is checked, \r
551  all internal wires</p></li>\r
552 </ul>\r
553 \r
554 <p class="whs4">&nbsp;</p>\r
555 \r
556 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
557 \r
558 <p class="whs4">&nbsp;</p>\r
559 \r
560 <p class="whs16"><img src="../pics/repair4.png" x-maintain-ratio="TRUE" width="312px" height="350px" border="0" class="img_whs29"></p>\r
561 \r
562 <p class="whs4">&nbsp;</p>\r
563 \r
564 <p class="whs28">Example:</p>\r
565 \r
566 <p class="whs4">&nbsp;</p>\r
567 \r
568 <p class="whs16"><img src="../image163.jpg" width="200px" height="214px" border="0" class="img_whs30"> &nbsp;&nbsp;&nbsp;<img src="../image164.jpg" width="176px" height="214px" border="0" class="img_whs31"></p>\r
569 \r
570 <p class="whs4">&nbsp;</p>\r
571 \r
572 <p class="whs4">&nbsp;</p>\r
573 \r
574 <p class="whs20"><span \r
575  style="font-family: 'Times New Roman', serif;"><a NAME=_Toc57113183><span \r
576  style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif" width="20px" height="20px" border="0" class="img_whs22"><b style="font-size: 14pt;"> Suppress \r
577  holes</b></a> </font></span></span></p>\r
578 \r
579 <p class="whs1">&nbsp;</p>\r
580 \r
581 <p class="whs4"><b style="font-weight: bold;">Description :</b> \r
582  </p>\r
583 \r
584 <ul>\r
585         \r
586         <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">1st \r
587  Constructor :</b> Suppresses a hole in a shape.</p></li>\r
588         \r
589         <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">2nd \r
590  Constructor :</b> Suppresses a hole in a face.</p></li>\r
591 </ul>\r
592 \r
593 <p class="whs4">&nbsp;</p>\r
594 \r
595 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
596 \r
597 <p class="whs4">&nbsp;</p>\r
598 \r
599 <p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
600  </i><span style="font-size: 12pt; font-style: italic;"><font size=3 style="font-size:12pt;"><I>geompy.SuppressHoles(Shape, \r
601  ListOfWireID)</I></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">, where Shape is a \r
602  shape where holes must be removed, ListOfWireID is a list of wire sub \r
603  shapes ID\92s. If it is empty, then all holes are removed.</font></span></p>\r
604 \r
605 <p class="whs4">&nbsp;</p>\r
606 \r
607 <p class="whs4"><b style="font-weight: bold;">Arguments: </b>Name \r
608  + 1 shape + Wires which should be removed.</p>\r
609 \r
610 <p class="whs4"><span style="font-weight: bold;"><B>Remove all \r
611  holes </B></span>checkbox allows to fill all holes of a definite shape.</p>\r
612 \r
613 <p class="whs4"><span style="font-weight: bold;"><B>Detect </B></span>button \r
614  allows to display the number of free boundaries in your shape:</p>\r
615 \r
616 <p class="whs16">&nbsp;</p>\r
617 \r
618 <p class="whs16"><img src="../pics/neo-detect2.png" x-maintain-ratio="TRUE" width="343px" height="123px" border="0" class="img_whs32"></p>\r
619 \r
620 <p class="whs4">&nbsp;</p>\r
621 \r
622 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
623 \r
624 <p class="whs4">&nbsp;</p>\r
625 \r
626 <p class="whs16">&nbsp;<img src="../pics/repair5.png" x-maintain-ratio="TRUE" width="312px" height="381px" border="0" class="img_whs33"></p>\r
627 \r
628 <p class="whs16">&nbsp;&nbsp;</p>\r
629 \r
630 <p class="whs4"><b style="font-weight: bold;">Example:</b></p>\r
631 \r
632 <p class="whs16">&nbsp;</p>\r
633 \r
634 <p class="whs16">&nbsp;<img src="../image109.jpg" width="150px" height="136px" border="0" class="img_whs34"> &nbsp;<img src="../image110.jpg" width="150px" height="136px" border="0" class="img_whs34"></p>\r
635 \r
636 <p class="whs4">&nbsp;</p>\r
637 \r
638 <p class="whs4">&nbsp;</p>\r
639 \r
640 <p class="whs4">&nbsp;</p>\r
641 \r
642 <p class="whs1"><b style="font-weight: bold;"><a \r
643  NAME=sewing\r
644         style="font-size: 14pt;"><img src="salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif" width="20px" height="20px" border="0" class="img_whs22"> Sewing</a></b> </p>\r
645 \r
646 <p class="whs1">&nbsp;</p>\r
647 \r
648 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
649  Sew several &nbsp;shapes.</p>\r
650 \r
651 <p class="whs4">&nbsp;</p>\r
652 \r
653 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
654 \r
655 <p class="whs4">&nbsp;</p>\r
656 \r
657 <p class="whs4"><b style="font-weight: bold;">TUI Command :</b><i> \r
658  </i><span style="font-style: italic;"><I>geompy.MakeSewing(ListOfShape, Precision)</I></span>, \r
659  where ListOfShape is list of shapes to be sewed, Precision is a precision \r
660  for sewing.</p>\r
661 \r
662 <p class="whs4">&nbsp;</p>\r
663 \r
664 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
665  Name + 1 or more shapes + 1 value (sew precision).</p>\r
666 \r
667 <p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><span style="font-weight: bold;"><B>Detect \r
668  </B></span>button allows to display the number of free boundaries in your \r
669  shape:</font></span></p>\r
670 \r
671 <p class="whs16">&nbsp;</p>\r
672 \r
673 <p class="whs16"><img src="../pics/neo-detect2.png" x-maintain-ratio="TRUE" width="343px" height="123px" border="0" class="img_whs32"></p>\r
674 \r
675 <p class="whs4">&nbsp;</p>\r
676 \r
677 <p class="whs4">&nbsp;</p>\r
678 \r
679 <p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
680 \r
681 <p class="whs4">&nbsp;</p>\r
682 \r
683 <p class="whs16"><img src="../pics/repair6.png" x-maintain-ratio="TRUE" width="312px" height="346px" border="0" class="img_whs35"></p>\r
684 \r
685 <p class="whs4">&nbsp;</p>\r
686 \r
687 <p class="whs4"><b style="font-weight: bold;">Example:</b></p>\r
688 \r
689 <p class="whs4">&nbsp;</p>\r
690 \r
691 <p class="whs16"><img src="../image112.jpg" width="150px" height="132px" border="0" class="img_whs36"> &nbsp;<img src="../image113.jpg" width="150px" height="132px" border="0" class="img_whs36"></p>\r
692 \r
693 <p class="whs4">&nbsp;</p>\r
694 \r
695 <p class="whs4">&nbsp;</p>\r
696 \r
697 <p class="whs4">&nbsp;</p>\r
698 \r
699 <p class="whs4"><a name=AddPointOnEdge><img src="../image42.gif" width="22px" height="22px" border="0" class="img_whs37"> <span \r
700  style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Add point on edge</B></font></span></a></p>\r
701 \r
702 <p class="whs4">&nbsp;</p>\r
703 \r
704 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
705  Splits an edge in two in accordance with the specified mode (by length \r
706  or by parameter) and a value specifying the position of the point on edge \r
707  (for example val =0.5; mode = Length). </p>\r
708 \r
709 <p class="whs4">&nbsp;</p>\r
710 \r
711 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
712 \r
713 <p class="whs4">&nbsp;</p>\r
714 \r
715 <p class="whs4"><b style="font-weight: bold;">TUI Command :</b><i> \r
716  </i><span style="font-style: italic;"><I>geompy.DivideEdge(Shape, EdgeID, \r
717  Value, IsByParameter)</I></span>, where Shape is a shape which contains an \r
718  edge to be divided, EdgeID is the ID of the edge to be divided, if it \r
719  = -1, then Shape is an edge, Value is a paramter on the edge or a length. \r
720  IsByParameter if it is True then Value is the edge parameter in the range \r
721  [0:1] otherwise it is a length of the edge in the range [0:1]</p>\r
722 \r
723 <p class="whs4">&nbsp;</p>\r
724 \r
725 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
726  Name + 1 Edge + 1 value setting the position of the point according to \r
727  one of the selected modes</p>\r
728 \r
729 <p class="whs4">&nbsp;</p>\r
730 \r
731 <p class="whs38"><b style="font-weight: bold;">Dialog \r
732  Box:</b></p>\r
733 \r
734 <p class="whs38">&nbsp;</p>\r
735 \r
736 <p class="whs39"><img src="../pics/repair8.png" x-maintain-ratio="TRUE" width="312px" height="388px" border="0" class="img_whs40"></p>\r
737 \r
738 <p class="whs41">&nbsp;</p>\r
739 \r
740 <p class="whs42">Example:</p>\r
741 \r
742 <p class="whs41">&nbsp;</p>\r
743 \r
744 <p class="whs43"><img src="../image167.jpg" width="200px" height="231px" border="0" class="img_whs44"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../image168.jpg" width="185px" height="231px" border="0" class="img_whs45"></p>\r
745 \r
746 <p class="whs46">&nbsp;</p>\r
747 \r
748 <p class="whs46">&nbsp;</p>\r
749 \r
750 <p class="whs46">&nbsp;</p>\r
751 \r
752 <p class="whs46"><a name=Glue_faces><img src="../image61.gif" width="25px" height="24px" border="0" class="img_whs7"><span \r
753  style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B> Glue faces</B></font></span></a></p>\r
754 \r
755 <p class="whs46">&nbsp;</p>\r
756 \r
757 <p class="whs46"><b style="font-weight: bold;">Description:</b> \r
758  Glues faces that are coincident with respect to the given tolerance </p>\r
759 \r
760 <p class="whs46">value.</p>\r
761 \r
762 <p class="whs46">&nbsp;</p>\r
763 \r
764 <p class="whs46"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Result:</b> \r
765  GEOM_Object.</font></span></p>\r
766 \r
767 <p class="whs46">&nbsp;</p>\r
768 \r
769 <p class="whs46"><b style="font-weight: bold;">TUI Command \r
770  : </b><span style="font-style: italic;"><I>geompy.MakeGlueFaces(theShape, \r
771  theTolerance)</I></span>, where theShape is a compound of shapesto be glued, \r
772  theTolerance is a maximum distance between two faces, which can be considered \r
773  as coincident.</p>\r
774 \r
775 <p class="whs46"><i><span style="font-style: italic;"><I>&nbsp;</I></span></i></p>\r
776 \r
777 <p class="whs46"><b style="font-weight: bold;">Arguments: \r
778  <span style="font-weight: normal;">Name +</span> </b>1 <i><span style="font-style: normal;">Compound \r
779  + Tolerance value</span></i></p>\r
780 \r
781 <p class="whs46">&nbsp;</p>\r
782 \r
783 <p class="whs46"><b style="font-weight: bold;">Dialog Box:</b></p>\r
784 \r
785 <p class="whs46">&nbsp;</p>\r
786 \r
787 <p class="whs47"><img src="../pics/repair7.png" x-maintain-ratio="TRUE" width="312px" height="315px" border="0" class="img_whs48"></p>\r
788 \r
789 <p class="whs49">&nbsp;</p>\r
790 \r
791 <p class="whs49"><b style="font-weight: bold;">Example:</b></p>\r
792 \r
793 <p class="whs49">&nbsp;</p>\r
794 \r
795 <p class="whs50"><img src="../image201.jpg" x-maintain-ratio="TRUE" width="200px" height="150px" border="0" class="img_whs51"> &nbsp;&nbsp;<img src="../image202.jpg" width="204px" height="150px" border="0" class="img_whs52"></p>\r
796 \r
797 <p class="whs53">&nbsp;</p>\r
798 \r
799 <p class="whs53">&nbsp;</p>\r
800 \r
801 <p class="whs53">&nbsp;</p>\r
802 \r
803 <p class="whs54"><a name=CheckFreeBound><img src="../image44.gif" width="22px" height="22px" border="0" class="img_whs37"> <span \r
804  style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check free boundaries</B></font></span></a></p>\r
805 \r
806 <p class="whs55">&nbsp;</p>\r
807 \r
808 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
809  Detects wires and edges that correspond to the shape's boundary, and highlights \r
810  it</p>\r
811 \r
812 <p class="whs4">&nbsp;</p>\r
813 \r
814 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object. \r
815  </p>\r
816 \r
817 <p class="whs4">&nbsp;</p>\r
818 \r
819 <p class="whs4"><b style="font-weight: bold;">TUI Command :</b><i><span \r
820  style="font-style: italic;"> <I></i>(NoError, ClosedWires, OpenWires) = geompy.GetFreeBoundary(Shape)</I></span>, \r
821  where Shape is a shape to be checked, NoError is false if an error occurred \r
822  while checking free boundaries, ClosedWires is a list of closed free boundary \r
823  wires, OpenWires is a list of open free boundary wires.</p>\r
824 \r
825 <p class="whs4">&nbsp;</p>\r
826 \r
827 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
828  Shape</p>\r
829 \r
830 <p class="whs4">&nbsp;</p>\r
831 \r
832 <p class="whs38"><b style="font-weight: bold;">Dialog \r
833  Box:</b></p>\r
834 \r
835 <p class="whs38">&nbsp;</p>\r
836 \r
837 <p class="whs26"><img src="../pics/repair9.png" x-maintain-ratio="TRUE" width="243px" height="203px" border="0" class="img_whs56"></p>\r
838 \r
839 <p class="whs57">&nbsp;</p>\r
840 \r
841 <p class="whs57"><b style="font-weight: bold;">Example:</b></p>\r
842 \r
843 <p class="whs57">&nbsp;</p>\r
844 \r
845 <p class="whs57"><img src="../image170.jpg" width="209px" height="138px" border="0" class="img_whs58"> &nbsp;<img src="../image171.jpg" width="192px" height="138px" border="0" class="img_whs59">&nbsp; <img src="../image172.jpg" width="191px" height="138px" border="0" class="img_whs60"></p>\r
846 \r
847 <p class="whs57">&nbsp;</p>\r
848 \r
849 <p class="whs57">&nbsp;</p>\r
850 \r
851 <p class="whs57">&nbsp;</p>\r
852 \r
853 <p class="whs57"><a name=Check_free_faces><img src="../image10.gif" width="23px" height="22px" border="0" class="img_whs61"> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check free \r
854  faces</B></font></span></a></p>\r
855 \r
856 <p class="whs57">&nbsp;</p>\r
857 \r
858 <p class="whs4"><b style="font-weight: bold;">Description: \r
859  </b>Retrieves all free faces from a given shape.<span> A free face is \r
860  a face not shared between two shells of the shape. </span></p>\r
861 \r
862 <p class="whs4">&nbsp;</p>\r
863 \r
864 <p class="whs4"><b style="font-weight: bold;">Result:</b> GEOM_Object. \r
865  Returns a list of IDs of all free faces, contained in the shape.</p>\r
866 \r
867 <p class="whs4">&nbsp;</p>\r
868 \r
869 <p class="whs4"><b style="font-weight: bold;">TUI Command :</b><i><span \r
870  style="font-style: italic;"> <I></i>GetFreeFacesIDs(Shape)</I></span>, where \r
871  Shape is a shape to be checked.</p>\r
872 \r
873 <p class="whs4">&nbsp;</p>\r
874 \r
875 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
876  Shape</p>\r
877 \r
878 <p class="whs4">&nbsp;</p>\r
879 \r
880 <p class="whs38"><b style="font-weight: bold;">Dialog \r
881  Box:</b></p>\r
882 \r
883 <p class="whs38">&nbsp;</p>\r
884 \r
885 <p class="whs16"><img src="../pics/repair10.png" x-maintain-ratio="TRUE" width="322px" height="163px" border="0" class="img_whs62"></p>\r
886 \r
887 <p class="whs41">&nbsp;</p>\r
888 \r
889 <p class="whs41">&nbsp;</p>\r
890 \r
891 <script type="text/javascript" language="javascript1.2">\r
892 <!--\r
893 if (window.writeIntopicBar)\r
894         writeIntopicBar(0);\r
895 //-->\r
896 </script>\r
897 </body>\r
898 </html>\r