mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
329 lines
11 KiB
HTML
329 lines
11 KiB
HTML
|
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||
|
|
||
|
<html>
|
||
|
|
||
|
<!--(==============================================================)-->
|
||
|
<!--(Document created with RoboEditor. )============================-->
|
||
|
<!--(==============================================================)-->
|
||
|
|
||
|
<head>
|
||
|
|
||
|
<title>Sewing meshes</title>
|
||
|
|
||
|
<!--(Meta)==========================================================-->
|
||
|
|
||
|
<meta http-equiv=content-type content="text/html; charset=windows-1252">
|
||
|
<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
|
||
|
<meta name=generator-major-version content=0.1>
|
||
|
<meta name=generator-minor-version content=1>
|
||
|
<meta name=filetype content=kadov>
|
||
|
<meta name=filetype-version content=1>
|
||
|
<meta name=page-count content=1>
|
||
|
<meta name=layout-height content=3595>
|
||
|
<meta name=layout-width content=740>
|
||
|
|
||
|
|
||
|
<!--(Links)=========================================================-->
|
||
|
|
||
|
<link rel='stylesheet' href='../default_ns.css'>
|
||
|
<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
|
||
|
<!--
|
||
|
if (navigator.appName !="Netscape")
|
||
|
{ document.write("<link rel='stylesheet' href='../default.css'>");}
|
||
|
//-->
|
||
|
</script>
|
||
|
<style type="text/css">
|
||
|
<!--
|
||
|
img_whs1 {border-style: none; border: none; width: 30px; height: 30px; float: none;}
|
||
|
ul.whs2 {list-style: disc;}
|
||
|
p.whs3 {font-weight: bold;}
|
||
|
p.whs4 {margin-left: 40px;}
|
||
|
img_whs5 {border-style: none; border: none; width: 311px; height: 456px;}
|
||
|
img_whs6 {border-style: none; border: none; width: 297px; height: 62px;}
|
||
|
img_whs7 {border-style: none; border: none; width: 612px; height: 225px;}
|
||
|
img_whs8 {border-style: none; border: none; width: 612px; height: 230px;}
|
||
|
img_whs9 {border-style: none; border: none; width: 600px; height: 227px;}
|
||
|
img_whs10 {border-style: none; border: none; width: 620px; height: 228px;}
|
||
|
img_whs11 {border-style: none; border: none; width: 304px; height: 222px;}
|
||
|
-->
|
||
|
</style>
|
||
|
<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
||
|
<!--
|
||
|
function reDo() {
|
||
|
if (innerWidth != origWidth || innerHeight != origHeight)
|
||
|
location.reload();
|
||
|
}
|
||
|
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
|
||
|
origWidth = innerWidth;
|
||
|
origHeight = innerHeight;
|
||
|
onresize = reDo;
|
||
|
}
|
||
|
onerror = null;
|
||
|
//-->
|
||
|
</script>
|
||
|
<style type="text/css">
|
||
|
<!--
|
||
|
div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}
|
||
|
-->
|
||
|
</style>
|
||
|
<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
|
||
|
<script type="text/javascript" language="javascript" src="../whver.js"></script>
|
||
|
<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
|
||
|
<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
|
||
|
<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
|
||
|
</head>
|
||
|
|
||
|
<!--(Body)==========================================================-->
|
||
|
|
||
|
|
||
|
<body>
|
||
|
|
||
|
<script type="text/javascript" language="javascript1.2">
|
||
|
<!--
|
||
|
if (window.gbWhTopic)
|
||
|
{
|
||
|
if (window.addTocInfo)
|
||
|
{
|
||
|
addTocInfo("SMESH module\nModifying meshes\nTransforming meshes\nSewing meshes");
|
||
|
addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
|
||
|
|
||
|
}
|
||
|
if (window.writeBtnStyle)
|
||
|
writeBtnStyle();
|
||
|
|
||
|
if (window.writeIntopicBar)
|
||
|
writeIntopicBar(1);
|
||
|
|
||
|
if (window.setRelStartPage)
|
||
|
{
|
||
|
setRelStartPage("../smesh.htm");
|
||
|
|
||
|
autoSync(0);
|
||
|
sendSyncInfo();
|
||
|
sendAveInfoOut();
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
document.location.reload();
|
||
|
//-->
|
||
|
</script>
|
||
|
<h1>Sewing meshes</h1>
|
||
|
|
||
|
<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
|
||
|
meshes. The current functionality allows you to sew:</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<ul type="disc" class="whs2">
|
||
|
|
||
|
<li class=kadov-p><p class="whs3"><a href="#free bord">Free
|
||
|
borders </a></p></li>
|
||
|
|
||
|
<li class=kadov-p><p class="whs3"><a href="#conform">Conform
|
||
|
free borders</a></p></li>
|
||
|
|
||
|
<li class=kadov-p><p class="whs3"><a href="#border to side">Border
|
||
|
to side</a></p></li>
|
||
|
|
||
|
<li class=kadov-p><p class="whs3"><a href="#side elements">Side
|
||
|
elements</a></p></li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="whs3"> </p>
|
||
|
|
||
|
<p class=TODO>To sew elements of different meshes:</p>
|
||
|
|
||
|
<p class=TODO> </p>
|
||
|
|
||
|
<p class="whs4">1. From the <span style="font-weight: bold;"><B>Modification
|
||
|
</B></span>menu choose the <span style="font-weight: bold;"><B>Transformation
|
||
|
</B></span>item and from
|
||
|
its sub-menu select the <span style="font-weight: bold;"><B>Sewing </B></span>item.
|
||
|
The following dialog box shall appear:</p>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image57.gif" width="311px" height="456px" border="0" class="img_whs5"></p>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<p class="whs4">2. In the upper part of this dialog box check
|
||
|
one of the radio buttons corresponding to the type of sewing operation
|
||
|
you would like to perform: </p>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image61.gif" width="297px" height="62px" border="0" class="img_whs6"> </p>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<p class="whs4">3. Fill the other fields available in the
|
||
|
dialog box</p>
|
||
|
|
||
|
<p class="whs4">4. Click the <span style="font-weight: bold;"><B>OK
|
||
|
</B></span><span>or </span><span style="font-weight: bold;"><B>Apply </B></span>button
|
||
|
to perform the operation of sewing. </p>
|
||
|
|
||
|
<p class="whs3"> </p>
|
||
|
|
||
|
<h3><a name="free bord"></a>Sew free borders</h3>
|
||
|
|
||
|
<p>This functionality allows you to unite two free borders of a 2D mesh.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p>For sewing free borders you should define three points on each border:
|
||
|
first, second and the last node: </p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<ul type="disc" class="whs2">
|
||
|
|
||
|
<li class=kadov-p><p> the
|
||
|
first node specifies beginning of the border ;</p></li>
|
||
|
|
||
|
<li class=kadov-p><p> the
|
||
|
second node specifies the part of the border which should be considered
|
||
|
(as far as the free border usually forms a closed contour);</p></li>
|
||
|
|
||
|
<li class=kadov-p><p> the
|
||
|
last node specifies the end of the border.</p></li>
|
||
|
</ul>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p>You can select these nodes in the 3D viewer or define by its id.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p>The first and the second nodes should belong to the same link of a face.
|
||
|
The second and the last nodes of a border can be the same. The first and
|
||
|
the last nodes of two borders can be the same. The corresponding end nodes
|
||
|
of two borders will be merged. Intermediate nodes of two borders will
|
||
|
be either merged or inserted into faces of the opposite border.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p>The sewing algorithm is as follows:</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4">1. The parameter (U) of each node within
|
||
|
a border is computed. So that the first node has U=0.0, the last node
|
||
|
has U=1.0, for the rest nodes 0.0 < U < 1.0;</p>
|
||
|
|
||
|
<p class="whs4">2. Compare node parameters of the two borders.
|
||
|
If two nodes of the opposite borders have close parameters, they are merged,
|
||
|
i.e. a node of the first border is replaced in all elements by a node
|
||
|
of the second border. If a node has no node with a close parameter in
|
||
|
the opposite border, it is inserted into an edge of element of the opposite
|
||
|
border, an element is split. Two nodes are considered close enough to
|
||
|
merge, if difference of their parameters is less than one fifth of minimum
|
||
|
length of adjacent face edges on the borders.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image22.jpg" width="612px" height="225px" border="0" class="img_whs7"></p>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<h3><a name=conform></a>Sew conform free borders</h3>
|
||
|
|
||
|
<p>This functionality can be used to unite two free borders of a 2D mesh.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p>The borders of meshes for sewing are defined as for "Sew free borders"
|
||
|
except that the second free border is not limited and can be defined by
|
||
|
the first and the second nodes only. The first nodes of two borders can
|
||
|
be the same.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image23.jpg" width="612px" height="230px" border="0" class="img_whs8"></p>
|
||
|
|
||
|
<p>The algorithm is following: counting nodes starting at the first ones,
|
||
|
the n-th node of the first border is merged with the n-th node of the
|
||
|
other border, until the end of either of borders. Nodes of the first border
|
||
|
are replaced in all elements with corresponding nodes of the second border.</p>
|
||
|
|
||
|
<p>For sewing conform free borders you should define three points on the
|
||
|
first border and two points on the second one. User can select these nodes
|
||
|
in 3D viewer or define node by its id.</p>
|
||
|
|
||
|
<p class="whs3"> </p>
|
||
|
|
||
|
<p class="whs3"> </p>
|
||
|
|
||
|
<h3><a name="border to side"></a>Sew border to side</h3>
|
||
|
|
||
|
<p>"Sew border to side" is intended to sew a free border to a
|
||
|
mesh surface.</p>
|
||
|
|
||
|
<p>The free border is defined as for "Sewing of free borders".
|
||
|
The place where to sew the border is defined by two nodes, between which
|
||
|
the border faces are placed, so that the first border node is merged with
|
||
|
the first node on the side and the last node of the border is merged with
|
||
|
the second specified node on the side.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image30.jpg" width="600px" height="227px" border="0" class="img_whs9"></p>
|
||
|
|
||
|
<p>The algorithm is following.</p>
|
||
|
|
||
|
<p>1. Find a sequence of linked nodes on the side such that the found links
|
||
|
to be most co-directed with the links of the free border.</p>
|
||
|
|
||
|
<p>2. Sew two sequences of nodes using algorithm of "Sewing of free
|
||
|
berders".</p>
|
||
|
|
||
|
<p>For sewing border to side you should define three points on the border
|
||
|
and two points on the side. User can select these nodes in 3D viewer or
|
||
|
define node by its id.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<h3><a name="side elements"></a>Sew side elements</h3>
|
||
|
|
||
|
<p class="whs4"> </p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image31.jpg" width="620px" height="228px" border="0" class="img_whs10"></p>
|
||
|
|
||
|
<p>This operation is intended to unite two mesh surfaces.</p>
|
||
|
|
||
|
<p>Surfaces may be defined by either 2d or 3d elements. The number of given
|
||
|
elements of the sides must be the same. The sets of given elements must
|
||
|
be topologically equal, i.e. each node of one element set must have a
|
||
|
corresponding node in the other element set and corresponding nodes must
|
||
|
be equally linked. If there are 3d elements in a set, only their free
|
||
|
faces must obey to that rule.</p>
|
||
|
|
||
|
<p>Two corresponding nodes on each side must be specified. They must belong
|
||
|
to one element and must be located on an element set boundary.</p>
|
||
|
|
||
|
<p>Sewing algorithm finds and merges the corresponding nodes starting from
|
||
|
the specified ones.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<p class="whs4"><img src="../image32.jpg" width="304px" height="222px" border="0" class="img_whs11"></p>
|
||
|
|
||
|
<p>For sewing side elements you should define elements for sewing and two
|
||
|
nodes for merging on the each side. User can select these elements and
|
||
|
nodes in 3D viewer or define them by its id.</p>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<script type="text/javascript" language="javascript1.2">
|
||
|
<!--
|
||
|
if (window.writeIntopicBar)
|
||
|
writeIntopicBar(0);
|
||
|
//-->
|
||
|
</script>
|
||
|
</body>
|
||
|
|
||
|
</html>
|