1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Sewing meshes</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:30px; height:30px; float:none; border-style:none; }
\r
18 ul.whs2 { list-style:disc; }
\r
19 p.whs3 { font-weight:bold; }
\r
20 p.whs4 { margin-left:40px; }
\r
21 img_whs5 { border:none; width:332px; height:548px; border-style:none; float:right; }
\r
22 img_whs6 { border:none; width:612px; height:225px; border-style:none; }
\r
23 img_whs7 { border:none; width:581px; height:218px; border-style:none; float:left; }
\r
24 img_whs8 { border:none; width:600px; height:227px; border-style:none; }
\r
25 p.whs9 { margin-left:0px; }
\r
26 img_whs10 { border:none; width:620px; height:228px; border-style:none; }
\r
27 img_whs11 { border:none; width:304px; height:222px; border-style:none; }
\r
29 </style><script type="text/javascript" language="JavaScript">
\r
31 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
33 var strNSS = "<style type='text/css'>";
\r
34 strNSS += "p.whs9 {margin-left:1pt; }";
\r
35 strNSS +="</style>";
\r
36 document.write(strNSS);
\r
40 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
43 if (innerWidth != origWidth || innerHeight != origHeight)
\r
46 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
47 origWidth = innerWidth;
\r
48 origHeight = innerHeight;
\r
54 <style type="text/css">
\r
56 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
57 p.WebHelpNavBar { text-align:right; }
\r
59 </style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
\r
60 <script type="text/javascript" language="javascript" src="../whver.js"></script>
\r
61 <script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
\r
62 <script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
\r
63 <script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
\r
64 <script type="text/javascript" language="javascript1.2">
\r
66 if (window.gbWhTopic)
\r
68 if (window.setRelStartPage)
\r
70 addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSewing meshes");
\r
71 addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
\r
72 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
\r
77 if (window.setRelStartPage)
\r
79 setRelStartPage("../index.htm");
\r
89 document.location.reload();
\r
93 <body><script type="text/javascript" language="javascript1.2">
\r
95 if (window.writeIntopicBar)
\r
99 <h1>Sewing meshes</h1>
\r
101 <p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In SMESH you can sew elements of different
\r
102 meshes. The current functionality allows you to sew:</p>
\r
106 <ul type="disc" class="whs2">
\r
108 <li class=kadov-p><p class="whs3"><a href="#free bord">Free
\r
109 borders </a></p></li>
\r
111 <li class=kadov-p><p class="whs3"><a href="#conform">Conform
\r
112 free borders</a></p></li>
\r
114 <li class=kadov-p><p class="whs3"><a href="#border to side">Border
\r
115 to side</a></p></li>
\r
117 <li class=kadov-p><p class="whs3"><a href="#side elements">Side
\r
118 elements</a></p></li>
\r
121 <p class="whs3"> </p>
\r
123 <p class=TODO>To sew elements of different meshes:</p>
\r
125 <p class=TODO> </p>
\r
127 <p class="whs4">1. From the <span style="font-weight: bold;"><B>Modification
\r
128 </B></span>menu choose the <span style="font-weight: bold;"><B>Transformation
\r
129 </B></span>item and from
\r
130 its sub-menu select the <span style="font-weight: bold;"><B>Sewing </B></span>item.
\r
133 <p class="whs4">2. Check in the dialog box one of the radio
\r
134 buttons corresponding to the type of sewing operation you would like to
\r
137 <p class="whs4">3. Fill the other fields available in the
\r
140 <p class="whs4">4. Click the <span style="font-weight: bold;"><B>OK
\r
141 </B></span><span>or </span><span style="font-weight: bold;"><B>Apply </B></span>button
\r
142 to perform the operation of sewing. </p>
\r
144 <h3><a name="free bord"></a>Sew free borders<img src="../pics/sewing1.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
\r
146 <p>This functionality allows you to unite two free borders of a 2D mesh.</p>
\r
150 <p>For sewing free borders you should define three points on each border:
\r
151 first, second and the last node: </p>
\r
155 <ul type="disc" class="whs2">
\r
157 <li class=kadov-p><p> the
\r
158 first node specifies beginning of the border ;</p></li>
\r
160 <li class=kadov-p><p> the
\r
161 second node specifies the part of the border which should be considered
\r
162 (as far as the free border usually forms a closed contour);</p></li>
\r
164 <li class=kadov-p><p> the
\r
165 last node specifies the end of the border.</p></li>
\r
170 <p>You can select these nodes in the 3D viewer or define by its id.</p>
\r
174 <p>The first and the second nodes should belong to the same link of a face.
\r
175 The second and the last nodes of a border can be the same. The first and
\r
176 the last nodes of two borders can be the same. The corresponding end nodes
\r
177 of two borders will be merged. Intermediate nodes of two borders will
\r
178 be either merged or inserted into faces of the opposite border.</p>
\r
182 <p>The sewing algorithm is as follows:</p>
\r
186 <p class="whs4">1. The parameter (U) of each node within
\r
187 a border is computed. So that the first node has U=0.0, the last node
\r
188 has U=1.0, for the rest nodes 0.0 < U < 1.0;</p>
\r
190 <p class="whs4">2. Compare node parameters of the two borders.
\r
191 If two nodes of the opposite borders have close parameters, they are merged,
\r
192 i.e. a node of the first border is replaced in all elements by a node
\r
193 of the second border. If a node has no node with a close parameter in
\r
194 the opposite border, it is inserted into an edge of element of the opposite
\r
195 border, an element is split. Two nodes are considered close enough to
\r
196 merge, if difference of their parameters is less than one fifth of minimum
\r
197 length of adjacent face edges on the borders.</p>
\r
201 <p class="whs4"><img src="../image22.jpg" width="612px" height="225px" border="0" class="img_whs6"></p>
\r
203 <p class="whs4"> </p>
\r
205 <p> <span style="font-weight: bold;"><B>See
\r
206 Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark4">Sew
\r
207 Free Borders</a> operation. </p>
\r
211 <p class="whs4"> </p>
\r
213 <h3><a name=conform></a>Sew conform free borders<img src="../pics/sewing2.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
\r
215 <p>This functionality can be used to unite two free borders of a 2D mesh.
\r
220 <p>The borders of meshes for sewing are defined as for "Sew free borders"
\r
221 except that the second free border is not limited and can be defined by
\r
222 the first and the second nodes only. The first nodes of two borders can
\r
227 <p>The algorithm is following: counting nodes starting at the first ones,
\r
228 the n-th node of the first border is merged with the n-th node of the
\r
229 other border, until the end of either of borders. Nodes of the first border
\r
230 are replaced in all elements with corresponding nodes of the second border.</p>
\r
232 <p>For sewing conform free borders you should define three points on the
\r
233 first border and two points on the second one. User can select these nodes
\r
234 in 3D viewer or define node by its id.<img src="../image23.jpg" width="581px" height="218px" align="left" border="0" class="img_whs7"></p>
\r
236 <p class="whs3"> </p>
\r
238 <p class="whs3"> </p>
\r
250 <p> <span style="font-weight: bold;"><B>See
\r
251 Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark5">Sew
\r
252 Conform Free Borders</a> operation. </p>
\r
258 <h3><a name="border to side"></a>Sew border to side<img src="../pics/sewing3.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
\r
260 <p>"Sew border to side" is intended to sew a free border to a
\r
263 <p>The free border is defined as for "Sewing of free borders".
\r
264 The place where to sew the border is defined by two nodes, between which
\r
265 the border faces are placed, so that the first border node is merged with
\r
266 the first node on the side and the last node of the border is merged with
\r
267 the second specified node on the side.</p>
\r
271 <p class="whs4"> </p>
\r
273 <p>The algorithm is following.</p>
\r
275 <p>1. Find a sequence of linked nodes on the side such that the found links
\r
276 to be most co-directed with the links of the free border.</p>
\r
278 <p>2. Sew two sequences of nodes using algorithm of "Sewing of free
\r
281 <p>For sewing border to side you should define three points on the border
\r
282 and two points on the side. User can select these nodes in 3D viewer or
\r
283 define node by its id.</p>
\r
285 <p><img src="../image30.jpg" width="600px" height="227px" border="0" class="img_whs8"></p>
\r
287 <p> <span style="font-weight: bold;"><B>See
\r
288 Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark6">Sew
\r
289 Border to Side</a> operation. </p>
\r
295 <h3><a name="side elements"></a>Sew side elements<img src="../pics/sewing4.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
\r
297 <p class="whs9">This operation is intended to unite two mesh
\r
300 <p class="whs9"> </p>
\r
302 <p>Surfaces may be defined by either 2d or 3d elements. The number of given
\r
303 elements of the sides must be the same. The sets of given elements must
\r
304 be topologically equal, i.e. each node of one element set must have a
\r
305 corresponding node in the other element set and corresponding nodes must
\r
306 be equally linked. If there are 3d elements in a set, only their free
\r
307 faces must obey to that rule.</p>
\r
309 <p>Two corresponding nodes on each side must be specified. They must belong
\r
310 to one element and must be located on an element set boundary.</p>
\r
314 <p>Sewing algorithm finds and merges the corresponding nodes starting from
\r
315 the specified ones.</p>
\r
317 <p><img src="../image31.jpg" width="620px" height="228px" border="0" class="img_whs10"></p>
\r
319 <p class="whs4"><img src="../image32.jpg" width="304px" height="222px" border="0" class="img_whs11"></p>
\r
321 <p>For sewing side elements you should define elements for sewing and two
\r
322 nodes for merging on the each side. User can select these elements and
\r
323 nodes in 3D viewer or define them by its id.</p>
\r
327 <p><span style="font-weight: bold;"><B>See Also</B></span> a sample TUI Script
\r
328 of a <a href="../transforming_meshes.htm#bookmark7">Sew Side Elements</a>
\r
329 operation. </p>
\r
335 <script type="text/javascript" language="javascript1.2">
\r
337 if (window.writeIntopicBar)
\r
338 writeIntopicBar(0);
\r