mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-16 10:38:34 +05:00
389 lines
16 KiB
HTML
Executable File
389 lines
16 KiB
HTML
Executable File
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
||
|
||
<html>
|
||
|
||
<head>
|
||
<title>Shape Processing</title>
|
||
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
|
||
<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
|
||
<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:none; width:25px; height:24px; border-style:none; }
|
||
p.whs2 { font-size:12pt; }
|
||
p.whs3 { font-size:12pt; margin-left:40px; }
|
||
img_whs4 { border:none; width:403px; height:469px; float:none; border-style:none; }
|
||
p.whs5 { font-size:12pt; font-weight:bold; }
|
||
ul.whs6 { list-style:disc; }
|
||
p.whs7 { font-size:12pt; margin-left:48px; }
|
||
p.whs8 { font-size:12pt; margin-left:0px; }
|
||
p.whs9 { font-size:12pt; margin-left:0px; font-weight:bold; }
|
||
p.whs10 { font-size:12pt; font-weight:bold; margin-left:48px; }
|
||
p.whs11 { font-size:12pt; margin-left:48px; font-weight:normal; }
|
||
p.whs12 { font-size:12pt; margin-left:88px; font-weight:normal; }
|
||
p.whs13 { font-size:12pt; margin-left:0px; font-weight:normal; }
|
||
p.whs14 { font-size:12pt; margin-left:48px; font-weight:bold; }
|
||
p.whs15 { font-size:12pt; font-weight:bold; margin-left:0px; }
|
||
img_whs16 { border:none; width:300px; height:214px; border-style:none; }
|
||
img_whs17 { border:none; width:244px; height:214px; border-style:none; }
|
||
p.whs18 { font-family:'Times New Roman' , serif; font-size:14pt; }
|
||
p.whs19 { font-family:'Times New Roman' , serif; font-size:12pt; }
|
||
img_whs20 { border:none; width:239px; height:214px; border-style:none; }
|
||
p.whs21 { font-weight:bold; }
|
||
-->
|
||
</style><script type="text/javascript" language="JavaScript">
|
||
<!--
|
||
if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
|
||
{
|
||
var strNSS = "<style type='text/css'>";
|
||
strNSS += "p.whs8 {margin-left:1pt; }";
|
||
strNSS += "p.whs9 {margin-left:1pt; }";
|
||
strNSS += "p.whs13 {margin-left:1pt; }";
|
||
strNSS += "p.whs15 {margin-left:1pt; }";
|
||
strNSS +="</style>";
|
||
document.write(strNSS);
|
||
}
|
||
//-->
|
||
</script>
|
||
<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; }
|
||
p.WebHelpNavBar { text-align:right; }
|
||
-->
|
||
</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>
|
||
<script type="text/javascript" language="javascript1.2">
|
||
<!--
|
||
if (window.gbWhTopic)
|
||
{
|
||
if (window.setRelStartPage)
|
||
{
|
||
addTocInfo("Geometry module\nTransforming geometrical objects\nRepairing Operations\nShape Processing");
|
||
addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
|
||
addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
|
||
|
||
}
|
||
|
||
|
||
if (window.setRelStartPage)
|
||
{
|
||
setRelStartPage("index.htm");
|
||
|
||
autoSync(1);
|
||
sendSyncInfo();
|
||
sendAveInfoOut();
|
||
}
|
||
|
||
}
|
||
else
|
||
if (window.gbIE4)
|
||
document.location.reload();
|
||
//-->
|
||
</script>
|
||
</head>
|
||
<body><script type="text/javascript" language="javascript1.2">
|
||
<!--
|
||
if (window.writeIntopicBar)
|
||
writeIntopicBar(4);
|
||
//-->
|
||
</script>
|
||
<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>
|
||
|
||
<p class="whs2"><b style="font-weight: normal;">T</b>o produce
|
||
a <span style="font-weight: bold;"><B>Shape Processing</B></span> operation in
|
||
the Main Menu select <span style="font-weight: bold;"><B>Repair - ></B></span>
|
||
<span style="font-weight: bold;"><B>Shape Processing.</B></span></p>
|
||
|
||
<p class="whs2">This operation processes one or more shapes
|
||
using various operators.</p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs2"><b><span style="font-weight: normal;">The</span>
|
||
Result <span style="font-weight: normal;">will be a</span></b><b> <span
|
||
style="font-weight: bold;"><B>GEOM_Object</b>.</B></span></p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i>
|
||
</i><span style="font-style: italic;"><I>geompy.ProcessShape(Shape, Operators,
|
||
Parameters, Values)</I></span>, where Shape is a processed shape, Operators
|
||
is a list of operators ("FixShape", "SplitClosedFaces",
|
||
etc.), Parameters is a list of parameters (<28>FixShape.Tolerance3d<33>, etc),
|
||
Values is a list of values of parameters placed in the same order as in
|
||
the list of Parameters .</p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs2">In this dialog box you can select the object
|
||
that you need to process, define its name and operators applied to it
|
||
during processing. </p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs3"><img src="pics/repair1.png" x-maintain-ratio="TRUE" width="403px" height="469px" border="0" class="img_whs4"></p>
|
||
|
||
<p class="whs3"> </p>
|
||
|
||
<p class="whs5">Operators and Parameters<span
|
||
style="font-weight: normal;"> (TUI names are given in brackets)</span></p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<ul type="disc" class="whs6">
|
||
|
||
<li class=kadov-p><p class="whs2"><span style="font-weight: bold;"><B>Fix
|
||
Shape</B></span> (FixShape) - corrects invalid shapes. </p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>3D Tolerance</B></span> (FixShape.Tolerance3d)
|
||
- work tolerance for detection of the problems and correction of them.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>Max 3D Tolerance</B></span> (FixShape.MaxTolerance3d)
|
||
- maximal
|
||
possible tolerance of the shape after correction.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs8"><span
|
||
style="font-weight: bold;"><B>Fix Face Size</B></span> (FixFaceSize) - removes
|
||
small faces, such as spots and strips. </p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>Tolerance</B></span> (FixFaceSize.Tolerance) -
|
||
defines minimum possible face size.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs8"><span
|
||
style="font-weight: bold;"><B>Drop Small Edges</B></span> (DropSmallEdges) -
|
||
removes edges, which merge with neighbouring edges.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>3D Tolerance</B></span> (DropSmallEdges.Tolerance3d)
|
||
- defines minimum possible distance between two parallel edges.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs8"><span
|
||
style="font-weight: bold;"><B>Split Angle</B></span> (SplitAngle) - splits faces
|
||
based on conical surfaces, surfaces of revolution and cylindrical surfaces
|
||
in segments using a certain angle . </p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>Angle</B></span> (SplitAngle.Angle) - the central
|
||
angle of the resulting segments (i.e. we obtain two segments if Angle=180,
|
||
four if Angle=90, etc).</p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>Max. Tolerance</B></span> (SplitAngle.MaxTolerance)
|
||
- maximum possible tolerance among the resulting segments.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs9">Split Closed Faces
|
||
<span style="font-weight: normal;">(SplitClosedFaces)</span> - <span style="font-weight: normal;">splits
|
||
closed faces in segments. The number of segments depends on the number
|
||
of splitting points.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>Number of splitting points</B></span> (SplitClosedFaces.NbSplitPoints)
|
||
- the number of splitting points.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs9">Split Continuity<span
|
||
style="font-weight: normal;"> (SplitContinuity) - splits shapes to reduce
|
||
continuities of curves and surfaces.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs10">3D Tolerance<span style="font-weight: normal;">
|
||
(SplitContinuity.Tolerance3d) - 3D tolerance for correction of geometry.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs10">Surface Continuity<span
|
||
style="font-weight: normal;"> (SplitContinuity.SurfaceContinuity) - required
|
||
continuity for surfaces.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs10">Curve Continuity <span
|
||
style="font-weight: normal;">(SplitContinuity.CurveContinuity)</span>
|
||
- <span style="font-weight: normal;">required continuity for curves.</span></p></li>
|
||
</ul>
|
||
|
||
<p class="whs11">This and the previous parameters can
|
||
take the following values:</p>
|
||
|
||
<p class="whs12"><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;"><span
|
||
style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">P</font></span>arametric Continuity
|
||
</font></span></p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>C0</B></span>
|
||
(Positional Continuity): curves are joined (the end positions of curves
|
||
or surfaces are coincidental. The curves or surfaces may still meet at
|
||
an angle, giving rise to a sharp corner or edge).</p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>C1</B></span>
|
||
(Tangential Continuity): first derivatives are equal (the end vectors
|
||
of curves or surfaces are parallel, ruling out sharp edges). </p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>C2</B></span>
|
||
(Curvature Continuity): first and second derivatives are equal (the end
|
||
vectors of curves or surfaces are of the same magnitude).</p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>CN</B></span>
|
||
N-th derivatives are equal (both the direction and the magnitude of the
|
||
Nth derivatives of curves or surfaces (d/du C(u)) are the same at junction.</p>
|
||
|
||
<p class="whs12">Geometric Continuity </p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>G1</B></span>:
|
||
first derivatives are proportional at junction</p>
|
||
|
||
<p class="whs12">The curve tangents thus have the same
|
||
direction, but not necessarily the same magnitude. i.e., C1'(1) = (a,b,c)
|
||
and C2'(0) = (k*a, k*b, k*c). </p>
|
||
|
||
<p class="whs12"><span style="font-weight: bold;"><B>G2</B></span>:
|
||
first and second derivatives are proportional at junction </p>
|
||
|
||
<p class="whs12">As the names imply, geometric continuity
|
||
requires the geometry to be continuous, while parametric continuity requires
|
||
that the underlying parameterization was continuous as well. </p>
|
||
|
||
<p class="whs12">Parametric continuity of order n implies
|
||
geometric continuity of order n, but not vice-versa. </p>
|
||
|
||
<ul type="disc" class="whs6">
|
||
|
||
<li class=kadov-p><p class="whs13"><span style="font-weight: bold;"><B>Bspline
|
||
Restriction</B></span> (BsplineRestriction) - converts curves and surfaces
|
||
to Bsplines and processes them with the following parameters:</p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">Surface Mode<span style="font-weight: normal;">
|
||
(BSplineRestriction.SurfaceMode) - approximation of surfaces if restriction
|
||
is necessary.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">3D Curve Mode<span
|
||
style="font-weight: normal;"> (BSplineRestriction.Curve3dMode) - conversion
|
||
of any 3D curve to BSpline and approximation.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">2D Curve Mode<span
|
||
style="font-weight: normal;"> (BSplineRestriction.Curve2dMode) -</span>
|
||
<span style="font-weight: normal;">conversion of any 2D curve to BSpline
|
||
and approximation.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>3D
|
||
Tolerance</B></span> (BSplineRestriction.Tolerance3d) - defines the possibility
|
||
of surfaces and 3D curves approximation with the specified parameters.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>2D
|
||
Tolerance</B></span> (BSplineRestriction.Tolerance2d) - defines the possibility
|
||
of surfaces and 2D curves approximation with the specified parameters.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>Required
|
||
Degree</B></span> (BSplineRestriction.RequiredDegree) - required degree of
|
||
the resulting BSplines.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>Required
|
||
number of segments</B></span> (BSplineRestriction.RequiredNbSegments) - required
|
||
maximum number of segments of resultant BSplines</p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>3D
|
||
Continuity</B></span> (BSplineRestriction.Continuity3d) - continuity of the
|
||
resulting surfaces and 3D curves.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>2D
|
||
Continuity</B></span> (BSplineRestriction.Continuity2d) - continuity of the
|
||
resulting 2D curves.</p></li>
|
||
|
||
<li class=kadov-p><p class="whs8"><span
|
||
style="font-weight: bold;"><B>To Bezier</B></span> (ToBezier) - converts curves
|
||
and surfaces of any type to Bezier curves and surfaces. </p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">Surface Mode<span style="font-weight: normal;">
|
||
(ToBezier.SurfaceMode) - if checked in, allows conversion of surfaces.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">3D Curve Mode <span
|
||
style="font-weight: normal;">(ToBezier.Curve3dMode) - if checked in, allows
|
||
conversion of 2D curves.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">2D Curve Mode <span
|
||
style="font-weight: normal;">(ToBezier.Curve2dMode) - if checked in, allows
|
||
conversion of 3D curves.</span></p></li>
|
||
|
||
<li class=kadov-p><p class="whs14">Max Tolerance<span
|
||
style="font-weight: normal;"> (ToBezier.MaxTolerance) </span>- <span style="font-weight: normal;">defines</span>
|
||
<span style="font-weight: normal;">tolerance for detection and correction
|
||
of problems.</span> </p></li>
|
||
|
||
<li class=kadov-p><p class="whs15">Same Parameter<span
|
||
style="font-weight: normal;"> (SameParameter) <20> fixes
|
||
edges of 2D and 3D curves not having the same parameter.</span> </p></li>
|
||
|
||
<li class=kadov-p><p class="whs7"><span
|
||
style="font-weight: bold;"><B>3D Tolerance</B></span> (SameParameter.Tolerance3d)
|
||
<20> defines<span style="font-weight: bold;"> <B></B></span>tolerance for fixing
|
||
of edges.<span style="font-weight: bold;"> <B></B></span></p></li>
|
||
</ul>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs2"><b style="font-weight: bold;">Dialog Box:</b></p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs3"><img src="pics/repair1.png" x-maintain-ratio="TRUE" width="403px" height="469px" border="0" class="img_whs4"></p>
|
||
|
||
<p class="whs3"> </p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<p class="whs2"><b style="font-weight: bold;">Example:</b></p>
|
||
|
||
<p> </p>
|
||
|
||
<p class="whs2">Shape before applying Shape Processing (FixShape
|
||
operator).</p>
|
||
|
||
<p class="whs2"> </p>
|
||
|
||
<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>
|
||
|
||
<p class="whs18"> </p>
|
||
|
||
<p class="whs19">The
|
||
same shape after applying Shape Processing.</p>
|
||
|
||
<p class="whs18"> </p>
|
||
|
||
<p class="whs3"><img src="image160.jpg" width="239px" height="214px" border="0" class="img_whs20"></p>
|
||
|
||
<p class="whs21"> </p>
|
||
|
||
<p class="whs21"><span style="font-weight: normal;">Our</span>
|
||
TUI Scripts<span style="font-weight: normal;"> provide you with useful
|
||
examples of the use of</span> <a href="repairing_operations.htm#bookmark">Repairing
|
||
Operations</a>. </p>
|
||
|
||
<p> </p>
|
||
|
||
<script type="text/javascript" language="javascript1.2">
|
||
<!--
|
||
if (window.writeIntopicBar)
|
||
writeIntopicBar(0);
|
||
//-->
|
||
</script>
|
||
</body>
|
||
</html>
|