<p class="whs35"> </p>\r
\r
<p class="whs2">Our TUI Scripts provide you with useful examples \r
- of creation of <a href="basic_geometrical_objects.htm">Basic Geometric \r
- Objects</a>. </p>\r
+ of creation of <a href="basic_geometrical_objects.htm#bookmark">Basic \r
+ Geometric Objects</a>. </p>\r
\r
<p> </p>\r
\r
an <span style="font-weight: bold;"><B>Archimede</B></span> operation in the \r
Main Menu select <span style="font-weight: bold;"><B>Operations - > Archimede</B></span></p>\r
\r
-<p class="whs3"> </p>\r
-\r
<p class="whs3">This \r
operation creates a plane corresponding to the modeled water-line of the \r
object plunged into the water (in Z direction).</p>\r
<p class="whs2"> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
- Result<span style="font-weight: normal;"> will be any</span></b> GEOM_Object.</p>\r
+ Result<span style="font-weight: normal;"> will be a</span></b> GEOM_Object \r
+ (Face).</p>\r
\r
<p class="whs2"><b style="font-weight: bold;">TUI Command: \r
</b><span style="font-style: italic;"><I>geompy.Archimede(Shape,Weight,WaterDensity,MeshingDeflection)</I></span>, \r
\r
<p> </p>\r
\r
-<p># create vertices</p>\r
+<p># create vertex</p>\r
\r
<p class="whs1">p0 = geompy.MakeVertex(0., \r
0., 0.)</p>\r
\r
-<p class="whs1">p100 = geompy.MakeVertexWithRef(p0, \r
- 100., 100., 100.)</p>\r
-\r
-<p class="whs1">px = geompy.MakeVertex(100., \r
- 0., 0.)</p>\r
-\r
-<p class="whs1">py = geompy.MakeVertex(0., \r
- 100., 0.)</p>\r
-\r
-<p class="whs1">pz = geompy.MakeVertex(0., \r
- 0., 100.)</p>\r
-\r
-<p> </p>\r
-\r
-<p># create a curve and a vertex on it</p>\r
-\r
-<p class="whs1">Arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
-\r
-<p class="whs1">p_on_arc = geompy.MakeVertexOnCurve(Arc, \r
- 0.25)</p>\r
-\r
<p> </p>\r
\r
-<p># add objects in the study</p>\r
+<p># add object in the study</p>\r
\r
<p class="whs1">id_p0 = \r
geompy.addToStudy(p0, "Vertex \r
0")</p>\r
\r
-<p class="whs1">id_p100 = \r
- geompy.addToStudy(p100, "Vertex 100")</p>\r
-\r
-<p class="whs1">id_px = \r
- geompy.addToStudy(px, "Vertex \r
- X")</p>\r
-\r
-<p class="whs1">id_py = \r
- geompy.addToStudy(py, "Vertex \r
- Y")</p>\r
-\r
-<p class="whs1">id_pz = \r
- geompy.addToStudy(pz, "Vertex \r
- Z")</p>\r
-\r
-<p class="whs1">id_Arc = \r
- geompy.addToStudy(Arc, "Arc")</p>\r
-\r
-<p class="whs1">id_p_on_arc = geompy.addToStudy(p_on_arc, \r
- "Vertex on Arc")</p>\r
-\r
<p> </p>\r
\r
-<p># display vertices</p>\r
+<p># display vertex</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_p0)</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_p100)</p>\r
-\r
-<p class="whs1">gg.createAndDisplayGO(id_Arc)</p>\r
-\r
-<p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_p_on_arc)</span> \r
- </p>\r
-\r
<p> </p>\r
\r
<h3><a name=bookmark1>Creation of a Line</a></h3>\r
\r
<p> </p>\r
\r
+<h3><a name=bookmark7>Creation of an Arc</a></h3>\r
+\r
+<p class="whs1">import geompy</p>\r
+\r
+<p class="whs1">import salome</p>\r
+\r
+<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
+\r
+<p> </p>\r
+\r
+<p># create vertices</p>\r
+\r
+<p class="whs1">p0 = geompy.MakeVertex(0., \r
+ 0., 0.)</p>\r
+\r
+<p class="whs1">p100 = geompy.MakeVertexWithRef(p0, \r
+ 100., 100., 100.)</p>\r
+\r
+<p class="whs1">px = geompy.MakeVertex(100., \r
+ 0., 0.)</p>\r
+\r
+<p class="whs1">py = geompy.MakeVertex(0., \r
+ 100., 0.)</p>\r
+\r
+<p class="whs1">pz = geompy.MakeVertex(0., \r
+ 0., 100.)</p>\r
+\r
+<p> </p>\r
+\r
+<p># create a curve and a vertex on it</p>\r
+\r
+<p class="whs1">Arc = geompy.MakeArc(py, \r
+ pz, px)</p>\r
+\r
+<p class="whs1">p_on_arc = geompy.MakeVertexOnCurve(Arc, \r
+ 0.25)</p>\r
+\r
+<p> </p>\r
+\r
+<p># add objects in the study</p>\r
+\r
+<p class="whs1">id_p0 = \r
+ geompy.addToStudy(p0, "Vertex \r
+ 0")</p>\r
+\r
+<p class="whs1">id_p100 = \r
+ geompy.addToStudy(p100, "Vertex 100")</p>\r
+\r
+<p class="whs1">id_px = \r
+ geompy.addToStudy(px, "Vertex \r
+ X")</p>\r
+\r
+<p class="whs1">id_py = \r
+ geompy.addToStudy(py, "Vertex \r
+ Y")</p>\r
+\r
+<p class="whs1">id_pz = \r
+ geompy.addToStudy(pz, "Vertex \r
+ Z")</p>\r
+\r
+<p class="whs1">id_Arc = \r
+ geompy.addToStudy(Arc, "Arc")</p>\r
+\r
+<p class="whs1">id_p_on_arc = geompy.addToStudy(p_on_arc, \r
+ "Vertex on Arc")</p>\r
+\r
+<p> </p>\r
+\r
+<p># display vertices</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_p0)</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_p100)</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_Arc)</p>\r
+\r
+<p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_p_on_arc)</span> \r
+ </p>\r
+\r
+<p> </p>\r
+\r
<h3><a name=bookmark4>Creation of a Curve</a></h3>\r
\r
<p class="whs1">import geompy</p>\r
p.whs4 { font-size:12pt; margin-left:40px; }\r
img_whs5 { border:none; width:312px; height:346px; float:none; border-style:none; }\r
img_whs6 { border:none; width:312px; height:359px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:348px; height:321px; float:none; border-style:none; }\r
+p.whs7 { font-size:12pt; font-weight:normal; }\r
+img_whs8 { border:none; width:400px; height:359px; float:none; }\r
+img_whs9 { border:none; width:348px; height:321px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
\r
<p class="whs4"><b style="font-weight: bold;"><img src="pics/circle2.png" x-maintain-ratio="TRUE" width="312px" height="359px" border="0" class="img_whs6"></b></p>\r
\r
+<p class="whs4"> </p>\r
+\r
+<p class="whs7"><b style="font-weight: normal;">Finally, \r
+ you can define </b>a<span style="font-weight: bold;"><B> Circle</B></span> by \r
+ its Center and two<span style="font-weight: bold;"><B> Points</B></span>.<span \r
+ style="font-weight: bold;"> <B></B></span></p>\r
+\r
+<p class="whs3"><b>TUI Command:</b> <span \r
+ style="font-weight: normal; font-style: italic;"><I>geompy.MakeCircleCenter2Pnt(Point1, \r
+ Point2, Point3), </I></span><span style="font-weight: normal;">where Point1 \r
+ is the center of the circle, the distance between Point1 and Point2 is \r
+ the radius of the circle and Point3 helps to define the plain where the \r
+ circle lies. </span><span style="font-weight: normal; font-style: italic;"><I> </I></span> </p>\r
+\r
+<p class="whs4"> </p>\r
+\r
+<p class="whs4"><img src="pics/circle3.png" x-maintain-ratio="TRUE" width="400px" height="359px" border="0" class="img_whs8"></p>\r
+\r
+<p class="whs4"> </p>\r
+\r
<p class="whs2"> </p>\r
\r
-<p class="whs4"><b style="font-weight: bold;"><img src="pics/circles.png" x-maintain-ratio="TRUE" width="348px" height="321px" border="0" class="img_whs7"></b></p>\r
+<p class="whs4"><b style="font-weight: bold;"><img src="pics/circles.png" x-maintain-ratio="TRUE" width="348px" height="321px" border="0" class="img_whs9"></b></p>\r
\r
<p> </p>\r
\r
p.whs3 { font-size:12pt; margin-left:0in; margin-right:0in; margin-top:0px; margin-bottom:0px; }\r
p.whs4 { font-size:12pt; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
img_whs5 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
-img_whs6 { border:none; border-style:none; width:253px; height:266px; float:none; }\r
-img_whs7 { border:none; border-style:none; float:none; width:234px; height:266px; }\r
+img_whs6 { border:none; width:253px; height:266px; float:none; border-style:none; }\r
+img_whs7 { border:none; float:none; width:234px; height:266px; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
<p class="whs3"> </p>\r
\r
<p class="whs3"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
- Result <span style="font-weight: normal;">will be a</span></b> GEOM_Object \r
- (COMPOUND).</p>\r
+ Result <span style="font-weight: normal;">will be any</span></b> GEOM_Object.</p>\r
\r
<p class="whs3"><span style="font-weight: bold;"><B>TUI Command:</B></span> \r
<span style="font-style: italic;"><I>geompy.MakeCommon(s1, \r
p.whs4 { margin-left:40px; }\r
img_whs5 { border:none; width:312px; height:402px; float:none; border-style:none; }\r
p.whs6 { font-weight:bold; margin-left:40px; }\r
-img_whs7 { border:none; width:312px; height:402px; float:none; border-style:none; }\r
-p.whs8 { font-size:12pt; margin-left:40px; }\r
-img_whs9 { border:none; width:276px; height:282px; float:none; border-style:none; }\r
+p.whs7 { font-size:12pt; margin-left:40px; }\r
+img_whs8 { border:none; width:276px; height:282px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
the <span style="font-weight: bold;"><B>Height</B></span> and the first and the \r
second <span style="font-weight: bold;"><B>Radiuses</B></span>. </p>\r
\r
-<p><b style="font-weight: bold;">TUI Command:</b> <span style="font-style: italic;"><I>geompy.MakeCone(Point, \r
- Axis, Radius1, Radius2)</I></span></p>\r
+<p><b>TUI Command:</b> <span style="font-style: italic;"><I>geompy.MakeCone(Point, \r
+ Axis, Radius1, Radius2, Height)</I></span></p>\r
\r
<p class="whs3"><b style="font-weight: bold;">Arguments: \r
</b><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">Name + 1 vertex \r
<p><b style="font-weight: bold;">TUI Command:</b> <span style="font-style: italic;"><I>geompy.MakeConeR1R2H(Radius1, \r
Radius2, Height)</I></span> </p>\r
\r
-<p class="whs3"><b>Arguments: </b><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">Name \r
- + 3 values (Radius of the base part, radius of the upper part, height).</font></span></p>\r
+<p class="whs3"><b style="font-weight: bold;">Arguments: \r
+ </b><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">Name + 3 values \r
+ (Radius of the base part, radius of the upper part, height).</font></span></p>\r
\r
-<p class="whs6"><img src="pics/cone2.png" x-maintain-ratio="TRUE" width="312px" height="402px" border="0" class="img_whs7"></p>\r
+<p class="whs6"><img src="pics/cone2.png" x-maintain-ratio="TRUE" width="312px" height="402px" border="0" class="img_whs5"></p>\r
\r
<p class="whs3"> </p>\r
\r
\r
<p> </p>\r
\r
-<p class="whs8"><img src="pics/cones.png" x-maintain-ratio="TRUE" width="276px" height="282px" border="0" class="img_whs9"></p>\r
+<p class="whs7"><img src="pics/cones.png" x-maintain-ratio="TRUE" width="276px" height="282px" border="0" class="img_whs8"></p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs7"> </p>\r
\r
<p class="whs2">Our TUI Scripts provide you with useful examples \r
of creation of <a href="primitives.htm#bookmark4">Primitives</a>. </p>\r
p.whs3 { font-size:12pt; margin-left:0in; margin-right:0in; margin-top:0px; margin-bottom:0px; }\r
p.whs4 { font-size:12pt; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
img_whs5 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
-img_whs6 { border:none; border-style:none; width:253px; height:266px; float:none; }\r
+img_whs6 { border:none; width:253px; height:266px; float:none; border-style:none; }\r
img_whs7 { border:none; width:231px; height:267px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
one.</p>\r
\r
<p class="whs3"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
- Result <span style="font-weight: normal;">will be a</span> </b> GEOM_Object \r
- (COMPOUND).</p>\r
+ Result <span style="font-weight: normal;">will be any</span> </b> GEOM_Object.</p>\r
\r
<p class="whs3"><b style="font-weight: bold;">Arguments:</b> \r
Name + 2 shapes.</p>\r
the </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Type of Subshapes</B></font></span><span \r
style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> you wish to obtain from it</font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">.</font></span></p>\r
\r
-<p class="whs5"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
+<p class="whs5"><b><span style="font-weight: normal;">The</span> \r
Result <span style="font-weight: normal;">of the operation will be a List</span> \r
- of</b> GEOM_Objects (edges, faces, solids or compsolids).</p>\r
+ of</b> GEOM_Objects (vertices, edges, wires, faces, shells or solids).</p>\r
\r
<p class="whs5"> </p>\r
\r
\r
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
Result <span style="font-weight: normal;">of the operation will be a</span></b> \r
- GEOM_Object (edge, face, solid or compsolid).</p>\r
+ GEOM_Object (edge, face, shell, solid or compsolid).</p>\r
\r
<p class="whs2"><span style="font-weight: bold;"><B><b style="font-weight: bold;">TUI \r
Command :</b><i> </i></B></span><span style="font-style: italic;"><I>geompy.MakePrismVecH(Base, \r
Vector, Height)</I></span></p>\r
\r
<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments:</b> \r
- Name + 1 shape (vertex, edge, wire, face or shell) serving as base object \r
- + 1 vector (for direction of the extrusion) + 1 value (dimension).</font></span></p>\r
+ Name + 1 shape (vertex, edge, planar wire, face or shell) serving as base \r
+ object + 1 vector (for direction of the extrusion) + 1 value (dimension).</font></span></p>\r
\r
<p> </p>\r
\r
p.whs2 { font-size:12pt; }\r
p.whs3 { font-size:12pt; margin-left:40px; }\r
img_whs4 { border:none; width:312px; height:315px; float:none; border-style:none; }\r
-p.whs5 { font-size:12pt; font-style:italic; }\r
-img_whs6 { border:none; width:180px; height:180px; float:none; border-style:none; }\r
-img_whs7 { border:none; float:none; width:180px; height:180px; border-style:none; }\r
+img_whs5 { border:none; width:180px; height:180px; float:none; border-style:none; }\r
+img_whs6 { border:none; float:none; width:180px; height:180px; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
\r
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">To \r
create a </span><span style="font-weight: bold;"><B>Face</B></span><span style="font-weight: normal;"> \r
- you need to select a wire, whose elements will be connected so that the \r
- surface of the resulting object was minimal. Check </span><span style="font-weight: bold;"><B>Try \r
- to create a planar face</B></span><span style="font-weight: normal;"> to create \r
- a planar face or nothing if it is impossible.</span></b></p>\r
+ you need to select input shape(s). </span></b>The list of input shapes \r
+ can include shapes of any type; if the shapes are not wires or edges, \r
+ the algorithm extracts all edges from the input shapes and works on the \r
+ obtained edges. </p>\r
+\r
+<p class="whs2">The edges and wires do not necessary have to \r
+ be closed, the algorithm automatically builds a wire of maximum length \r
+ from all given edges and wires. If it founds multiple closed wires, it \r
+ can build a face with holes or some separate faces, depending on the placement \r
+ of the wires. If some resulting wires remain open, they will be added \r
+ in the resulting compound as is. </p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">Check \r
+ </span><span style="font-weight: bold;"><B>Try to create a planar face</B></span><span \r
+ style="font-weight: normal;"> to create a planar face or nothing if it \r
+ is impossible.</span></b></p>\r
\r
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
Result<span style="font-weight: normal;"> will be a</span></b> GEOM_Object \r
<p class="whs2"> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i> \r
- </i><span style="font-style: italic;"><I>geompy.MakeFace(Wire, isPlanarWanted</I></span>)</p>\r
+ </i><span style="font-style: italic;"><I>geompy.MakeFaceWires([list of shapes], \r
+ isPlanarWanted</I></span>)</p>\r
\r
<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
Name + 1 wire.</p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2">There are some advanced possibilities accessible \r
- only via<span style="font-weight: bold;"><B> TUI commands</B></span>.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"><span style="font-style: italic;"><I>geompy.MakeFaceWires(Wires, \r
- isPlanarWanted)</I></span> - Creates a face on the given wires set. The argument \r
- is not a single wire, but a list of wires. </p>\r
-\r
-<p class="whs2"><span style="font-style: italic;"><I>geompy.MakeFaces(Wires, \r
- isPlanarWanted)</I></span> is a shortcut to <span style="font-style: italic;"><I>MakeFaceWires(). \r
- </I></span></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
<p class="whs2"> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">Example:</b></p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs3"><img src="pics/facesn1.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs6"> <img src="pics/facesn2.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs6"> <img src="pics/facesn3.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs7"></p>\r
+<p class="whs3"><img src="pics/facesn1.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs5"> <img src="pics/facesn2.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs5"> <img src="pics/facesn3.png" x-maintain-ratio="TRUE" width="180px" height="180px" border="0" class="img_whs6"></p>\r
\r
<p class="whs3"> </p>\r
\r
img_whs4 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
p.whs5 { font-size:12pt; text-indent:2px; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:48px; }\r
p.whs6 { text-indent:2px; margin-right:0in; margin-top:0px; margin-bottom:0px; font-size:12pt; margin-left:48px; }\r
-p.whs7 { font-size:12pt; text-indent:2px; margin-left:0in; margin-right:0in; margin-top:0px; margin-bottom:0px; font-weight:normal; }\r
-p.whs8 { margin-left:48px; }\r
-p.whs9 { font-size:12pt; }\r
+p.whs7 { font-size:12pt; text-indent:2px; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:0px; }\r
+p.whs8 { font-size:12pt; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:48px; }\r
+p.whs9 { margin-left:48px; }\r
+p.whs10 { font-size:12pt; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
strNSS += "p.whs2 {margin-left:1pt;margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
strNSS += "p.whs5 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
strNSS += "p.whs6 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
- strNSS += "p.whs7 {margin-left:1pt;margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
+ strNSS += "p.whs7 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt;margin-left:1pt; }";\r
+ strNSS += "p.whs8 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
strNSS +="</style>";\r
document.write(strNSS);\r
}\r
\r
<p class="whs3"><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_whs4"><span style="font-weight: normal;">You can use the following \r
boolean operations for construction of more complex geometrical objects \r
- (2D & 3D elements) :</span></b></p>\r
+ (2D & 3D shapes) :</span></b></p>\r
\r
<p class="whs3"> </p>\r
\r
all these operations, which can be used alongside with separate commands \r
for each operation.</p>\r
\r
-<p class="whs5"><span style="font-style: italic;"><I>geompy.MakeBoolean(Shape1, \r
- Shape2, Operation)</I></span>, where Shape1 is the first argument and Shape2 \r
- is the second argument of Boolean operation, Operation is a type of the \r
- Boolean operation (1 \96 Common, 2 \96 Cut, 3 \96 Fuse, 4 \96 Section).</p>\r
+<p class="whs8"><span style="font-style: italic;"><I>geompy.MakeBoolean(Shape1, \r
+ Shape2, Operation)</I></span>, where <span style="font-style: italic;"><I>Shape1</I></span> \r
+ is the first argument, <span style="font-style: italic;"><I>Shape2</I></span> \r
+ is the second argument of Boolean operation and <span style="font-style: italic;"><I>Operation</I></span> \r
+ is a type of the Boolean operation (1 \96 Common, 2 \96 Cut, 3 \96 Fuse, 4 \96 \r
+ Section).</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs5"> </p>\r
\r
-<p class="whs9"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Our <span style="font-weight: bold;"><B>TUI \r
+<p class="whs7">Besides you can use advanced TUI commands \r
+ performing these operations independently from each other:</p>\r
+\r
+<p class="whs8"><span style="font-style: italic;"><I>geompy.MakeFuse(Shape1, \r
+ Shape2)</I></span>, where <span style="font-style: italic;"><I>Shape1</I></span> \r
+ is the first argument and <span style="font-style: italic;"><I>Shape2</I></span> \r
+ is the second argument of Fuse operation;</p>\r
+\r
+<p class="whs8"><span style="font-style: italic;"><I>geompy.MakeCommon(Shape1, \r
+ Shape2)</I></span>, where <span style="font-style: italic;"><I>Shape1</I></span> \r
+ is the first argument and <span style="font-style: italic;"><I>Shape2</I></span> \r
+ is the second argument of Common operation;</p>\r
+\r
+<p class="whs8"><span style="font-style: italic;"><I>geompy.MakeCut(Shape1, \r
+ Shape2)</I></span>, where <span style="font-style: italic;"><I>Shape1</I></span> \r
+ is the first argument and <span style="font-style: italic;"><I>Shape2</I></span> \r
+ is the second argument of Cut operation;</p>\r
+\r
+<p class="whs8"><span style="font-style: italic;"><I>geompy.MakeSection(Shape1, \r
+ Shape2)</I></span>, where <span style="font-style: italic;"><I>Shape1</I></span> \r
+ is the first argument and <span style="font-style: italic;"><I>Shape</I></span>2 \r
+ is the second argument of Section operation.</p>\r
+\r
+<p class="whs9"> </p>\r
+\r
+<p class="whs10"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Our <span style="font-weight: bold;"><B>TUI \r
Scripts</B></span> provide you with useful examples of the use of <a href="../boolean_operations.htm">Boolean \r
Operations</a>. </font></span></p>\r
\r
<!--\r
p.whs1 { font-size:12pt; }\r
img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:21px; height:19px; border-style:none; }\r
-p.whs5 { font-size:12pt; margin-left:40px; font-weight:bold; }\r
-img_whs6 { border:none; width:272px; height:303px; float:none; border-style:none; }\r
-p.whs7 { font-family:'Times New Roman' , serif; font-size:14pt; }\r
-img_whs8 { width:20px; height:20px; border-style:none; }\r
-p.whs9 { font-family:'Times New Roman' , serif; font-size:12pt; }\r
-img_whs10 { border:none; width:360px; height:307px; float:none; border-style:none; }\r
-p.whs11 { font-size:12pt; margin-left:40px; }\r
-img_whs12 { border:none; width:312px; height:367px; float:none; border-style:none; }\r
-p.whs13 { font-size:12pt; margin-left:400px; }\r
-img_whs14 { border:none; width:360px; height:333px; float:none; border-style:none; }\r
-p.whs15 { font-size:12pt; font-weight:bold; }\r
-img_whs16 { border:none; width:360px; height:328px; float:none; border-style:none; }\r
-p.whs17 { font-size:12pt; font-weight:normal; }\r
-img_whs18 { border:none; width:360px; height:290px; float:none; border-style:none; }\r
-img_whs19 { border:none; width:360px; height:405px; float:none; border-style:none; }\r
-img_whs20 { border:none; width:360px; height:337px; float:none; border-style:none; }\r
-p.whs21 { font-size:12pt; margin-left:40px; text-indent:-40px; }\r
-img_whs22 { border:none; width:25px; height:23px; border-style:none; }\r
-ul.whs23 { list-style:disc; }\r
-img_whs24 { border:none; width:329px; height:436px; float:none; border-style:none; }\r
+p.whs3 { font-size:12pt; margin-left:48px; }\r
+p.whs4 { margin-left:40px; }\r
+img_whs5 { border:none; width:21px; height:19px; border-style:none; }\r
+p.whs6 { font-size:12pt; margin-left:40px; font-weight:bold; }\r
+img_whs7 { border:none; width:272px; height:303px; float:none; border-style:none; }\r
+p.whs8 { font-family:'Times New Roman' , serif; font-size:14pt; }\r
+img_whs9 { width:20px; height:20px; border-style:none; }\r
+p.whs10 { font-family:'Times New Roman' , serif; font-size:12pt; }\r
+img_whs11 { border:none; width:360px; height:307px; float:none; border-style:none; }\r
+p.whs12 { font-size:12pt; margin-left:40px; }\r
+img_whs13 { border:none; width:312px; height:367px; float:none; border-style:none; }\r
+p.whs14 { font-size:12pt; margin-left:400px; }\r
+img_whs15 { border:none; width:360px; height:333px; float:none; border-style:none; }\r
+p.whs16 { font-size:14pt; }\r
+img_whs17 { border:none; width:22px; height:22px; border-style:none; }\r
+img_whs18 { border:none; width:243px; height:203px; float:none; border-style:none; }\r
+p.whs19 { font-size:12pt; margin-left:0px; }\r
+h1.whs20 { font-size:14pt; }\r
+img_whs21 { border:none; width:23px; height:22px; border-style:none; }\r
+p.whs22 { font-size:12pt; font-weight:normal; }\r
+img_whs23 { border:none; width:322px; height:163px; float:none; border-style:none; }\r
+p.whs24 { font-size:12pt; font-weight:bold; }\r
+img_whs25 { border:none; width:360px; height:328px; float:none; border-style:none; }\r
+img_whs26 { border:none; width:360px; height:370px; float:none; }\r
+p.whs27 { font-size:12pt; margin-left:40px; text-indent:-40px; }\r
+img_whs28 { border:none; width:24px; height:22px; border-style:none; }\r
+img_whs29 { border:none; width:360px; height:292px; float:none; }\r
+img_whs30 { border:none; width:360px; height:405px; float:none; border-style:none; }\r
+img_whs31 { border:none; width:360px; height:337px; float:none; border-style:none; }\r
+img_whs32 { border:none; width:25px; height:23px; border-style:none; }\r
+ul.whs33 { list-style:disc; }\r
+img_whs34 { border:none; width:329px; height:436px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
{\r
var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs21 {text-indent:1pt; }";\r
+ strNSS += "p.whs19 {margin-left:1pt; }";\r
+ strNSS += "p.whs27 {text-indent:1pt; }";\r
strNSS +="</style>";\r
document.write(strNSS);\r
}\r
\r
<li class=kadov-p><p class="whs1"><a href="#Inertia_axis">Inertia</a></p></li>\r
\r
- <li class=kadov-p><p class="whs1"><a href="#Bounding_box">Bounding \r
- box</a></p></li>\r
+ <li class=kadov-p><p class="whs1"><a href="#free_boundaries">Check \r
+ free boundaries</a></p></li>\r
\r
- <li class=kadov-p><p class="whs1"><a href="#Min_distance">Min. \r
- distance</a></p></li>\r
+ <li class=kadov-p><p class="whs1"><a href="#free_faces">Check \r
+ free faces</a></p></li>\r
\r
- <li class=kadov-p><p class="whs1"><a href="#Tolerance">Tolerance</a></p></li>\r
+ <li class=kadov-p><p class="whs1">Dimensions:</p></li>\r
\r
- <li class=kadov-p><p class="whs1"><a href="#Whatis">WhatIs</a></p></li>\r
+ <li class=kadov-p><p class="whs3"><a \r
+ href="#Bounding_box">Bounding box</a></p></li>\r
+ \r
+ <li class=kadov-p><p class="whs3"><a \r
+ href="#Min_distance">Min. distance</a></p></li>\r
+ \r
+ <li class=kadov-p><p class="whs3"><a \r
+ href="#Angle">Angle</a></p></li>\r
+ \r
+ <li class=kadov-p><p class="whs1"><a href="#Tolerance">Compute \r
+ Tolerance</a></p></li>\r
+ \r
+ <li class=kadov-p><p class="whs1"><a href="#Whatis">What \r
+ is</a></p></li>\r
\r
<li class=kadov-p><p class="whs1"><a href="#check">Check</a></p></li>\r
\r
\r
<p class=TODO> </p>\r
\r
-<p class="whs3">In the main menu select <span style="font-weight: bold;"><B>Measures \r
+<p class="whs4">In the main menu select <span style="font-weight: bold;"><B>Measures \r
</B></span>submenu.</p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs4"> </p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs1"><a name=PointCoord> <img src="../image49.gif" width="21px" height="19px" border="0" class="img_whs4"> <span style="font-weight: bold; font-size: 14pt;"><font size=4 style="font-size:14pt;"><B>Point coordinates</B></font></span></a></p>\r
+<p class="whs1"><a name=PointCoord> <img src="../image49.gif" width="21px" height="19px" border="0" class="img_whs5"> <span style="font-weight: bold; font-size: 14pt;"><font size=4 style="font-size:14pt;"><B>Point coordinates</B></font></span></a></p>\r
\r
<p class="whs1"> </p>\r
\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs5"><img src="../pics/measures1.png" x-maintain-ratio="TRUE" width="272px" height="303px" border="0" class="img_whs6"></p>\r
+<p class="whs6"><img src="../pics/measures1.png" x-maintain-ratio="TRUE" width="272px" height="303px" border="0" class="img_whs7"></p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"><b style="font-weight: bold;"><a \r
+<p class="whs8"><b style="font-weight: bold;"><a \r
NAME=Basic_properties\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif" width="20px" height="20px" border="0" class="img_whs8"> Basic properties</a></b> \r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif" width="20px" height="20px" border="0" class="img_whs9"> Basic properties</a></b> \r
</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<p class="whs1">Returns the properties (Length, Surface & \r
Volume) for the selected geometrical object.</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs3"><img src="../pics/neo-basicprop.png" x-maintain-ratio="TRUE" width="360px" height="307px" border="0" class="img_whs10"></p>\r
+<p class="whs4"><img src="../pics/neo-basicprop.png" x-maintain-ratio="TRUE" width="360px" height="307px" border="0" class="img_whs11"></p>\r
\r
<p> </p>\r
\r
<p> </p>\r
\r
-<p class="whs7"><a name=Center_gravity\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;"> \r
+<p class="whs8"><a name=Center_gravity\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif" width="20px" height="20px" border="0" class="img_whs9"><b style="font-size: 14pt;"> \r
Center of mass</b></a></p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<p class="whs1">Calculates and returns the coordinates of the \r
gravity center for the selected geometrical object.</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures3.png" x-maintain-ratio="TRUE" width="312px" height="367px" border="0" class="img_whs12"></p>\r
+<p class="whs12"><img src="../pics/measures3.png" x-maintain-ratio="TRUE" width="312px" height="367px" border="0" class="img_whs13"></p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"> </p>\r
+<p class="whs8"> </p>\r
\r
-<p class="whs7"><a NAME=Inertia_axis\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"\r
+<p class="whs8"><a NAME=Inertia_axis\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif" width="20px" height="20px" border="0" class="img_whs9"><b><font style="font-size: 14pt;"\r
size=4> Inertia</font></b></a> \r
</p>\r
\r
-<p class="whs7"> </p>\r
+<p class="whs8"> </p>\r
\r
<p class="whs1">Returns the axis of inertia for the selected \r
geometrical object.</p>\r
the matrix and moments of inertia in the form of Python Tuple (I11, I12, \r
I13, </p>\r
\r
-<p class="whs13"> I21, \r
+<p class="whs14"> I21, \r
I22, I23, </p>\r
\r
-<p class="whs13"> I31, \r
+<p class="whs14"> I31, \r
I32, I33,</p>\r
\r
-<p class="whs13"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> Ix, \r
+<p class="whs14"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> Ix, \r
Iy, Iz)</font></span>.</p>\r
\r
<p class="whs1"> </p>\r
Shape is a shape for which a matrix of inertia and moment of inertia are \r
returned.</p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
+\r
+<p class="whs12"><img src="../pics/measures4.png" x-maintain-ratio="TRUE" width="360px" height="333px" border="0" class="img_whs15"></p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs16"><b style="font-weight: normal;"><a name=free_boundaries\r
+ style="font-size: 14pt;"><img src="../image44.gif" width="22px" height="22px" border="0" class="img_whs17"><span style="font-weight: bold; font-size: 14pt;"><font size=4 style="font-size:14pt;"><B>Check \r
+ Free Boundaries </B></font></span></a></b></p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">Detects and highlights wires and edges that \r
+ correspond to the shape's boundary.</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">TUI Command :</b><i><span \r
+ style="font-style: italic;"> <I></i>(NoError, ClosedWires, OpenWires) = geompy.GetFreeBoundary(Shape)</I></span>, \r
+ where Shape is a shape to be checked, NoError is false if an error occurred \r
+ while checking free boundaries, ClosedWires is a list of closed free boundary \r
+ wires, OpenWires is a list of open free boundary wires.</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs6"><img src="../pics/repair9.png" x-maintain-ratio="TRUE" width="243px" height="203px" border="0" class="img_whs18"></p>\r
+\r
+<p class="whs19"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures4.png" x-maintain-ratio="TRUE" width="360px" height="333px" border="0" class="img_whs14"></p>\r
+<h1 class="whs20"><a name=free_faces><img src="../image10.gif" width="23px" height="22px" border="0" class="img_whs21"> Check Free \r
+ Faces</a></h1>\r
+\r
+<p class="whs1">Detects and highlights all free faces of a \r
+ given shape. A free face is a face not shared between two shells of the \r
+ shape. </p>\r
\r
<p class="whs1"> </p>\r
\r
+<p class="whs1"><b style="font-weight: bold;">Result<span style="font-weight: normal;">: \r
+ </span></b><b><span style="font-weight: normal;">a list of IDs of all \r
+ free faces of the shape</span><span style="font-weight: bold;"><B>. </B></span></b></p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">TUI Command :</b><i><span \r
+ style="font-style: italic;"> <I></i>GetFreeFacesIDs(Shape)</I></span>, where \r
+ Shape is a shape to be checked.</p>\r
+\r
+<p class="whs22"> </p>\r
+\r
+<p class="whs12"><img src="../pics/repair10.png" x-maintain-ratio="TRUE" width="322px" height="163px" border="0" class="img_whs23"></p>\r
+\r
+<p class="whs19"> </p>\r
+\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"><a NAME=Bounding_box\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"\r
+<p class="whs8"><a NAME=Bounding_box\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif" width="20px" height="20px" border="0" class="img_whs9"><b><font style="font-size: 14pt;"\r
size=4> Bounding \r
box</font></b></a> </p>\r
\r
-<p class="whs7"> </p>\r
+<p class="whs8"> </p>\r
\r
<p class="whs1">Returns the dimensions of the bounding box \r
for the selected geometrical object.</p>\r
the dimensions of the bounding box of a geometrical object in the form \r
of Python Tuple (Xmin, Xmax, Ymin, Ymax, Zmin, Zmax).</p>\r
\r
-<p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.BoundingBox(Shape)</I></span><span \r
+<p class="whs24">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.BoundingBox(Shape)</I></span><span \r
style="font-weight: normal;">, where Shape is a shape for which a bounding \r
box is computed.</span></p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures5.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs16"></p>\r
+<p class="whs12"><img src="../pics/measures5.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs25"></p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"><a NAME=Min_distance\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"\r
+<p class="whs8"><a NAME=Min_distance\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif" width="20px" height="20px" border="0" class="img_whs9"><b><font style="font-size: 14pt;"\r
size=4> Min. distance</font></b></a></p>\r
\r
-<p class="whs7"> </p>\r
+<p class="whs8"> </p>\r
\r
<p class="whs1">Returns the minimum distance between two geometrical \r
- objects.</p>\r
+ objects and the components of the vector of minimum distance.</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.MinDistance(Shape1, \r
+<p class="whs24">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.MinDistance(Shape1, \r
Shape2)</I></span><span style="font-weight: normal;">, where Shape1 and Shape2 \r
- are shapes between which the minimal distance computed.</span></p>\r
+ are shapes between which the minimal distance is computed.</span></p>\r
\r
-<p class="whs17"> </p>\r
+<p class="whs22"> </p>\r
\r
-<p class="whs11"><img src="../pics/distance.png" x-maintain-ratio="TRUE" width="360px" height="290px" border="0" class="img_whs18"></p>\r
+<p class="whs12"><img src="../pics/distance.png" x-maintain-ratio="TRUE" width="360px" height="370px" border="0" class="img_whs26"></p>\r
+\r
+<p class="whs12"> </p>\r
+\r
+<p class="whs12"> </p>\r
+\r
+<p class="whs27"><a name=Angle><img src="../image39.gif" width="24px" height="22px" border="0" class="img_whs28"><span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Angle</B></font></span></a></p>\r
\r
<p class="whs1"> </p>\r
\r
+<p class="whs1">Returns the angle between lines and linear \r
+ edges.</p>\r
+\r
+<p class="whs24"> </p>\r
+\r
+<p class="whs24">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.GetAngle(shape1, \r
+ shape2)</I></span><span style="font-weight: normal;">, where Shape1 and Shape2 \r
+ are shapes between which the angle is computed.</span></p>\r
+\r
+<p class="whs24"> </p>\r
+\r
+<p class="whs4"><img src="../pics/angle.png" x-maintain-ratio="TRUE" width="360px" height="292px" border="0" class="img_whs29"> </p>\r
+\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"><a NAME=Tolerance\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;"> \r
+<p class="whs8"><a NAME=Tolerance\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif" width="20px" height="20px" border="0" class="img_whs9"><b style="font-size: 14pt;"> \r
Tolerance</b></a> </p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<p class="whs1">Returns the maximum and the minimum tolerance \r
for the selected geometrical object.</p>\r
the tolerance values (FaceMinTol, FaceMaxTol, EgdeMinTol, EgdeMaxTol, \r
VertexMinTol, VertexMaxTol).</p>\r
\r
-<p class="whs15">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.Tolerance(Shape)</I></span><span \r
+<p class="whs24">TUI command: <span style="font-weight: normal; font-style: italic;"><I>geompy.Tolerance(Shape)</I></span><span \r
style="font-weight: normal;">, where Shape is a shape for which minimal \r
and maximal tolerances are returned.</span></p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs11"><img src="../pics/new-tolerance.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs16"></p>\r
+<p class="whs12"><img src="../pics/new-tolerance.png" x-maintain-ratio="TRUE" width="360px" height="328px" border="0" class="img_whs25"></p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs7"><a NAME=Whatis><span \r
- style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif" width="20px" height="20px" border="0" class="img_whs8"><b style="font-size: 14pt;"> WhatIs</b></a> \r
+<p class="whs8"><a NAME=Whatis><span \r
+ style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif" width="20px" height="20px" border="0" class="img_whs9"><b style="font-size: 14pt;"> WhatIs</b></a> \r
</font></span></p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<p class="whs1">Displays types and quantities of all elements \r
composing the selected geometrical object.</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures8.png" x-maintain-ratio="TRUE" width="360px" height="405px" border="0" class="img_whs19"></p>\r
+<p class="whs12"><img src="../pics/measures8.png" x-maintain-ratio="TRUE" width="360px" height="405px" border="0" class="img_whs30"></p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
\r
-<p class="whs7"><a NAME=check\r
- style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif" width="20px" height="20px" border="0" class="img_whs8"><b><font style="font-size: 14pt;"\r
+<p class="whs8"><a NAME=check\r
+ style="font-size: 14pt;"><img src="salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif" width="20px" height="20px" border="0" class="img_whs9"><b><font style="font-size: 14pt;"\r
size=4> Check</font></b></a> \r
</p>\r
\r
-<p class="whs7"> </p>\r
+<p class="whs8"> </p>\r
\r
<p class="whs1">Checks the topology of the selected geometrical \r
object and returns True if it is valid. <span style="font-weight: bold;"><B>Check \r
<p class="whs1"><b style="font-weight: bold;">Result:</b> Boolean.</p>\r
\r
<p class="whs1"><b style="font-weight: bold;">TUI Command:</b><i> \r
- </i><span style="font-style: italic;"><I>geompy.(theShape, theIsCheckGeom \r
+ </i><span style="font-style: italic;"><I>geompy.CheckShape(theShape, theIsCheckGeom \r
= 0)</I></span>, where is shape which is checked for validity.</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures9.png" x-maintain-ratio="TRUE" width="360px" height="337px" border="0" class="img_whs20"></p>\r
+<p class="whs12"><img src="../pics/measures9.png" x-maintain-ratio="TRUE" width="360px" height="337px" border="0" class="img_whs31"></p>\r
\r
-<p class="whs21"> </p>\r
+<p class="whs27"> </p>\r
\r
-<p class="whs21"> </p>\r
+<p class="whs27"> </p>\r
\r
-<p class="whs21"><a name=Check_comp_blocks><img src="../image27.gif" width="25px" height="23px" border="0" class="img_whs22"> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check compound \r
+<p class="whs27"><a name=Check_comp_blocks><img src="../image27.gif" width="25px" height="23px" border="0" class="img_whs32"> <span style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check compound \r
of blocks</B></font></span></a></p>\r
\r
-<p class="whs21"> </p>\r
+<p class="whs27"> </p>\r
\r
<p class="whs1">Checks whether a shape is a compound of glued \r
blocks. To be considered as a compound of blocks, the given shape must \r
satisfy the following conditions:</p>\r
\r
-<ul type="disc" class="whs23">\r
+<ul type="disc" class="whs33">\r
\r
<li class=kadov-p><p class="whs1"> Each \r
element of the compound should be a Block (6 faces and 12 edges);</p></li>\r
\r
<p class="whs1">Informs of the following possible errors:</p>\r
\r
-<ul type="disc" class="whs23">\r
+<ul type="disc" class="whs33">\r
\r
<li class=kadov-p><p class="whs1">not a block,</p></li>\r
\r
a valid compound of blocks. If it is true, then the validity flag is returned, \r
and encountered errors are printed in the python console.</p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
\r
-<p class="whs11"><img src="../pics/measures10.png" x-maintain-ratio="TRUE" width="329px" height="436px" border="0" class="img_whs24"></p>\r
+<p class="whs12"><img src="../pics/measures10.png" x-maintain-ratio="TRUE" width="329px" height="436px" border="0" class="img_whs34"></p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
\r
<script type="text/javascript" language="javascript1.2">\r
<!--\r
img_whs1 { width:20px; height:20px; border-style:none; }\r
p.whs2 { font-size:12pt; }\r
p.whs3 { font-size:12pt; margin-left:0in; margin-right:0in; margin-top:0px; margin-bottom:0px; }\r
-p.whs4 { font-size:12pt; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
-img_whs5 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
-p.whs6 { list-style:disc; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
-img_whs7 { border:none; float:none; width:252px; height:265px; border-style:none; }\r
+p.whs4 { font-size:12pt; margin-left:0in; margin-right:0in; margin-top:0px; margin-bottom:0px; font-weight:bold; }\r
+p.whs5 { font-size:12pt; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
+img_whs6 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
+p.whs7 { list-style:disc; margin-right:0in; margin-top:0px; margin-bottom:0px; margin-left:40px; }\r
+img_whs8 { border:none; float:none; width:252px; height:265px; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
{\r
var strNSS = "<style type='text/css'>";\r
strNSS += "p.whs3 {margin-left:1pt;margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
- strNSS += "p.whs4 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
- strNSS += "p.whs6 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
+ strNSS += "p.whs4 {margin-left:1pt;margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
+ strNSS += "p.whs5 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
+ strNSS += "p.whs7 {margin-right:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
strNSS +="</style>";\r
document.write(strNSS);\r
}\r
style="font-weight: normal;">This operation creates a shape from two</span> \r
</b>shapes.</font></span></p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs4"> </p>\r
\r
-<p class="whs3"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;"><span \r
- style="font-weight: normal;">The</span> Result<span style="font-weight: normal;"> \r
- will be a</span></b> GEOM_Object (COMPOUND).</font></span></p>\r
+<p class="whs3"><b><span style="font-weight: normal;">The</span> \r
+ Result<span style="font-weight: normal;"> will be any</span></b> GEOM_Object.</p>\r
\r
<p class="whs3"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments:</b> \r
Name + 2 shapes.</font></span></p>\r
\r
<p class="whs3"> </p>\r
\r
-<p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="pics/bool1.png" x-maintain-ratio="TRUE" width="312px" height="324px" border="0" class="img_whs5"></font></span></p>\r
+<p class="whs5"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="pics/bool1.png" x-maintain-ratio="TRUE" width="312px" height="324px" border="0" class="img_whs6"></font></span></p>\r
\r
<p class="whs3"> </p>\r
\r
<p class="whs3"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Example:</b></font></span></p>\r
\r
-<p class="whs6"> </p>\r
+<p class="whs7"> </p>\r
\r
-<p class="whs6"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="pics/fusesn1.png" x-maintain-ratio="TRUE" width="252px" height="265px" border="0" class="img_whs7"> <img src="pics/fusesn2.png" x-maintain-ratio="TRUE" width="252px" height="265px" border="0" class="img_whs7"></font></span></p>\r
+<p class="whs7"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="pics/fusesn1.png" x-maintain-ratio="TRUE" width="252px" height="265px" border="0" class="img_whs8"> <img src="pics/fusesn2.png" x-maintain-ratio="TRUE" width="252px" height="265px" border="0" class="img_whs8"></font></span></p>\r
\r
<p class="whs2"> </p>\r
\r
ehelp.xml\r
index.glo\r
default.css\r
-pics\image86.gif\r
-pics\image103.gif\r
-pics\image97.gif\r
+pics\arc2.png\r
+image26.gif\r
+pics\image102.gif\r
+pics\free_boudaries2.png\r
pics\chamfer_all.png\r
-pics\edgesn.png\r
-pics\boxes.png\r
-pics\mtrans1.png\r
-pics\transformation3.png\r
+pics\fillet_all.png\r
+pics\mirror_pointsn1.png\r
+pics\multi_transformationsn1d.png\r
+pics\archimedesn3.png\r
+pics\colorsn.png\r
+pics\facesn3.png\r
+pics\arcsn.png\r
+pics\measures8.png\r
+pics\bool1.png\r
+pics\mtransf1.png\r
+pics\fillet1.png\r
+pics\archimede.png\r
+pics\box2.png\r
+image59.gif\r
+image37.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif\r
+files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image3.gif\r
+pics\transformation4a.png\r
+pics\view_rotation_point.png\r
+image38.gif\r
+pics\clipping.png\r
+pics\image103.gif\r
+pics\image95.gif\r
+pics\mirror_pointsn2.png\r
+pics\solidsn.png\r
+pics\cones.png\r
+pics\measures9.png\r
+pics\bool2.png\r
pics\mtransf2.png\r
-image15.jpg\r
+pics\fillet2.png\r
+pics\workplane4.png\r
+image27.gif\r
image204.jpg\r
-image56.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif\r
+image49.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif\r
files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif\r
-pics\view_rotation_point.png\r
-pics\clipping.png\r
-pics\image98.gif\r
-pics\archimedesn1.png\r
-pics\neo-basicprop.png\r
-pics\mtrans2.png\r
-pics\transformation4.png\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image29.gif\r
+image39.gif\r
+image1.jpg\r
+pics\image96.gif\r
+image28.gif\r
+pics\multi_translation_initialsn.png\r
+pics\lines.png\r
+pics\neo-localcs1.png\r
+pics\neo-transparency.png\r
+pics\bool3.png\r
pics\mtransf3.png\r
-pics\plane1.png\r
-image16.jpg\r
-image57.gif\r
-image35.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image18.gif\r
+pics\fillet3.png\r
+pics\workplane5.png\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image128.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif\r
+image2.jpg\r
+image18.gif\r
+pics\image86.gif\r
pics\image105.gif\r
-pics\image99.gif\r
-pics\image88.gif\r
-pics\image77.gif\r
-pics\suppress_faces1.png\r
+pics\image97.gif\r
+pics\geomexport.png\r
pics\mirror_axissn1.png\r
-pics\archimedesn2.png\r
-pics\revolutionsn.png\r
-pics\ellipsesn.png\r
-pics\transformation10.png\r
-pics\transformation5.png\r
+pics\neo-scetcher1.png\r
+pics\neo-localcs2.png\r
pics\mtransf4.png\r
-pics\plane2.png\r
+pics\editgroup.png\r
+pics\cone1.png\r
+pics\workplane6.png\r
image206.jpg\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image30.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image19.gif\r
-image26.gif\r
-image1.jpg\r
+image29.gif\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image129.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif\r
+pics\arcsn1.png\r
pics\image106.gif\r
-pics\image89.gif\r
-pics\suppress_faces2.png\r
-pics\multi_translation1dsn.png\r
+pics\image98.gif\r
+pics\geomcreategroup.png\r
+pics\fillet_prism.png\r
pics\mirror_axissn2.png\r
-pics\multi_transformationsn2d.png\r
-pics\archimedesn3.png\r
-pics\wiresn.png\r
-pics\transformation11.png\r
-pics\transformation6.png\r
-pics\block1.png\r
+pics\disp_mode1sn.png\r
+pics\neo-obj1.png\r
+pics\neo-scetcher2.png\r
+pics\neo-localcs3.png\r
+pics\mtrans1.png\r
pics\pipe.png\r
-pics\torus1.png\r
-pics\plane3.png\r
-image59.gif\r
-image37.gif\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image87.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image31.gif\r
-image38.gif\r
-pics\multi_transformationsn1d.png\r
-pics\fillingsn.png\r
-pics\spheres.png\r
+pics\cone2.png\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif\r
+image3.jpg\r
+pics\arcsn2.png\r
+image1.gif\r
+pics\image99.gif\r
+pics\image88.gif\r
+pics\image77.gif\r
+pics\glue_faces1.png\r
+pics\multi_translation2dsn.png\r
+pics\mirror_planesn1.png\r
+pics\block_explodesn.png\r
+pics\disp_mode2sn.png\r
+pics\plane_on_face.png\r
+pics\bezier.png\r
pics\polyline.png\r
-pics\neo-obj1.png\r
-pics\repair1.png\r
-pics\transformation7.png\r
-pics\block2.png\r
-pics\torus2.png\r
-image27.gif\r
+pics\neo-obj2.png\r
+pics\mtrans2.png\r
+pics\transformation1.png\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image87.gif\r
+image2.gif\r
+pics\image89.gif\r
+pics\glue_faces2.png\r
+pics\mirror_planesn2.png\r
+pics\cutsn.png\r
+pics\transparencysn.png\r
+pics\edgesn.png\r
+pics\ellipsesn.png\r
+pics\neo-obj3.png\r
+pics\transformation10.png\r
+pics\transformation2.png\r
image180.jpg\r
-image49.gif\r
image109.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image131.gif\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif\r
files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image88.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image32.gif\r
-image28.gif\r
-selectcolor.png\r
-pics\glue_faces1.png\r
-pics\supp_int_wires1.png\r
-pics\fusesn1.png\r
-pics\transparencysn.png\r
-pics\arcsn.png\r
-pics\points.png\r
-pics\neo-obj2.png\r
-pics\neo-localcs1.png\r
-pics\measures10.png\r
-pics\repair2.png\r
-pics\transformation8.png\r
-pics\block3.png\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif\r
+pics\glue_faces3.png\r
+pics\neo-isos.png\r
+pics\rotationsn1.png\r
+pics\fillingsn.png\r
+pics\spheres.png\r
+pics\neo-obj4.png\r
+pics\transformation11.png\r
+pics\transformation3.png\r
+image3.gif\r
image181.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif\r
files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image89.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif\r
-image3.jpg\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image33.gif\r
-image18.gif\r
-image1.gif\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif\r
+pics\set_rotation_point_dialog1.png\r
+image4.gif\r
+pics\chamfer_edge.png\r
+pics\rotationsn2.png\r
+pics\filling_compoundsn.png\r
+pics\neo-basicprop.png\r
+pics\neo-detect2.png\r
+pics\neo-section.png\r
+pics\neo-obj5.png\r
+pics\repair1.png\r
+pics\transformation4.png\r
+pics\chamfer1.png\r
+pics\plane1.png\r
+image61.gif\r
+image193.jpg\r
+image160.jpg\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image58.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image30.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif\r
+pics\set_rotation_point_dialog2.png\r
+image40.gif\r
+image5.gif\r
+pics\suppress_faces1.png\r
+pics\scale_transformsn1.png\r
+pics\fusesn1.png\r
+pics\toruses.png\r
+pics\neo-obj6.png\r
+pics\repair2.png\r
+pics\transformation5.png\r
+pics\chamfer2.png\r
+pics\block1.png\r
+pics\torus1.png\r
+pics\sphere1.png\r
+pics\plane2.png\r
+pics\curve.png\r
+pics\arc.png\r
+image51.gif\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image31.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image14.gif\r
+pics\angle.png\r
+pics\glue1.png\r
pics\geomimport.png\r
-pics\neo-isos.png\r
-pics\glue_faces2.png\r
-pics\supp_int_wires2.png\r
+image30.gif\r
+pics\isos_u12_v12sn.png\r
+pics\suppress_faces2.png\r
+pics\offsetsn.png\r
+pics\scale_transformsn2.png\r
+pics\partitionsn1.png\r
pics\sectionsn.png\r
pics\fusesn2.png\r
-pics\toruses.png\r
+pics\wiresn.png\r
+pics\prisms_basessn.png\r
pics\circles.png\r
-pics\neo-obj3.png\r
-pics\neo-localcs2.png\r
+pics\neo-obj7.png\r
+pics\measures10.png\r
pics\measures1.png\r
pics\repair3.png\r
-pics\transformation9.png\r
-pics\bool1.png\r
+pics\transformation6.png\r
+pics\chamfer3.png\r
+pics\block2.png\r
+pics\torus2.png\r
+pics\sphere2.png\r
+pics\plane3.png\r
+image52.gif\r
+image41.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image32.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image15.gif\r
+pics\glue2.png\r
+selectcolor.png\r
+pics\fillet_edge.png\r
+pics\partitionsn2.png\r
+pics\prismssn.png\r
+pics\planes1.png\r
+pics\repair4.png\r
+pics\transformation7.png\r
pics\partition1.png\r
-pics\block4.png\r
-pics\sphere1.png\r
-image193.jpg\r
-image29.gif\r
-image160.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif\r
+pics\block3.png\r
+image185.jpg\r
+image53.gif\r
+image42.gif\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image131.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image33.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image16.gif\r
+i_blue.jpg\r
+pics\glue3.png\r
pics\partition2.png\r
-pics\changeorientation.png\r
-pics\pipesn.png\r
+image43.gif\r
pics\pipe_wire_edgesn.png\r
-image2.gif\r
-pics\chamfer_faces.png\r
-pics\fillet_prism.png\r
-pics\rotationsn1.png\r
-pics\disp_mode1sn.png\r
-pics\cones.png\r
-pics\planes1.png\r
-pics\lines.png\r
-pics\neo-obj4.png\r
-pics\neo-localcs3.png\r
-pics\repair4.png\r
-pics\bool2.png\r
-pics\block5.png\r
-pics\sphere2.png\r
-pics\point1.png\r
-pics\rotationsn2.png\r
-pics\disp_mode2sn.png\r
-pics\neo-detect2.png\r
-pics\neo-section.png\r
-pics\neo-obj5.png\r
+pics\supp_int_wires1.png\r
+pics\boxes.png\r
+pics\points.png\r
pics\measures3.png\r
pics\repair5.png\r
-pics\bool3.png\r
-pics\chamfer1.png\r
+pics\transformation8.png\r
+pics\block4.png\r
pics\filling.png\r
pics\revolution.png\r
-pics\arc.png\r
pics\ellipse.png\r
pics\circle1.png\r
-image3.gif\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif\r
-pics\set_rotation_point_dialog1.png\r
+image10.gif\r
+image32.gif\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image101.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif\r
+pics\changeorientation.png\r
pics\extrusion1.png\r
-image4.gif\r
-pics\isos_u12_v12sn.png\r
-pics\free_boudaries1.png\r
-pics\multi_rotation1d1.png\r
-pics\multi_translation2dsn.png\r
-pics\offsetsn.png\r
+image33.gif\r
+pics\free_faces1.png\r
+pics\supp_int_wires2.png\r
+pics\translationsn1.png\r
pics\compoundsn.png\r
-pics\prisms_basessn.png\r
pics\cylinders.png\r
-pics\vectors.png\r
-pics\neo-obj6.png\r
pics\measures4.png\r
pics\repair6.png\r
-pics\chamfer2.png\r
-pics\cone1.png\r
+pics\transformation9.png\r
+pics\block5.png\r
pics\circle2.png\r
-pics\point3.png\r
-image185.jpg\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif\r
-pics\set_rotation_point_dialog2.png\r
+image44.gif\r
+image154.jpg\r
+image110.jpg\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image102.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image18.gif\r
+pics\circle3.png\r
+image34.gif\r
+pics\pipesn.png\r
pics\extrusion2.png\r
-image5.gif\r
-pics\free_boudaries2.png\r
-pics\multi_rotation2d1.png\r
-pics\multi_rotation1d2.png\r
-pics\mirror_pointsn1.png\r
-pics\new-tolerance.png\r
-pics\neo-obj7.png\r
-pics\neo-point2.png\r
-pics\measures5.png\r
-pics\repair7.png\r
-pics\chamfer3.png\r
-pics\cone2.png\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image58.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image27.gif\r
pics\image91.gif\r
-pics\chamfer_edge.png\r
-pics\fillet_edge.png\r
-pics\multi_rotation2d2.png\r
-pics\scale_transformsn1.png\r
-pics\mirror_pointsn2.png\r
-pics\cutsn.png\r
+pics\free_faces2.png\r
+pics\chamfer_faces.png\r
+pics\translationsn2.png\r
pics\shellsn.png\r
-pics\filling_compoundsn.png\r
-pics\prismssn.png\r
+pics\interpol.png\r
+pics\distance.png\r
pics\neo-mrot1.png\r
-pics\repair8.png\r
-pics\cylinder1.png\r
+pics\neo-point2.png\r
+pics\measures5.png\r
pics\vector1.png\r
-image61.gif\r
-image154.jpg\r
-image110.jpg\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif\r
-image40.gif\r
-pics\scale_transformsn2.png\r
-pics\translationsn1.png\r
+pics\point1.png\r
+image15.jpg\r
+image56.gif\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image103.gif\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image90.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image19.gif\r
+pics\image100.gif\r
+pics\commonsn.png\r
+pics\multi_rotation2d1.png\r
+pics\multi_rotation1d1.png\r
+pics\archimedesn1.png\r
pics\facesn1.png\r
pics\neo-mrot2.png\r
-pics\repair9.png\r
-pics\cylinder2.png\r
+pics\repair8.png\r
+pics\cylinder1.png\r
pics\vector2.png\r
-image51.gif\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image128.gif\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image90.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image29.gif\r
-i_blue.jpg\r
-image30.gif\r
-pics\free_faces1.png\r
-pics\fillet_all.png\r
-pics\translationsn2.png\r
-pics\partitionsn1.png\r
-pics\colorsn.png\r
-pics\facesn2.png\r
-pics\interpol.png\r
-pics\measures8.png\r
-pics\fillet1.png\r
-pics\archimede.png\r
-pics\workplane4.png\r
-image52.gif\r
+image16.jpg\r
+image57.gif\r
image167.jpg\r
image156.jpg\r
-image41.gif\r
image145.jpg\r
+image35.gif\r
image112.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image129.gif\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif\r
files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif\r
-pics\transformation4a.png\r
-pics\image100.gif\r
-pics\geomcreategroup.png\r
-pics\commonsn.png\r
-pics\free_faces2.png\r
-pics\mirror_planesn1.png\r
-pics\block_explodesn.png\r
-pics\partitionsn2.png\r
-pics\solidsn.png\r
-pics\facesn3.png\r
-pics\distance.png\r
-pics\neo-scetcher1.png\r
-pics\neo-transparency.png\r
-pics\measures9.png\r
-pics\fillet2.png\r
-pics\workplane5.png\r
-image53.gif\r
-image168.jpg\r
-image42.gif\r
-image113.jpg\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image101.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif\r
files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image1.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image14.gif\r
-image43.gif\r
-pics\image95.gif\r
-pics\mirror_planesn2.png\r
-pics\neo-scetcher2.png\r
-pics\transformation1.png\r
-pics\fillet3.png\r
+image47.gif\r
+image36.gif\r
+pics\free_boudaries1.png\r
+pics\multi_rotation2d2.png\r
+pics\multi_rotation1d2.png\r
+pics\multi_translation1dsn.png\r
+pics\multi_transformationsn2d.png\r
+pics\archimedesn2.png\r
+pics\facesn2.png\r
+pics\revolutionsn.png\r
+pics\new-tolerance.png\r
+pics\repair10.png\r
+pics\repair9.png\r
+pics\cylinder2.png\r
pics\box1.png\r
-pics\workplane6.png\r
-pics\curve.png\r
pics\line.png\r
-image10.gif\r
-image32.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image102.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif\r
+pics\point3.png\r
+image168.jpg\r
+image113.jpg\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif\r
files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image2.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image15.gif\r
-image33.gif\r
-pics\image102.gif\r
-pics\image96.gif\r
-pics\geomexport.png\r
-pics\multi_translation_initialsn.png\r
-pics\plane_on_face.png\r
-pics\bezier.png\r
-pics\repair10.png\r
-pics\transformation2.png\r
-pics\mtransf1.png\r
-pics\editgroup.png\r
-pics\box2.png\r
-image44.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image103.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif\r
-files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image3.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image16.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image27.gif\r
ehlpdhtm.js\r
index.ppf\r
default_ns.css\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs1"> </p>\r
-\r
<h3><a name=bookmark1>Creation of a Face</a></h3>\r
\r
<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
+ salome</span></p>\r
\r
-<p class="whs1">import salome</p>\r
+<p class="whs1">salome.salome_init()</p>\r
\r
-<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">import geompy</p>\r
+\r
+<p class="whs1">geompy.init_geom(salome.myStudy)</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create vertices</p>\r
+<p class="whs1">Box_1 = geompy.MakeBoxDXDYDZ(200, \r
+ 200, 200)</p>\r
\r
-<p class="whs1">p0 = \r
- geompy.MakeVertex(0. , \r
- 0. , 0. \r
- )</p>\r
+<p class="whs1">geompy.addToStudy(Box_1, \r
+ "Box_1")</p>\r
\r
-<p class="whs1">px = \r
- geompy.MakeVertex(100., 0. , \r
- 0. )</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">py = \r
- geompy.MakeVertex(0. , \r
- 100., 0. )</p>\r
+<p class="whs1">edges = geompy.SubShapeAllSorted(Box_1, \r
+ geompy.ShapeType["EDGE"])</p>\r
\r
-<p class="whs1">pz = \r
- geompy.MakeVertex(0. , \r
- 0. , 100.)</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">pxyz = geompy.MakeVertex(100., \r
- 100., 100.)</p>\r
+<p class="whs1">Edge_1 = edges[0]</p>\r
+\r
+<p class="whs1">Edge_2 = edges[4]</p>\r
+\r
+<p class="whs1">Edge_3 = edges[5]</p>\r
+\r
+<p class="whs1">Edge_4 = edges[8]</p>\r
+\r
+<p class="whs1">Edge_5 = edges[9]</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create a vector from \r
- two points</p>\r
+<p class="whs1">geompy.addToStudyInFather(Box_1, \r
+ Edge_1, "Edge_1")</p>\r
\r
-<p class="whs1">vxy = geompy.MakeVector(px, \r
- py)</p>\r
+<p class="whs1">geompy.addToStudyInFather(Box_1, \r
+ Edge_2, "Edge_2")</p>\r
+\r
+<p class="whs1">geompy.addToStudyInFather(Box_1, \r
+ Edge_3, "Edge_3")</p>\r
+\r
+<p class="whs1">geompy.addToStudyInFather(Box_1, \r
+ Edge_4, "Edge_4")</p>\r
+\r
+<p class="whs1">geompy.addToStudyInFather(Box_1, \r
+ Edge_5, "Edge_5")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create an arc from \r
- three points</p>\r
+<p class="whs1">Wire_1 = geompy.MakeWire([Edge_1, \r
+ Edge_2])</p>\r
\r
-<p class="whs1">arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
+<p class="whs1">geompy.addToStudy(Wire_1, \r
+ "Wire_1")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create a wire</p>\r
+<p class="whs1">Comp_1 = geompy.MakeCompound([Wire_1, \r
+ Edge_3, Edge_4])</p>\r
\r
-<p class="whs1">wire = geompy.MakeWire([vxy, \r
- arc])</p>\r
+<p class="whs1">geompy.addToStudy(Comp_1, \r
+ "Compound_1")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create sketchers</p>\r
+<p class="whs1">salome.sg.updateObjBrowser(1)</p>\r
\r
-<p class="whs1">sketcher1 = geompy.MakeSketcher("Sketcher:F \r
- -100 -100:TT 250 -100:R 0:C 100 150:R 0:L 300:WW",</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1"> [100,0,0, \r
- 1,1,1, -1,1,0])</p>\r
+<p class="whs1">Face_1 = geompy.MakeFaceWires([Comp_1], \r
+ True)</p>\r
\r
-<p class="whs1">sketcher2 = geompy.MakeSketcher("Sketcher:F \r
- 0 0:TT 70 0:TT 70 70:TT 0 70:WW")</p>\r
+<p class="whs1">geompy.addToStudy(Face_1, \r
+ "Face_1")</p>\r
\r
-<p class="whs1">sketcher3 = geompy.MakeSketcher("Sketcher:F \r
- 20 20:TT 50 20:TT 50 50:TT 20 50:WW")</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">isPlanarFace = 1</p>\r
+<p class="whs1">Face_2 = geompy.MakeFaceWires([Wire_1, \r
+ Edge_3, Edge_4], True)</p>\r
+\r
+<p class="whs1">geompy.addToStudy(Face_2, \r
+ "Face_2")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create a face from \r
- the wire</p>\r
+<p class="whs1">Vertex_1 = geompy.MakeVertex(0, \r
+ 0, 0)</p>\r
\r
-<p class="whs1">face1 = geompy.MakeFace(wire, \r
- isPlanarFace)</p>\r
+<p class="whs1">Vertex_2 = geompy.MakeVertex(0, \r
+ 210, 0)</p>\r
+\r
+<p class="whs1">Vertex_3 = geompy.MakeVertex(100, \r
+ 210, 0)</p>\r
+\r
+<p class="whs1">Vertex_4 = geompy.MakeVertex(100, \r
+ 0, 0)</p>\r
+\r
+<p class="whs1">Vertex_5 = geompy.MakeVertex(140, \r
+ 105, 0)</p>\r
+\r
+<p class="whs1">Vertex_6 = geompy.MakeVertex(-190, \r
+ 105, 0)</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># create faces from two \r
- wires</p>\r
+<p class="whs1">geompy.addToStudy(Vertex_1, \r
+ "Vertex_1")</p>\r
+\r
+<p class="whs1">geompy.addToStudy(Vertex_2, \r
+ "Vertex_2")</p>\r
+\r
+<p class="whs1">geompy.addToStudy(Vertex_3, \r
+ "Vertex_3")</p>\r
+\r
+<p class="whs1">geompy.addToStudy(Vertex_4, \r
+ "Vertex_4")</p>\r
\r
-<p class="whs1">face2 = geompy.MakeFaceWires([wire, \r
- sketcher1],isPlanarFace)</p>\r
+<p class="whs1">geompy.addToStudy(Vertex_5, \r
+ "Vertex_5")</p>\r
\r
-<p class="whs1">face3 = geompy.MakeFaces([sketcher2, \r
- sketcher3],isPlanarFace)</p>\r
+<p class="whs1">geompy.addToStudy(Vertex_6, \r
+ "Vertex_6")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># add objects in the \r
- study</p>\r
+<p class="whs1">Arc_1 = geompy.MakeArc(Vertex_1, \r
+ Vertex_6, Vertex_2)</p>\r
\r
-<p class="whs1">id_face1 = geompy.addToStudy(face1,"Face1")</p>\r
+<p class="whs1">Arc_2 = geompy.MakeArc(Vertex_4, \r
+ Vertex_5, Vertex_3)</p>\r
\r
-<p class="whs1">id_face2 = geompy.addToStudy(face2,"Face2")</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">id_face3 = geompy.addToStudy(face3,"Face3")</p>\r
+<p class="whs1">geompy.addToStudy(Arc_1, \r
+ "Arc_1")</p>\r
+\r
+<p class="whs1">geompy.addToStudy(Arc_2, \r
+ "Arc_2")</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs2"># display the faces</p>\r
+<p class="whs2"># Fails</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_face1)</p>\r
+<p class="whs1">Face_3 = geompy.MakeFaceWires([Arc_1, \r
+ Arc_2], True)</p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_face1,1)</p>\r
+<p class="whs1">if Face_3 is not None:</p>\r
\r
-<p class="whs1">gg.setTransparency(id_face1,0.2)</p>\r
+<p class="whs1"> print \r
+ "Error. Face must not be built from wire with gaps."</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_face2)</p>\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_face2,1)</p>\r
+<p class="whs1">Translation_1 = geompy.MakeTranslation(Arc_1, \r
+ 100, 0, 0)</p>\r
\r
-<p class="whs1">gg.setTransparency(id_face2,0.2)</p>\r
+<p class="whs1">geompy.addToStudy(Translation_1, \r
+ "Translation_1")</p>\r
\r
-<p class="whs1">gg.createAndDisplayGO(id_face3)</p>\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">Face_3 = geompy.MakeFaceWires([Translation_1, \r
+ Arc_2], True)</p>\r
\r
-<p class="whs1">gg.setDisplayMode(id_face3,1)</p>\r
+<p class="whs1">geompy.addToStudy(Face_3, \r
+ "Face_3")</p>\r
+\r
+<p class="whs1"> </p>\r
\r
-<p class="whs1">gg.setTransparency(id_face3,0.2) \r
+<p class="whs1">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs1"> </p>\r
\r
+<h3>Check Free Boundaries</h3>\r
+\r
+<p class="whs1">import os</p>\r
+\r
+<p class="whs1">import geompy</p>\r
+\r
+<p class="whs1">import salome</p>\r
+\r
+<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># create boxes</p>\r
+\r
+<p class="whs1">box1 = geompy.MakeBox(0,0,0,100,50,100)</p>\r
+\r
+<p class="whs1">box2 = geompy.MakeBox(100,0,0,250,50,100)</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># make a compound</p>\r
+\r
+<p class="whs1">compound = geompy.MakeCompound([box1, \r
+ box2])</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># import from *.brep</p>\r
+\r
+<p class="whs1">ImportBREP = geompy.ImportBREP("<span \r
+ style="font-family: 'Lucida Console', monospace;">os.getenv("DATA_DIR")+"/Shapes/Brep/flight_solid.brep")</span></p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># get a face</p>\r
+\r
+<p class="whs1">faces = geompy.SubShapeAllSorted(ImportBREP, \r
+ geompy.ShapeType["FACE"])</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># get the free boundary \r
+ for face 32</p>\r
+\r
+<p class="whs1">Res = geompy.GetFreeBoundary(faces[32])</p>\r
+\r
+<p class="whs1">isSuccess = \r
+ Res[0]</p>\r
+\r
+<p class="whs1">ClosedWires = Res[1]</p>\r
+\r
+<p class="whs1">OpenWires = \r
+ Res[2]</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2">i<span style="font-family: 'Lucida Console', monospace;">f \r
+ isSuccess == 1 :</span></p>\r
+\r
+<p class="whs1"> print \r
+ "Checking free boudaries is OK."</p>\r
+\r
+<p class="whs1">else :</p>\r
+\r
+<p class="whs1"> print \r
+ "Checking free boudaries is KO!"</p>\r
+\r
+<p class="whs1">print "len(ClosedWires) \r
+ = ", len(ClosedWires)</p>\r
+\r
+<p class="whs1">i = 0</p>\r
+\r
+<p class="whs1">for wire in ClosedWires \r
+ :</p>\r
+\r
+<p class="whs1"> wire_name \r
+ = "Face 32 -> Close wires : WIRE %d"%(i+1)</p>\r
+\r
+<p class="whs1"> geompy.addToStudy(ClosedWires[i], \r
+ wire_name)</p>\r
+\r
+<p class="whs1"> if \r
+ i < len(ClosedWires) :</p>\r
+\r
+<p class="whs1"> i \r
+ = i+ 1</p>\r
+\r
+<p class="whs1">print "len(OpenWires) \r
+ = ", len(OpenWires)</p>\r
+\r
+<p class="whs1">i = 0</p>\r
+\r
+<p class="whs1">for wire in OpenWires \r
+ :</p>\r
+\r
+<p class="whs1"> wire_name \r
+ = "Face 32 -> Open wires : WIRE %d"%(i+1)</p>\r
+\r
+<p class="whs1"> geompy.addToStudy(OpenWires[i], \r
+ wire_name)</p>\r
+\r
+<p class="whs1"> if \r
+ i < len(OpenWires) :</p>\r
+\r
+<p class="whs1"> i \r
+ = i+ 1</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># get the free boundary \r
+ for face 41</p>\r
+\r
+<p class="whs1">Res = geompy.GetFreeBoundary(faces[41])</p>\r
+\r
+<p class="whs1">isSuccess = \r
+ Res[0]</p>\r
+\r
+<p class="whs1">ClosedWires = Res[1]</p>\r
+\r
+<p class="whs1">OpenWires = \r
+ Res[2]</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">if isSuccess == 1 \r
+ :</p>\r
+\r
+<p class="whs1"> print \r
+ "Checking free boudaries is OK."</p>\r
+\r
+<p class="whs1">else :</p>\r
+\r
+<p class="whs1"> print \r
+ "Checking free boudaries is KO!"</p>\r
+\r
+<p class="whs1">print "len(ClosedWires) \r
+ = ", len(ClosedWires)</p>\r
+\r
+<p class="whs1">i = 0</p>\r
+\r
+<p class="whs1">for wire in ClosedWires \r
+ :</p>\r
+\r
+<p class="whs1"> wire_name \r
+ = "Face 41 -> Close wires : WIRE %d"%(i+1)</p>\r
+\r
+<p class="whs1"> geompy.addToStudy(ClosedWires[i], \r
+ wire_name)</p>\r
+\r
+<p class="whs1"> if \r
+ i < len(ClosedWires) :</p>\r
+\r
+<p class="whs1"> i \r
+ = i+ 1</p>\r
+\r
+<p class="whs1">print "len(OpenWires) \r
+ = ", len(OpenWires)</p>\r
+\r
+<p class="whs1">i = 0</p>\r
+\r
+<p class="whs1">for wire in OpenWires \r
+ :</p>\r
+\r
+<p class="whs1"> wire_name \r
+ = "Face 41 -> Open wires : WIRE %d"%(i+1)</p>\r
+\r
+<p class="whs1"> geompy.addToStudy(OpenWires[i], \r
+ wire_name)</p>\r
+\r
+<p class="whs1"> if \r
+ i < len(OpenWires) :</p>\r
+\r
+<p class="whs1"> i \r
+ = i+ 1</p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs2"># add the imported object \r
+ to the study</p>\r
+\r
+<p class="whs1">id_ImportBREP = geompy.addToStudy(ImportBREP, \r
+ "ImportBREP")</p>\r
+\r
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
+ </p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<h3>Check Free Faces</h3>\r
+\r
+<p class="whs1">import geompy</p>\r
+\r
+<p class="whs1">import salome</p>\r
+\r
+<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
+\r
+<p> </p>\r
+\r
+<p># create a vertex and a vector</p>\r
+\r
+<p class="whs1">p1 = geompy.MakeVertex(35, \r
+ 35, 0)</p>\r
+\r
+<p class="whs1">p2 = geompy.MakeVertex(35, \r
+ 35, 50)</p>\r
+\r
+<p class="whs1">v = geompy.MakeVector(p1, \r
+ p2)</p>\r
+\r
+<p> </p>\r
+\r
+<p># create a cylinder</p>\r
+\r
+<p class="whs1">cylinder = geompy.MakeCone(p1, \r
+ v, 30, 20, 20)</p>\r
+\r
+<p> </p>\r
+\r
+<p># create a cone</p>\r
+\r
+<p class="whs1">cone = geompy.MakeCone(p1, \r
+ v, 70, 40, 60)</p>\r
+\r
+<p> </p>\r
+\r
+<p># make cut</p>\r
+\r
+<p class="whs1">cut = geompy.MakeCut(cone, \r
+ cylinder)</p>\r
+\r
+<p> </p>\r
+\r
+<p># get faces as sub-shapes</p>\r
+\r
+<p class="whs1">faces = []</p>\r
+\r
+<p class="whs1">faces = geompy.SubShapeAllSorted(cut, \r
+ geompy.ShapeType["FACE"])</p>\r
+\r
+<p class="whs1">f_2 = geompy.GetSubShapeID(cut, \r
+ faces[0])</p>\r
+\r
+<p> </p>\r
+\r
+<p># remove one face from the shape</p>\r
+\r
+<p class="whs1">cut_without_f_2 = \r
+ geompy.SuppressFaces(cut, [f_2])</p>\r
+\r
+<p> </p>\r
+\r
+<p># suppress the specified wire</p>\r
+\r
+<p class="whs1">result = geompy.GetFreeFacesIDs(cut_without_f_2)</p>\r
+\r
+<p class="whs1">print "A number \r
+ of free faces is ", len(result)</p>\r
+\r
+<p> </p>\r
+\r
+<p># add objects in the study</p>\r
+\r
+<p class="whs1">all_faces = geompy.SubShapeAllSorted(cut_without_f_2, \r
+ geompy.ShapeType["FACE"])</p>\r
+\r
+<p class="whs1">for face in all_faces \r
+ :</p>\r
+\r
+<p class="whs1"> sub_shape_id \r
+ = geompy.GetSubShapeID(cut_without_f_2, face)</p>\r
+\r
+<p class="whs1"> if \r
+ result.count(sub_shape_id) > 0 :</p>\r
+\r
+<p class="whs1"> face_name \r
+ = "Free face %d"%(sub_shape_id)</p>\r
+\r
+<p class="whs1"> geompy.addToStudy(face, \r
+ face_name)</p>\r
+\r
+<p> </p>\r
+\r
+<p># in this example all faces from cut_without_f_2 are free</p>\r
+\r
+<p class="whs1">id_cut_without_f_2 \r
+ = geompy.addToStudy(cut_without_f_2, "Cut without f_2")</p>\r
+\r
+<p> </p>\r
+\r
+<p># display the results</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_cut_without_f_2)</p>\r
+\r
+<p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_cut_without_f_2,1)</span></p>\r
+\r
<h3>Bounding Box</h3>\r
\r
<p class="whs1">import geompy</p>\r
\r
<p class="whs1"> </p>\r
\r
-<p class="whs1"> </p>\r
-\r
<h3>Minimal Distance </h3>\r
\r
<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
<p class="whs1">print "\nMinimal \r
distance between box1 and box2 = ", min_dist </p>\r
\r
+<h3>Angle</h3>\r
+\r
+<p class="whs1">import salome</p>\r
+\r
+<p class="whs1">salome.salome_init()</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">import math</p>\r
+\r
+<p class="whs1">import geompy</p>\r
+\r
+<p class="whs1">geompy.init_geom(salome.myStudy)</p>\r
+\r
+<p> </p>\r
+\r
+<p class="whs1">OX = \r
+ geompy.MakeVectorDXDYDZ(10, 0,0)</p>\r
+\r
+<p class="whs1">OXY = geompy.MakeVectorDXDYDZ(10,10,0)</p>\r
+\r
+<p> </p>\r
+\r
+<p># in one plane</p>\r
+\r
+<p class="whs1">Angle = geompy.GetAngle(OX, \r
+ OXY)</p>\r
+\r
<p class="whs1"> </p>\r
\r
+<p class="whs1">print "\nAngle \r
+ between OX and OXY = ", Angle</p>\r
+\r
+<p class="whs1">if math.fabs(Angle \r
+ - 45.0) > 1e-05:</p>\r
+\r
+<p class="whs1"> print \r
+ " Error: \r
+ returned angle is", Angle, "while must be 45.0"</p>\r
+\r
+<p class="whs1"> pass</p>\r
+\r
+<p> </p>\r
+\r
+<p># not in one plane</p>\r
+\r
+<p class="whs1">OXY_shift = geompy.MakeTranslation(OXY,10,-10,20)</p>\r
+\r
+<p class="whs1">Angle = geompy.GetAngle(OX, \r
+ OXY_shift)</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">print "Angle \r
+ between OX and OXY_shift = ", Angle</p>\r
+\r
+<p class="whs1">if math.fabs(Angle \r
+ - 45.0) > 1e-05:</p>\r
+\r
+<p class="whs1"> print \r
+ " Error: \r
+ returned angle is", Angle, "while must be 45.0"</p>\r
+\r
+<p class="whs1"> pass</p>\r
+\r
+<p> </p>\r
+\r
+<p># not linear</p>\r
+\r
+<p class="whs1">pnt1 = geompy.MakeVertex(0, \r
+ 0, 0)</p>\r
+\r
+<p class="whs1">pnt2 = geompy.MakeVertex(10, \r
+ 0, 0)</p>\r
+\r
+<p class="whs1">pnt3 = geompy.MakeVertex(20, \r
+ 10, 0)</p>\r
+\r
+<p class="whs1">arc = \r
+ geompy.MakeArc(pnt1, pnt2, pnt3)</p>\r
+\r
+<p class="whs1">Angle = geompy.GetAngle(OX, \r
+ arc)</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">if (math.fabs(Angle \r
+ + 1.0) > 1e-6 or geompy.MeasuOp.IsDone()):</p>\r
+\r
+<p class="whs1"> print \r
+ "Error. Angle must not be computed on curvilinear edges"</p>\r
+\r
+<p><span style="font-family: 'Lucida Console', monospace;"> pass</span> \r
+ </p>\r
+\r
<h3>Tolerance</h3>\r
\r
<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
Point)</I></span> </p>\r
\r
<p class="whs1"><b style="font-weight: bold;">Arguments: <span \r
- style="font-weight: normal;">Name + </span></b>1 shape + 1 vertex.</p>\r
+ style="font-weight: normal;">Name + one or several objects</span></b> \r
+ + 1 vertex.</p>\r
\r
<p class="whs1"> </p>\r
\r
Axis)</I></span> </p>\r
\r
<p class="whs1"><b style="font-weight: bold;">Arguments: <span \r
- style="font-weight: normal;">Name + </span></b>1 shape + 1 vector.</p>\r
+ style="font-weight: normal;">Name + one or several objects</span></b> \r
+ + 1 vector.</p>\r
\r
<p class="whs1"> </p>\r
\r
Plane)</I></span>, </p>\r
\r
<p class="whs1"><b style="font-weight: bold;">Arguments:</b> \r
- <b><span style="font-weight: normal;">Name + </span></b>1 shape + 1 plane</p>\r
+ <b><span style="font-weight: normal;">Name + one or several objects</span></b> \r
+ + 1 plane</p>\r
\r
<p class="whs1"> </p>\r
\r
<p class="whs2"> </p>\r
\r
<p class="whs2">This operation modifies the <span style="font-weight: bold;"><B>Location</B></span> \r
- of an <span style="font-weight: bold;"><B>Object. </B></span></p>\r
+ of one or several <span style="font-weight: bold;"><B>Objects. </B></span></p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2">The first algorithm places the object so that \r
- its center coincides with the center of an End Local Coordinate System.</p>\r
+<p class="whs2">The first algorithm places one or several objects \r
+ so that the center of the group or an object coincides with the origin \r
+ of the Local Coordinate System.</p>\r
\r
<p class="whs2"><span style="font-weight: bold;"><B>Create a copy \r
- </B></span>checkbox allows to keep the initial object, otherwise it will be \r
- removed.</p>\r
+ </B></span>checkbox allows to keep the initial objects, otherwise it will \r
+ be removed.</p>\r
\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><span><b style="font-weight: bold;">A</span>rguments:</b> \r
- Name + 1 Object + End Coordinate System.</font></span></p>\r
+<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments:</b> \r
+ Name + one or several Objects + End Coordinate System.</font></span></p>\r
\r
<p> </p>\r
\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs2">The second algorithm modifies \r
- the location of an object using Start and End LSC, although the final \r
- position of the object will not coincide with the center of either \r
+<p class="whs2">The second algorithm modifies the location \r
+ of an object using Start and End LSC, although the final position of the \r
+ object will not coincide with the center of either \r
of the two systems. In this method the object is shifted from its initial \r
position by the value of the remainder after subtraction of the coordinates \r
of the Start LSC from the coordinates of the End LSC. </p>\r
\r
<p class="whs2"><span style="font-weight: bold;"><B>Create a copy \r
- </B></span>checkbox allows to keep the initial object, otherwise it will be \r
- removed.</p>\r
+ </B></span>checkbox allows to keep the initial objects, otherwise they will \r
+ be removed.</p>\r
\r
<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments:</b> \r
- Name + 1 Object + Start Coordinate System + End Coordinate System.</font></span></p>\r
+ Name + one or several Objects + Start Coordinate System + End Coordinate \r
+ System.</font></span></p>\r
\r
<p class="whs2"> </p>\r
\r
\r
<p class="whs17"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Our </font></span><span \r
style="font-weight: bold;"><B>TUI Scripts</B></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> \r
- provide you with useful examples of the use of <a href="transformation_operations.htm#bookmark2">Transformation \r
+ provide you with useful examples of the use of <a href="transformation_operations.htm#bookmark4">Transformation \r
Operations</a>. </font></span></p>\r
\r
<p> </p>\r
\r
<p class="whs5"><img src="pics/neo-mrot1.png" x-maintain-ratio="TRUE" width="312px" height="346px" border="0" class="img_whs6"> </p>\r
\r
+<p class="whs5"> </p>\r
+\r
<p class="whs5"><img src="pics/multi_rotation1d1.png" x-maintain-ratio="TRUE" width="315px" height="260px" border="0" class="img_whs7"> <img src="pics/multi_rotation1d2.png" x-maintain-ratio="TRUE" width="301px" height="260px" border="0" class="img_whs8"></p>\r
\r
<p class="whs2"> </p>\r
writeIntopicBar(4);\r
//-->\r
</script>\r
-<h1><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif" width="20px" height="20px" border="0" class="img_whs1"> </font></span>Multi Translation</h1>\r
+<h1><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"> <img src="files/salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif" width="20px" height="20px" border="0" class="img_whs1"> </font></span>Multi Translation</h1>\r
\r
<p class="whs2"><b style="font-weight: normal;">T</b>o produce \r
a <span style="font-weight: bold;"><B>Multi Translation</B></span> in the Main \r
<p class="whs2"> </p>\r
\r
<p class="whs2">To produce a <span style="font-weight: bold;"><B>Simple \r
- Multi Translation</B></span> (in one direction) you need to indicate a <span \r
- style="font-weight: bold;"><B>Shape</B></span> to be translated, a <span style="font-weight: bold;"><B>Vector</B></span> \r
+ Multi Translation</B></span> (in one direction) you need to indicate an <span \r
+ style="font-weight: bold;"><B>Object</B></span> to be translated, a <span style="font-weight: bold;"><B>Vector</B></span> \r
of translation, a <span style="font-weight: bold;"><B>Step</B></span> of translation \r
and a <span style="font-weight: bold;"><B>Number of Times</B></span> the shape \r
must be moved.</p>\r
</b><span style="font-style: italic;"><I>geompy.MakeMultiTranslation1D(Shape, \r
Dir, Step, NbTimes)</I></span></p>\r
\r
-<p class="whs2"><b>A<span style="font-weight: bold;"><B>rguments: \r
+<p class="whs2"><b style="font-weight: bold;">A<span style="font-weight: bold;"><B>rguments: \r
</B></span></b>Name + 1 shape + 1 vector (for direction) + 1 step value + \r
1 value (repetition).</p>\r
\r
+<p class="whs2"> </p>\r
+\r
<p class="whs3"><img src="pics/mtrans1.png" x-maintain-ratio="TRUE" width="312px" height="398px" border="0" class="img_whs4"></p>\r
\r
<p class="whs3"> </p>\r
</font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Double Multi \r
Translation</B></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> (in two directions) \r
you need to indicate a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Shape</B></font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> to be translated and a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Vector</B></font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> of translation, a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Step</B></font></span><span \r
+ style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> to be translated, and, for both axes, a </font></span><span \r
+ style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Vector</B></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> \r
+ of translation, a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Step</B></font></span><span \r
style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> of translation and a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Number \r
- of Times</B></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> the shape must be moved \r
- along each axis.</font></span></p>\r
+ of Times</B></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> the shape must be moved.</font></span></p>\r
\r
<p class="whs2"> </p>\r
\r
td.whs27 { width:49.761%; padding-right:10px; padding-left:10px; border-left-style:none; border-right-style:none; border-bottom-style:none; }\r
td.whs28 { width:50.239%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; }\r
p.whs29 { font-size:12pt; font-weight:bold; }\r
-p.whs30 { font-size:12pt; font-weight:bold; margin-left:0px; }\r
-img_whs31 { border:none; width:300px; height:234px; float:none; border-style:none; }\r
-img_whs32 { border:none; width:251px; height:234px; border-style:none; }\r
-p.whs33 { font-size:12pt; margin-left:40px; }\r
+table.whs30 { x-cell-content-align:top; border-spacing:0px; width:63.614%; }\r
+col.whs31 { width:48.756%; }\r
+col.whs32 { width:51.244%; }\r
+td.whs33 { width:48.756%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }\r
+img_whs34 { border:none; width:300px; height:234px; float:none; border-style:none; }\r
+td.whs35 { width:51.244%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }\r
+p.whs36 { margin-left:0px; font-size:12pt; font-weight:bold; }\r
+img_whs37 { border:none; width:251px; height:234px; border-style:none; }\r
+td.whs38 { width:48.756%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-bottom-style:none; }\r
+p.whs39 { font-style:italic; }\r
+td.whs40 { width:51.244%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; }\r
+p.whs41 { font-size:12pt; font-weight:bold; margin-left:0px; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
{\r
var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs30 {margin-left:1pt; }";\r
+ strNSS += "p.whs36 {margin-left:1pt; }";\r
+ strNSS += "p.whs41 {margin-left:1pt; }";\r
strNSS +="</style>";\r
document.write(strNSS);\r
}\r
\r
<p class="whs29"> </p>\r
\r
-<p class="whs30"><img src="image180.jpg" x-maintain-ratio="TRUE" width="300px" height="234px" border="0" class="img_whs31"> <img src="image181.jpg" width="251px" height="234px" border="0" class="img_whs32"> </p>\r
+<table x-use-null-cells cellspacing="0" width="63.614%" class="whs30">\r
+<col class="whs31">\r
+<col class="whs32">\r
\r
-<p class="whs33"><b style="font-weight: bold;"> </b> </p>\r
+<tr valign="top" class="whs11">\r
+<td width="48.756%" class="whs33">\r
+<p class="whs29"><img src="image180.jpg" x-maintain-ratio="TRUE" width="300px" height="234px" border="0" class="img_whs34"></td>\r
+<td width="51.244%" class="whs35">\r
+<p class="whs36"><img src="image181.jpg" width="251px" height="234px" border="0" class="img_whs37"></td></tr>\r
+\r
+<tr valign="top" class="whs11">\r
+<td width="48.756%" class="whs38">\r
+<p class="whs39">Hexahedral solid built on the base of six \r
+ faces</td>\r
+<td width="51.244%" class="whs40">\r
+<p class="whs39">Hexahedral solid built on the base of two \r
+ faces</td></tr>\r
+</table>\r
+\r
+<p class="whs41"> <span \r
+ style="font-size: 12pt; margin-left: 40px;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;"> </b> </font></span></p>\r
\r
<p class="whs5">Our <span style="font-weight: bold;"><B>TUI Scripts</B></span> \r
provide you with useful examples of <a href="building_by_blocks.htm">Building \r
--- /dev/null
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>OCC_Viewer</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
+<!--\r
+if (navigator.appName !="Netscape")\r
+{ document.write("<link rel='stylesheet' href='default.css'>");}\r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+img_whs1 { border:none; width:313px; height:26px; float:none; border-style:none; }\r
+ul.whs2 { list-style:disc; }\r
+img_whs3 { border:none; width:26px; height:25px; float:none; border-style:none; }\r
+img_whs4 { border:none; width:27px; height:25px; float:none; border-style:none; }\r
+img_whs5 { border:none; width:24px; height:23px; float:none; border-style:none; }\r
+img_whs6 { border:none; width:24px; height:24px; float:none; border-style:none; }\r
+img_whs7 { border:none; width:25px; height:24px; float:none; border-style:none; }\r
+img_whs8 { border:none; width:23px; height:23px; float:none; border-style:none; }\r
+p.whs9 { margin-top:0pt; margin-bottom:0pt; }\r
+img_whs10 { border:none; width:20px; height:20px; float:none; border-style:none; }\r
+p.whs11 { margin-left:80px; }\r
+img_whs12 { border:none; width:410px; height:255px; float:none; border-style:none; }\r
+img_whs13 { border:none; width:26px; height:26px; float:none; border-style:none; }\r
+img_whs14 { border:none; width:78px; height:147px; float:none; border-style:none; }\r
+img_whs15 { border:none; height:26px; float:none; width:29px; border-style:none; }\r
+img_whs16 { border:none; width:26px; height:24px; float:none; border-style:none; }\r
+img_whs17 { border:none; width:28px; height:29px; float:none; border-style:none; }\r
+img_whs18 { border:none; width:29px; height:26px; float:none; border-style:none; }\r
+img_whs19 { border:none; width:395px; height:280px; float:none; border-style:none; }\r
+p.whs20 { margin-left:40px; }\r
+p.whs21 { margin-left:84px; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+ var strNSS = "<style type='text/css'>";\r
+ strNSS += "p.whs9 {margin-top:1pt;margin-bottom:1pt; }";\r
+ strNSS +="</style>";\r
+ document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+ if (innerWidth != origWidth || innerHeight != origHeight)\r
+ location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+ origWidth = innerWidth;\r
+ origHeight = innerHeight;\r
+ onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+ if (window.setRelStartPage)\r
+ {\r
+ addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+ }\r
+\r
+\r
+ if (window.setRelStartPage)\r
+ {\r
+ setRelStartPage("index.htm");\r
+\r
+ autoSync(1);\r
+ sendSyncInfo();\r
+ sendAveInfoOut();\r
+ }\r
+\r
+}\r
+else\r
+ if (window.gbIE4)\r
+ document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+ writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>CC 3D Viewer</h1>\r
+\r
+<p><span style="font-weight: bold;"><B>OCC (Open CasCade) 3D viewer</B></span> \r
+ has been developed on the basis of Open CASCADE Technology. This is the \r
+ default viewer for Geometry Module, providing good representation of construction \r
+ and transformation of geometrical objects. Only this viewer allows to \r
+ work with groups and sub-shapes. This viewer can also work in Mesh module, \r
+ however, it doesn't allow to visualize meshes. </p>\r
+\r
+<p> </p>\r
+\r
+<p>The functions of OCC viewer are available via its Viewer Toolbar. Buttons \r
+ marked with small downward triangles have extended functionality which \r
+ can be accessed by locking on them with left mouse button. </p>\r
+\r
+<p> </p>\r
+\r
+<p><img src="pics/image95.gif" x-maintain-ratio="TRUE" width="313px" height="26px" border="0" class="img_whs1"></p>\r
+\r
+<p> </p>\r
+\r
+<ul type="disc" class="whs2">\r
+ \r
+ <li class=kadov-p><p><img src="pics/image77.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs3"> <span style="font-weight: bold;"><B>Dump \r
+ View</B></span> - exports an object from the viewer in bmp, png, jpg or jpeg \r
+ image format. </p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image88.gif" x-maintain-ratio="TRUE" width="27px" height="25px" border="0" class="img_whs4"> <span style="font-weight: bold;"><B>Show/Hide \r
+ Trihedron</B></span> - shows or hides coordinate axes. </p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image96.gif" x-maintain-ratio="TRUE" width="24px" height="23px" border="0" class="img_whs5"> <span \r
+ style="font-weight: bold;"><B>Fit all - </B></span>allows \r
+ to select a point to be the center of a scene representing all displayed \r
+ objects in the visible area.<span style="font-weight: bold;"> <B></B></span></p></li>\r
+ \r
+ <li class=kadov-p><p> <img src="pics/image97.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Fit area</B></span> - resizes \r
+ the view to place in the visible area only the contents of a frame drawn \r
+ with pressed left mouse button.</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image98.gif" x-maintain-ratio="TRUE" width="25px" height="24px" border="0" class="img_whs7"> <span style="font-weight: bold;"><B>Zoom</B></span> \r
+ - allows \r
+ to zoom in and out. </p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image99.gif" x-maintain-ratio="TRUE" width="23px" height="23px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Panning</B></span> \r
+ - if the represented objects are greater that the visible area and you \r
+ don't wish to use <span style="font-weight: bold;"><B>Fit all</B></span> functionality, \r
+ click on this button and you'll be able to drag the scene to see its remote \r
+ parts. </p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image100.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Global \r
+ panning</B></span> - represents all displayed objects in the visible area. \r
+ </p></li>\r
+</ul>\r
+\r
+<ul type="disc" class="whs2">\r
+ \r
+ <li class=kadov-p><p class="whs9"><img src="pics/view_rotation_point.png" x-maintain-ratio="TRUE" width="20px" height="20px" border="0" class="img_whs10"> <span style="font-weight: bold;"><B>Change rotation point</B></span> \r
+ - allows to to choose the point around which the rotation is performed. \r
+ </p></li>\r
+</ul>\r
+\r
+<p class="whs11"><img src="pics/set_rotation_point_dialog1.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs12"></p>\r
+\r
+<p class="whs11"> </p>\r
+\r
+<p class="whs11">By default the rotation point is located \r
+ in the Center of the bounding box of an object. </p>\r
+\r
+<p class="whs11"> </p>\r
+\r
+<p class="whs11"><img src="pics/set_rotation_point_dialog2.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs12"></p>\r
+\r
+<p class="whs11"> </p>\r
+\r
+<p class="whs11">Unchecking <span style="font-weight: bold;"><B>Use \r
+ Bounding Box Center</B></span> box allows you to define the coordinates of \r
+ the rotation point manually. </p>\r
+\r
+<p class="whs11"> </p>\r
+\r
+<p class="whs11"><span style="font-weight: bold;"><B>Set to Origin</B></span> \r
+ button restores the default rotation point coordinates.</p>\r
+\r
+<p class="whs11"><span style="font-weight: bold;"><B>Select Point \r
+ from View</B></span> button allows to select the rotation point in the 3D \r
+ Viewer</p>\r
+\r
+<p> </p>\r
+\r
+<ul type="disc" class="whs2">\r
+ \r
+ <li class=kadov-p><p><img src="pics/image89.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs13"> <span style="font-weight: bold;"><B>Rotation</B></span> \r
+ - allows to rotate the selected object using the mouse. </p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image102.gif" x-maintain-ratio="TRUE" width="78px" height="147px" border="0" class="img_whs14"> These buttons orientate the scene \r
+ strictly about coordinate axes.</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image91.gif" x-maintain-ratio="TRUE" height="26px" width="29px" border="0" class="img_whs15"> <span style="font-weight: bold;"><B>Reset</B></span> \r
+ - restores the default position (isometric) of objects in the scene.</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image103.gif" x-maintain-ratio="TRUE" width="26px" height="24px" border="0" class="img_whs16"> <span style="font-weight: bold;"><B>Memorise \r
+ view</B></span> - saves the current position of objects in the scene</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image105.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs3"> <span style="font-weight: bold;"><B>Restore \r
+ view - </B></span>restores the<span style="font-weight: bold;"> <B></B></span>saved \r
+ position of objects in the scene</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image86.gif" x-maintain-ratio="TRUE" width="28px" height="29px" border="0" class="img_whs17"> <span style="font-weight: bold;"><B>Clone \r
+ view</B></span> - opens a new duplicate scene.</p></li>\r
+ \r
+ <li class=kadov-p><p><img src="pics/image106.gif" x-maintain-ratio="TRUE" width="29px" height="26px" border="0" class="img_whs18"> <span style="font-weight: bold;"><B>Clipping \r
+ -</B></span> allows to create cross-section views (clipping planes) of geometrical \r
+ objects.</p></li>\r
+</ul>\r
+\r
+<p> </p>\r
+\r
+<p class="whs11"><img src="pics/clipping.png" x-maintain-ratio="TRUE" width="395px" height="280px" border="0" class="img_whs19"></p>\r
+\r
+<p class="whs20"> </p>\r
+\r
+<ul type="disc" class="whs2">\r
+ \r
+ <li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Base \r
+ point</B></span> - allows to define the coordinates of the base point for \r
+ the clipping plane. Click </p></li>\r
+ \r
+ <li class=kadov-p><p class="whs21"><span style="font-weight: bold;"><B>Reset</B></span> \r
+ - returns the base point to coordinate origin. </p></li>\r
+ \r
+ <li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Direction</B></span> \r
+ - allows to define the orientation of the clipping plane.</p></li>\r
+ \r
+ <li class=kadov-p><p class="whs21"><span style="font-weight: bold;"><B>Invert</B></span> \r
+ - allows to select which part of the object will be removed and which \r
+ will remain after clipping. </p></li>\r
+ \r
+ <li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Preview</B></span> \r
+ - allows to see the results of clipping in the viewer.</p></li>\r
+</ul>\r
+\r
+<p> </p>\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+ writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
\r
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: bold;"><B>T</B></span>UI \r
Command: </b><span style="font-style: italic;"><I>geompy.MakeOffset(Shape, \r
- Offset)</I></span>, where Shape is a shape which has to be an offset, Offset \r
+ Offset)</I></span>, where Shape is a shape(s) which has to be an offset, Offset \r
is a value of the offset.</p>\r
\r
<p class="whs2"><b style="font-weight: bold;">Arguments: </b><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Name + Object (face, shell, solid, compound) \r
+ style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Name + Object (face(s), shell(s) or solid(s)) \r
+ Offset value </font></span></p>\r
\r
<p class="whs2"> </p>\r
<style type="text/css">\r
<!--\r
img_whs1 { width:20px; height:20px; border-style:none; }\r
-p.whs2 { font-size:12pt; }\r
-p.whs3 { font-size:12pt; margin-left:40px; }\r
-img_whs4 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
-img_whs5 { border:none; width:260px; height:200px; float:none; border-style:none; }\r
-img_whs6 { border:none; float:none; width:260px; height:200px; border-style:none; }\r
+p.whs2 { font-size:12pt; margin-left:40px; }\r
+img_whs3 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
+p.whs4 { font-size:12pt; }\r
+table.whs5 { x-cell-content-align:top; width:69.427%; border-spacing:0px; }\r
+col.whs6 { width:38.241%; }\r
+col.whs7 { width:44.919%; }\r
+tr.whs8 { x-cell-content-align:top; }\r
+td.whs9 { width:38.241%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
+p.whs10 { margin-right:93px; }\r
+img_whs11 { border:none; width:258px; height:201px; float:none; border-style:none; }\r
+td.whs12 { width:44.919%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
+img_whs13 { border:none; width:271px; height:205px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
{\r
if (window.setRelStartPage)\r
{\r
- addTocInfo("Geometry module\nCreating geometrical objects\nCreating Complex Objects\nPipe");\r
+ addTocInfo("Geometry module\nCreating geometrical objects\nCreating Complex Objects\nExtrusion along a path");\r
addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
\r
writeIntopicBar(4);\r
//-->\r
</script>\r
-<h1><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif" width="20px" height="20px" border="0" class="img_whs1"> </font></span>Pipe Construction</h1>\r
+<h1><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif" width="20px" height="20px" border="0" class="img_whs1"> </font></span>Extrusion along \r
+ a path</h1>\r
\r
<p><b><span style="font-weight: normal;">T</b>o</span> <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">generate \r
- a </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Pipe</B></font></span> \r
+ </font></span><span style="font-weight: bold;"><B>Extrusion along a path</B></span> \r
in the <span style="font-weight: bold;"><B>Main Menu</B></span> select <span \r
style="font-weight: bold;"><B>New Entity - > Generation - \r
- > Extrusion along a path</B></span></p>\r
+ > Extrusion along a path </B></span>or click<span style="font-weight: bold;"> \r
+ <B></B></span><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif" width="20px" height="20px" border="0" class="img_whs1"></font></span>button in the \r
+ toolbar<span style="font-weight: bold;"><B>.</B></span></p>\r
+\r
+<p> </p>\r
+\r
+<p class="whs2"><img src="pics/pipe.png" x-maintain-ratio="TRUE" width="312px" height="324px" border="0" class="img_whs3"></p>\r
\r
<p> </p>\r
\r
<p>To create an extruded <span style="font-weight: bold;"><B>Pipe</B></span> shape, \r
you need to define the <span style="font-weight: bold;"><B>Base Object </B></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;">(vertex, edge, wire, face or shell)</font></span><span \r
+ style="font-size: 12pt;"><font size=3 style="font-size:12pt;">(vertex, edge, planar wire, face or shell)</font></span><span \r
style="font-weight: bold;"><B>,</B></span> which will be extruded and the <span \r
- style="font-weight: bold;"><B>Path Object</B></span> <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">(edge, \r
- face or shell) </font></span>along which the Base Object will be extruded. </p>\r
+ style="font-weight: bold;"><B>Path Object</B></span> <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">(edge \r
+ or wire) </font></span>along which the Base Object will be extruded. </p>\r
\r
-<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
+<p class="whs4"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
Result <span style="font-weight: normal;">of the operation will be a</span></b> \r
- GEOM_Object (edge, face, solid or compsolid).</p>\r
+ GEOM_Object (edge, face or shell, solid or compsolid).</p>\r
\r
-<p class="whs2"> </p>\r
+<p class="whs4"> </p>\r
\r
-<p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i> \r
+<p class="whs4"><b style="font-weight: bold;">TUI Command:</b><i> \r
</i><span style="font-style: italic;"><I>geompy.MakePipe(baseShape, pathShape)</I></span> \r
</p>\r
\r
-<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
- Name + 1 shape (vertex, edge, wire, face or shell) serving as base object \r
- + 1 shape (edge, face or shell) for definition of the path.</p>\r
+<p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
+ Name + 1 shape (vertex, edge, planar wire, face or shell) serving as base \r
+ object + 1 shape (edge or wire) for definition of the path.</p>\r
\r
-<p class="whs2"> </p>\r
+<p class="whs4"> </p>\r
\r
-<p class="whs3"><img src="pics/pipe.png" x-maintain-ratio="TRUE" width="312px" height="324px" border="0" class="img_whs4"></p>\r
+<p class="whs4"><b style="font-weight: bold;">Example:</b></p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs4"> </p>\r
\r
-<p class="whs2"><b style="font-weight: bold;">Example:</b></p>\r
+<table x-use-null-cells cellspacing="0" width="69.427%" class="whs5">\r
+<col class="whs6">\r
+<col class="whs7">\r
\r
-<p class="whs2"> </p>\r
+<tr valign="top" class="whs8">\r
+<td width="38.241%" class="whs9">\r
+<p class="whs10"><img src="pics/pipe_wire_edgesn.png" x-maintain-ratio="TRUE" width="258px" height="201px" border="0" class="img_whs11"></td>\r
+<td width="44.919%" class="whs12">\r
+<p><img src="pics/pipesn.png" x-maintain-ratio="TRUE" width="271px" height="205px" border="0" class="img_whs13"></td></tr>\r
+</table>\r
\r
-<p class="whs3"><img src="pics/pipe_wire_edgesn.png" x-maintain-ratio="TRUE" width="260px" height="200px" border="0" class="img_whs5"> <img src="pics/pipesn.png" x-maintain-ratio="TRUE" width="260px" height="200px" border="0" class="img_whs6"></p>\r
+<p> </p>\r
+\r
+<p> </p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs2"> </p>\r
\r
-<p class="whs2">Our TUI Scripts provide you with useful examples \r
+<p class="whs4">Our TUI Scripts provide you with useful examples \r
of creation of <a href="complex_objects.htm#bookmark3">Complex Geometric \r
Objects</a>. </p>\r
\r
<p> </p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs2"> </p>\r
\r
-<p class="whs3"> </p>\r
+<p class="whs2"> </p>\r
\r
<script type="text/javascript" language="javascript1.2">\r
<!--\r
img_whs4 { border:none; width:312px; height:346px; float:none; border-style:none; }\r
p.whs5 { font-size:12pt; font-weight:bold; }\r
img_whs6 { border:none; width:312px; height:385px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:400px; height:315px; float:none; }\r
-table.whs8 { x-cell-content-align:top; width:72.604%; border-spacing:0px; }\r
-col.whs9 { width:32.089%; }\r
-col.whs10 { width:32.008%; }\r
-col.whs11 { width:35.903%; }\r
-tr.whs12 { x-cell-content-align:top; }\r
-td.whs13 { width:32.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs14 { border:none; width:258px; height:249px; float:none; border-style:none; }\r
-td.whs15 { width:32.008%; padding-right:10px; padding-left:10px; border-right-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs16 { border:none; width:291px; height:181px; float:none; border-style:none; }\r
-td.whs17 { width:35.903%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
+img_whs7 { border:none; width:400px; height:315px; float:none; border-style:none; }\r
+table.whs8 { x-cell-content-align:top; border-spacing:0px; width:46.537%; }\r
+col.whs9 { width:50.063%; }\r
+col.whs10 { width:49.937%; }\r
+tr.whs11 { x-cell-content-align:top; }\r
+td.whs12 { padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
+p.whs13 { font-size:12pt; font-style:italic; text-align:center; }\r
+p.whs14 { font-size:12pt; font-weight:bold; text-align:center; }\r
+td.whs15 { padding-right:10px; padding-left:10px; border-right-style:none; border-top-style:none; border-bottom-style:none; }\r
+td.whs16 { padding-right:10px; padding-left:10px; border-left-style:none; border-right-style:none; border-bottom-style:none; }\r
+img_whs17 { border:none; width:258px; height:249px; float:none; border-style:none; }\r
+td.whs18 { padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; }\r
+img_whs19 { border:none; width:291px; height:181px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
<p class="whs2"><span style="font-weight: bold;"><B><b style="font-weight: bold;">TUI \r
Command:</b> </B></span>geompy.MakePlaneFace(Face, TrimSize) </p>\r
\r
-<p class="whs2"><b>Arguments: </b>Name + 1 face + 1 value (to \r
- define the size of the plane).</p>\r
+<p class="whs2"><b style="font-weight: bold;">Arguments: </b>Name \r
+ + 1 face + 1 value (to define the size of the plane).</p>\r
\r
<p class="whs2"> </p>\r
\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs5">Examples:</p>\r
+<p class="whs5">Examples:<span style="font-size: 12pt; font-weight: bold;"> \r
+ <font size=3 style="font-size:12pt;"><B> </B></font></span></p>\r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs5"><span style="font-weight: normal; font-style: italic;"><I>Planes</I></span> \r
- <span \r
- style="font-weight: normal; font-style: italic;"><I>A \r
- Plane created on a Plane of another size</I></span></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="72.604%" class="whs8">\r
+<table x-use-null-cells width="46.537%" cellspacing="0" class="whs8">\r
<col class="whs9">\r
<col class="whs10">\r
-<col class="whs11">\r
-\r
-<tr valign="top" class="whs12">\r
-<td width="32.089%" class="whs13">\r
-<p class="whs2"><img src="pics/planes1.png" x-maintain-ratio="TRUE" width="258px" height="249px" border="0" class="img_whs14"></td>\r
-<td width="32.008%" class="whs15">\r
-<p class="whs2"><img src="pics/plane_on_face.png" x-maintain-ratio="TRUE" width="291px" height="181px" border="0" class="img_whs16"></td>\r
-<td width="35.903%" class="whs17">\r
-<p class="whs2"> </td></tr>\r
+\r
+<tr valign="top" class="whs11">\r
+<td colspan="1" rowspan="1" width="50.063%" class="whs12">\r
+<p align="center" class="whs13"><span style="font-size: 12pt;\r
+ font-weight: normal;\r
+ font-style: italic;"><font size=3 style="font-size:12pt;"><I>Planes created on \r
+ the basis</I></font></span></p>\r
+<p align="center" class="whs14"><span style="font-weight: normal; font-style: italic;"><I>of \r
+ the Global Coordinate System</I></span></td>\r
+<td colspan="1" rowspan="1" width="49.937%" class="whs15">\r
+<p align="center" class="whs13">Plane crated on a Face of another Shape</td></tr>\r
+\r
+<tr valign="top" class="whs11">\r
+<td width="50.063%" class="whs16">\r
+<p class="whs2"><img src="pics/planes1.png" x-maintain-ratio="TRUE" width="258px" height="249px" border="0" class="img_whs17"></td>\r
+<td width="49.937%" class="whs18">\r
+<p class="whs2"><img src="pics/plane_on_face.png" x-maintain-ratio="TRUE" width="291px" height="181px" border="0" class="img_whs19"></td></tr>\r
</table>\r
\r
<p class="whs2"> </p>\r
<p class="whs7">Finally, we can define a \r
point by an <span style="font-weight: bold;"><B>Edge</B></span> and a <span style="font-weight: bold;"><B>Parameter</B></span> \r
indicating \r
- its position on the Edge. For example, 0.5 means that the point is located \r
- in the middle of the edge.<span style="font-style: italic;"> <I></I></span></p>\r
+ its position on the Edge, ranging from 0.0 to 1.0. For example, 0.5 means \r
+ that the point is located in the middle of the edge.<span style="font-style: italic;"> \r
+ <I></I></span></p>\r
\r
<p class="whs8"><span style="font-style: italic;"><I><b style="font-weight: bold; font-style: normal;">TUI \r
Command :</b> geompy.MakeVertexOnCurve(Edge, \r
<p class="whs1">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
-<p class="whs2"> </p>\r
-\r
-<h3><a name=bookmark8>Check Free Boundaries</a></h3>\r
-\r
-<p class="whs1">import os</p>\r
-\r
-<p class="whs1">import geompy</p>\r
-\r
-<p class="whs1">import salome</p>\r
-\r
-<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># create boxes</p>\r
-\r
-<p class="whs1">box1 = geompy.MakeBox(0,0,0,100,50,100)</p>\r
-\r
-<p class="whs1">box2 = geompy.MakeBox(100,0,0,250,50,100)</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># make a compound</p>\r
-\r
-<p class="whs1">compound = geompy.MakeCompound([box1, \r
- box2])</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># import from *.brep</p>\r
-\r
-<p class="whs1">ImportBREP = geompy.ImportBREP("<span \r
- style="font-family: 'Lucida Console', monospace;">os.getenv("DATA_DIR")+"/Shapes/Brep/flight_solid.brep")</span></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># get a face</p>\r
-\r
-<p class="whs1">faces = geompy.SubShapeAllSorted(ImportBREP, \r
- geompy.ShapeType["FACE"])</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># get the free boundary \r
- for face 32</p>\r
-\r
-<p class="whs1">Res = geompy.GetFreeBoundary(faces[32])</p>\r
-\r
-<p class="whs1">isSuccess = \r
- Res[0]</p>\r
-\r
-<p class="whs1">ClosedWires = Res[1]</p>\r
-\r
-<p class="whs1">OpenWires = \r
- Res[2]</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">i<span style="font-family: 'Lucida Console', monospace;">f \r
- isSuccess == 1 :</span></p>\r
-\r
-<p class="whs1"> print \r
- "Checking free boudaries is OK."</p>\r
-\r
-<p class="whs1">else :</p>\r
-\r
-<p class="whs1"> print \r
- "Checking free boudaries is KO!"</p>\r
-\r
-<p class="whs1">print "len(ClosedWires) \r
- = ", len(ClosedWires)</p>\r
-\r
-<p class="whs1">i = 0</p>\r
-\r
-<p class="whs1">for wire in ClosedWires \r
- :</p>\r
-\r
-<p class="whs1"> wire_name \r
- = "Face 32 -> Close wires : WIRE %d"%(i+1)</p>\r
-\r
-<p class="whs1"> geompy.addToStudy(ClosedWires[i], \r
- wire_name)</p>\r
-\r
-<p class="whs1"> if \r
- i < len(ClosedWires) :</p>\r
-\r
-<p class="whs1"> i \r
- = i+ 1</p>\r
-\r
-<p class="whs1">print "len(OpenWires) \r
- = ", len(OpenWires)</p>\r
-\r
-<p class="whs1">i = 0</p>\r
-\r
-<p class="whs1">for wire in OpenWires \r
- :</p>\r
-\r
-<p class="whs1"> wire_name \r
- = "Face 32 -> Open wires : WIRE %d"%(i+1)</p>\r
-\r
-<p class="whs1"> geompy.addToStudy(OpenWires[i], \r
- wire_name)</p>\r
-\r
-<p class="whs1"> if \r
- i < len(OpenWires) :</p>\r
-\r
-<p class="whs1"> i \r
- = i+ 1</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># get the free boundary \r
- for face 41</p>\r
-\r
-<p class="whs1">Res = geompy.GetFreeBoundary(faces[41])</p>\r
-\r
-<p class="whs1">isSuccess = \r
- Res[0]</p>\r
-\r
-<p class="whs1">ClosedWires = Res[1]</p>\r
-\r
-<p class="whs1">OpenWires = \r
- Res[2]</p>\r
-\r
-<p class="whs1"> </p>\r
-\r
-<p class="whs1">if isSuccess == 1 \r
- :</p>\r
-\r
-<p class="whs1"> print \r
- "Checking free boudaries is OK."</p>\r
-\r
-<p class="whs1">else :</p>\r
-\r
-<p class="whs1"> print \r
- "Checking free boudaries is KO!"</p>\r
-\r
-<p class="whs1">print "len(ClosedWires) \r
- = ", len(ClosedWires)</p>\r
-\r
-<p class="whs1">i = 0</p>\r
-\r
-<p class="whs1">for wire in ClosedWires \r
- :</p>\r
-\r
-<p class="whs1"> wire_name \r
- = "Face 41 -> Close wires : WIRE %d"%(i+1)</p>\r
-\r
-<p class="whs1"> geompy.addToStudy(ClosedWires[i], \r
- wire_name)</p>\r
-\r
-<p class="whs1"> if \r
- i < len(ClosedWires) :</p>\r
-\r
-<p class="whs1"> i \r
- = i+ 1</p>\r
-\r
-<p class="whs1">print "len(OpenWires) \r
- = ", len(OpenWires)</p>\r
-\r
-<p class="whs1">i = 0</p>\r
-\r
-<p class="whs1">for wire in OpenWires \r
- :</p>\r
-\r
-<p class="whs1"> wire_name \r
- = "Face 41 -> Open wires : WIRE %d"%(i+1)</p>\r
-\r
-<p class="whs1"> geompy.addToStudy(OpenWires[i], \r
- wire_name)</p>\r
-\r
-<p class="whs1"> if \r
- i < len(OpenWires) :</p>\r
-\r
-<p class="whs1"> i \r
- = i+ 1</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"># add the imported object \r
- to the study</p>\r
-\r
-<p class="whs1">id_ImportBREP = geompy.addToStudy(ImportBREP, \r
- "ImportBREP")</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<h3><a name=bookmark9>Check Free Faces</a></h3>\r
-\r
-<p class="whs1">import geompy</p>\r
-\r
-<p class="whs1">import salome</p>\r
-\r
-<p class="whs1">gg = salome.ImportComponentGUI("GEOM")</p>\r
-\r
-<p> </p>\r
-\r
-<p># create a vertex and a vector</p>\r
-\r
-<p class="whs1">p1 = geompy.MakeVertex(35, \r
- 35, 0)</p>\r
-\r
-<p class="whs1">p2 = geompy.MakeVertex(35, \r
- 35, 50)</p>\r
-\r
-<p class="whs1">v = geompy.MakeVector(p1, \r
- p2)</p>\r
-\r
<p> </p>\r
\r
-<p># create a cylinder</p>\r
-\r
-<p class="whs1">cylinder = geompy.MakeCone(p1, \r
- v, 30, 20, 20)</p>\r
-\r
-<p> </p>\r
-\r
-<p># create a cone</p>\r
-\r
-<p class="whs1">cone = geompy.MakeCone(p1, \r
- v, 70, 40, 60)</p>\r
-\r
-<p> </p>\r
-\r
-<p># make cut</p>\r
-\r
-<p class="whs1">cut = geompy.MakeCut(cone, \r
- cylinder)</p>\r
-\r
-<p> </p>\r
-\r
-<p># get faces as sub-shapes</p>\r
-\r
-<p class="whs1">faces = []</p>\r
-\r
-<p class="whs1">faces = geompy.SubShapeAllSorted(cut, \r
- geompy.ShapeType["FACE"])</p>\r
-\r
-<p class="whs1">f_2 = geompy.GetSubShapeID(cut, \r
- faces[0])</p>\r
-\r
-<p> </p>\r
-\r
-<p># remove one face from the shape</p>\r
-\r
-<p class="whs1">cut_without_f_2 = \r
- geompy.SuppressFaces(cut, [f_2])</p>\r
-\r
-<p> </p>\r
-\r
-<p># suppress the specified wire</p>\r
-\r
-<p class="whs1">result = geompy.GetFreeFacesIDs(cut_without_f_2)</p>\r
-\r
-<p class="whs1">print "A number \r
- of free faces is ", len(result)</p>\r
-\r
-<p> </p>\r
-\r
-<p># add objects in the study</p>\r
-\r
-<p class="whs1">all_faces = geompy.SubShapeAllSorted(cut_without_f_2, \r
- geompy.ShapeType["FACE"])</p>\r
-\r
-<p class="whs1">for face in all_faces \r
- :</p>\r
-\r
-<p class="whs1"> sub_shape_id \r
- = geompy.GetSubShapeID(cut_without_f_2, face)</p>\r
-\r
-<p class="whs1"> if \r
- result.count(sub_shape_id) > 0 :</p>\r
-\r
-<p class="whs1"> face_name \r
- = "Free face %d"%(sub_shape_id)</p>\r
-\r
-<p class="whs1"> geompy.addToStudy(face, \r
- face_name)</p>\r
-\r
-<p> </p>\r
-\r
-<p># in this example all faces from cut_without_f_2 are free</p>\r
-\r
-<p class="whs1">id_cut_without_f_2 \r
- = geompy.addToStudy(cut_without_f_2, "Cut without f_2")</p>\r
-\r
-<p> </p>\r
-\r
-<p># display the results</p>\r
-\r
-<p class="whs1">gg.createAndDisplayGO(id_cut_without_f_2)</p>\r
-\r
-<p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_cut_without_f_2,1)</span> \r
- </p>\r
-\r
<script type="text/javascript" language="javascript1.2">\r
<!--\r
if (window.writeIntopicBar)\r
has to be rotated around the <span style="font-weight: bold;"><B>Axis</B></span> \r
(in degrees).</p>\r
\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;"><span \r
- style="font-weight: normal;">The</span> Result <span style="font-weight: normal;">of \r
- the operation will be a</span></b> GEOM_Object (edge, face, solid or compsolid).</font></span></p>\r
+<p class="whs2">The <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Result \r
+ </b></font></span>of the operation will be a GEOM_Object (edge, face, shell, \r
+ solid or compsolid).</p>\r
\r
<p class="whs2"> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i> \r
- </i><span style="font-style: italic;"><I>geompy.MakeRevolution(Shape, Axis, \r
+ </i><span style="font-style: italic;"><I>geompy.MakeRevolution(Base, Axis, \r
Angle)</I></span>.</p>\r
\r
<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
- Name + 1 shape (vertex, edge, wire, face or shell) serving as base object \r
- + 1 vector (for direction) + 1 value (angle).</p>\r
+ Name + 1 shape (vertex, edge, planar wire, face or shell) serving as base \r
+ object + 1 vector (for direction) + 1 value (angle).</p>\r
\r
<p class="whs2"> </p>\r
\r
Angle)</I></span> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
- 1 shape + 1 vector for direction of rotation + 1 angle.</p>\r
+ Name + one or several objects + 1 shape + 1 vector for direction of rotation \r
+ + 1 angle.</p>\r
\r
<p class="whs3"> </p>\r
\r
\r
<p class="whs3"><b style="font-weight: bold;"><span style="font-weight: normal;">The</span> \r
Result <span style="font-weight: normal;">will be a</span> </b>GEOM_Object \r
- (COMPOUND).</p>\r
+ (EDGE or WIRE).</p>\r
\r
<p class="whs3"><span style="font-weight: bold;"><B>TUI Command:</B></span> \r
<span style="font-style: italic;"><I>geompy.MakeSection(s1, \r
</script>\r
<h1>Sketcher</h1>\r
\r
-<p><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><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_whs1"></b></font></span>Sketcher allows to create curves of 2 types: line \r
- segment and arc. The \r
- curve is created from the current point (center of coordinates when the \r
- sketcher is started). The \r
- end of the curve is defined by means of "destination", which \r
- can be a destination point (for segment only) or destination direction \r
- coupled with length of a segment or angle and radius of an arc.</p>\r
+<p><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b><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_whs1"></b></font></span>Sketcher \r
+ allows to create curves of 2 types: line segment and arc. By default, \r
+ the start point of the curve is located at the point of origin of the \r
+ reference coordinate system and the curve lies in the plane <span style="font-style: italic;"><I>XOY</I></span>. \r
+ The end \r
+ of the curve is defined by means of "destination", which can \r
+ be a destination point (for segment only) or destination direction coupled \r
+ with length of a segment or angle and radius of an arc.</p>\r
\r
<p> </p>\r
\r
<p>Sketcher is able to create planar curves only. Therefore, it is necessary \r
- to select a working plane before starting a sketch (by default, XOY plane \r
- is used). Sketcher creates curves lying in the current working plane (New \r
- Entity -> Basic -> Working Plane).</p>\r
+ to select a working plane before starting a sketch (by default, the plane \r
+ <span style="font-style: italic;"><I>XOY</I></span> \r
+ is used). Sketcher creates curves lying in the current working plane (<span \r
+ style="font-style: italic;"><I>New Entity -> Basic -> Working Plane</I></span>).</p>\r
\r
<p> </p>\r
\r
<p>This functionality is available from the main menu via <span style="font-style: italic;"><I>New \r
- Entity / Sketch.</I></span></p>\r
+ Entity -> Sketch.</I></span></p>\r
\r
<p> </p>\r
\r
<p> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">TUI Command:</b><i> \r
- </i><span style="font-style: italic;"><I>geompy.MakeSketcher(Command, WorkingPlane)</I></span></p>\r
+ </i><span style="font-style: italic;"><I>geompy.MakeSketcher(Command, \r
+ WorkingPlane)</I></span></p>\r
\r
<p class="whs3">This algorithm creates \r
a sketcher (wire or face), following the textual description, passed through \r
local working plane.</p>\r
\r
<p class="whs3"><span style="font-style: italic;"><I>WorkingPlane</I></span> \r
- is a planar face of the working plane (a list of 9 doubles which are coordinates \r
- of OZ and OX of the local working plane).</p>\r
+ can be a plane or a planar face. The plane is defined by the <span style="font-style: italic;"><I>xyz</I></span> \r
+ coordinates of three non-coincident points. The planar face is an existing \r
+ GEOM_Object.</p>\r
\r
<p class="whs2"> </p>\r
\r
X,Y;</p></li>\r
\r
<li class=kadov-p><p class="whs2">relative coordinates \r
- DX, DY (with respect to the current point);</p></li>\r
+ DX, DY \r
+ (with respect to the current point);</p></li>\r
\r
<li class=kadov-p><p class="whs2">selection of an existing \r
point.</p></li>\r
\r
<p class="whs3"><span style="font-weight: normal;">You \r
can create a</span> Solid <span style="font-weight: normal;">from a list \r
- of shells.</span></p>\r
+ of closed shells.</span></p>\r
\r
<p class="whs2"> </p>\r
\r
</i><span style="font-style: italic;"><I>geompy.MakeSolid(ListOfShape)</I></span>, \r
where ListOfShape is a list of shells from which the solid is constructed.</p>\r
\r
-<p class="whs2"><b>Arguments:</b> Name + A closed shell or \r
- a list of shells.</p>\r
+<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
+ Name + A closed shell or a list of shells.</p>\r
\r
<p class="whs2"> </p>\r
\r
\r
<p># create a vertex and a vector</p>\r
\r
-<p class="whs1">p1 = geompy.MakeVertex(10, 40, 0)</p>\r
-<p class="whs1">p2 = geompy.MakeVertex( 0, 0, 50)</p>\r
-<p class="whs1">p3 = geompy.MakeVertex(10, 50,-20)</p>\r
-<p class="whs1">p4 = geompy.MakeVertex(10, 50, 60)</p>\r
+<p class="whs1">p1 = geompy.MakeVertex(10, \r
+ 40, 0)</p>\r
+\r
+<p class="whs1">p2 = geompy.MakeVertex( \r
+ 0, 0, 50)</p>\r
\r
-<p class="whs1">v = geompy.MakeVector(p1, p2)</p>\r
-<p class="whs1">vr = geompy.MakeVector(p3, p4)</p>\r
+<p class="whs1">p3 = geompy.MakeVertex(10, \r
+ 50,-20)</p>\r
+\r
+<p class="whs1">p4 = geompy.MakeVertex(10, \r
+ 50, 60)</p>\r
+\r
+<p class="whs1">v = geompy.MakeVector(p1, \r
+ p2)</p>\r
+\r
+<p class="whs1">vr = geompy.MakeVector(p3, \r
+ p4)</p>\r
\r
<p> </p>\r
\r
<p># create a cylinder</p>\r
\r
<p class="whs1">height = 35</p>\r
+\r
<p class="whs1">radius1 = 20</p>\r
\r
-<p class="whs1">cylinder = geompy.MakeCylinder(p1, v, radius1, height)</p>\r
+<p class="whs1">cylinder = geompy.MakeCylinder(p1, \r
+ v, radius1, height)</p>\r
\r
<p> </p>\r
\r
<p># rotate the given object around the given axis by the given angle</p>\r
\r
-<p class="whs1">rotation1 = geompy.MakeRotation(cylinder, vr, math.pi)</p>\r
-<p class="whs1">rotation2 = geompy.MakeRotationThreePoints(cylinder, p4, p1, p2)</p>\r
+<p class="whs1">rotation1 = geompy.MakeRotation(cylinder, \r
+ vr, math.pi)</p>\r
+\r
+<p class="whs1">rotation2 = geompy.MakeRotationThreePoints(cylinder, \r
+ p4, p1, p2)</p>\r
\r
<p> </p>\r
\r
<p># add objects in the study</p>\r
\r
-<p class="whs1">id_vr = geompy.addToStudy(vr, "Rotation 1 axis")</p>\r
-<p class="whs1">id_p4 = geompy.addToStudy(p4, "Rotation 2 center")</p>\r
-<p class="whs1">id_p1 = geompy.addToStudy(p1, "Rotation 2 point 1")</p>\r
-<p class="whs1">id_p2 = geompy.addToStudy(p2, "Rotation 2 point 2")</p>\r
-<p class="whs1">id_cylinder = geompy.addToStudy(cylinder, "Cylinder")</p>\r
-<p class="whs1">id_rotation1 = geompy.addToStudy(rotation1, "Rotation 1")</p>\r
-<p class="whs1">id_rotation2 = geompy.addToStudy(rotation2, "Rotation 2")</p>\r
+<p class="whs1">id_vr = geompy.addToStudy(vr, \r
+ "Rotation axis")</p>\r
\r
-<p> </p>\r
+<p class="whs1">id_p4 = geompy.addToStudy(p4, \r
+ "Rotation 2 center")</p>\r
+\r
+<p class="whs1">id_p1 = geompy.addToStudy(p1, \r
+ "Rotation 2 point 1") </p>\r
+\r
+<p class="whs1">id_p2 = geompy.addToStudy(p2, \r
+ "Rotation 2 point 2")id_cylinder = geompy.addToStudy(cylinder, \r
+ "Cylinder")</p>\r
+\r
+<p class="whs1">id_rotation1 = geompy.addToStudy(rotation, \r
+ "Rotation 1")</p>\r
+\r
+<p class="whs1">id_rotation2 = geompy.addToStudy(rotation, \r
+ "Rotation 2")</p>\r
+\r
+<p class="whs1"> </p>\r
\r
<p># display the results</p>\r
\r
<p class="whs1">gg.createAndDisplayGO(id_vr)</p>\r
-<p class="whs1">gg.createAndDisplayGO(id_p4)</p>\r
-<p class="whs1">gg.createAndDisplayGO(id_p1)</p>\r
-<p class="whs1">gg.createAndDisplayGO(id_p2)</p>\r
-<p class="whs1">gg.createAndDisplayGO(id_cylinder)</p>\r
+\r
+<p class="whs1">gg.createAndDisplayGO(id_p4)gg.createAndDisplayGO(id_p1)gg.createAndDisplayGO(id_p2)gg.createAndDisplayGO(id_cylinder)</p>\r
+\r
<p class="whs1">gg.setDisplayMode(id_cylinder,1)</p>\r
+\r
<p class="whs1">gg.createAndDisplayGO(id_rotation1)</p>\r
-<p class="whs1">gg.createAndDisplayGO(id_rotation2)</p>\r
-<p class="whs1">gg.setDisplayMode(id_rotation1,1)</p>\r
-<p class="whs1">gg.setDisplayMode(id_rotation2,1)</p>\r
+\r
+<p><span style="font-family: 'Lucida Console', monospace;">gg.createAndDisplayGO(id_rotation2)gg.setDisplayMode(id_rotation1,1)</span> \r
+ </p>\r
+\r
+<p><span style="font-family: 'Lucida Console', monospace;">gg.setDisplayMode(id_rotation2,1)</span> \r
+ </p>\r
\r
<p> </p>\r
\r
components of translation vector.</p>\r
\r
<p class="whs3"><b style="font-weight: bold;">Arguments:</b> \r
- <b><span style="font-weight: normal;">Name + </b>1 shape + 3 values (coordinates).</span></p>\r
+ <b><span style="font-weight: normal;">Name + one or several objects</b> \r
+ + 3 values (coordinates).</span></p>\r
\r
<p class="whs3"> </p>\r
\r
</b><span style="font-style: italic;"><I>geompy.MakeTranslationTwoPoints(Object, \r
Point1, Point2)</I></span> </p>\r
\r
-<p class="whs2"><span><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments</font></span>: \r
- <span style="font-weight: normal;">Name + </span></b>1 shape + 2 vertices</p>\r
+<p class="whs2"><b>Arguments: <span style="font-weight: normal;">Name \r
+ + </span></b><b><span style="font-weight: normal;">one or several objects</span></b> \r
+ + 2 vertices</p>\r
\r
<p class="whs2"> </p>\r
\r
<p class="whs2"><b style="font-weight: bold;">TUI Command: \r
</b>geompy.MakeTranslationVector(Object, Vector)</p>\r
\r
-<p class="whs2"><span><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments</font></span>: \r
- <span style="font-weight: normal;">Name + </span></b>1 shape + 1 vector.</p>\r
+<p class="whs2"><b>Arguments: <span style="font-weight: normal;">Name \r
+ + </span></b><b><span style="font-weight: normal;">one or several objects</span></b> \r
+ + 1 vector.</p>\r
\r
<p class="whs2"> </p>\r
\r
img_whs6 { border:none; width:312px; height:324px; float:none; border-style:none; }\r
img_whs7 { border:none; width:312px; height:358px; float:none; border-style:none; }\r
p.whs8 { font-size:12pt; margin-left:40px; font-weight:bold; }\r
-img_whs9 { border:none; width:156px; height:203px; }\r
+img_whs9 { border:none; width:156px; height:203px; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
<!--\r
<p class="whs3"><b style="font-style: normal;"><span \r
style="font-weight: bold;"><B>TUI Command:</b><b> </B></span><span \r
style="font-weight: normal;">g</b>eompy.MakeVector(Point1, \r
- Point2)</span></p>\r
+ Point2)</span><span style="font-style: normal;">.</span></p>\r
\r
<p class="whs4"><b style="font-weight: bold;">Arguments \r
: </b><span style="font-weight: normal;">Name + 2 vertices.</span></p>\r
<p class="whs2"><b><span style="font-weight: bold;"><B>TUI Command:</b><b> \r
</B></span><span style="font-weight: bold; font-style: italic;"><I><B> </B></I></span></b><span \r
style="font-style: italic;"><I>geompy.MakeVectorDXDYDZ(DX, \r
- DY, DZ)</I></span> </p>\r
+ DY, DZ).</I></span> </p>\r
\r
<p class="whs2"><span><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Arguments \r
: </b></font></span>Name + 3 values </p>\r
<ul type="disc" class="whs2">\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B>Rename - </B></span>allows \r
- to change the name of the geometric object.<span style="font-weight: bold;"> \r
+ to change the name of the geometrical object.<span style="font-weight: bold;"> \r
<B></B></span></p></li>\r
\r
<li class=kadov-p><p class="whs3"><a href="wireframe_and_shading.htm">Display \r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B><a href="transparency.htm">T</B></span><span \r
style="font-weight: bold;"><B>ransparency</B></span></a> - allows to change the \r
- transparency of mesh elements.</p></li>\r
+ transparency of geometrical objects.</p></li>\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B><a href="isos.htm">Isos</a></B></span> \r
- allows to <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">change the number of isolines \r
displayed within a shape.</font></span></p></li>\r
\r
- <li class=kadov-p><p><span style="font-weight: bold;"><B><img src="image18.gif" width="26px" height="26px" border="0" class="img_whs4"> Erase</B></span> - allows to hide the selected mesh from the \r
- viewer. <b><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">TUI Command</font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> :</b><i> sg.EraseOnly(ID)</i></font></span></p></li>\r
+ <li class=kadov-p><p><span style="font-weight: bold;"><B><img src="image18.gif" width="26px" height="26px" border="0" class="img_whs4"> Erase</B></span> - allows to hide the selected geometrical object \r
+ from the viewer. <b><span style="font-size: 12pt; font-weight: normal;"><font size=3 style="font-size:12pt;">TUI \r
+ Command</font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> :</b><i> sg.EraseOnly(ID)</i></font></span></p></li>\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B><img src="image26.gif" width="26px" height="26px" border="0" class="img_whs4"> Erase all</B></span> - \r
allows to hide all objects from the viewer. <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b \r
style="font-weight: normal;">TUI Command:</b><i> sg.EraseAll()</i></font></span></p></li>\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B><img src="image33.gif" width="23px" height="24px" border="0" class="img_whs5"> Display Only</B></span> -allows to display only the selected \r
- mesh, hiding all other from the viewer. <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b \r
+ geometrical object, hiding all other from the viewer. <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b \r
style="font-weight: normal;">TUI Command:</b><i> sg.DisplayOnly(ID)</i></font></span></p></li>\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B>Update</B></span> \r
- - refreshes the presentation of your mesh in the Object Browser, applying \r
- all recent changes.</p></li>\r
+ - refreshes the presentation of your geometrical object in the Object \r
+ Browser, applying all recent changes.</p></li>\r
\r
<li class=kadov-p><p><span style="font-weight: bold;"><B>Dump view</B></span> \r
- exports an object from the viewer in bmp, \r
Face</B></span> or a <span style="font-weight: bold;"><B>Local Coordinate System</B></span> \r
to be your <span style="font-weight: bold;"><B>Working Plane</B></span></p>\r
\r
-<p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
- Name + 1 selection (face or planar face), </p>\r
+<p class="whs2"><b>Arguments:</b> Name + 1 selection (plane \r
+ or planar face), </p>\r
\r
<p class="whs2"> </p>\r
\r
img_whs1 { border:none; width:24px; height:22px; border-style:none; }\r
p.whs2 { font-size:12pt; }\r
p.whs3 { font-size:12pt; font-weight:bold; margin-left:40px; }\r
-img_whs4 { border:none; border-style:none; width:312px; height:379px; float:none; }\r
+img_whs4 { border:none; width:312px; height:379px; float:none; border-style:none; }\r
p.whs5 { font-size:12pt; margin-left:0px; font-weight:normal; }\r
ul.whs6 { list-style:disc; }\r
img_whs7 { border:none; width:50px; height:31px; border-style:none; }\r
img_whs12 { border:none; width:250px; height:307px; border-style:none; }\r
img_whs13 { border:none; width:22px; height:22px; border-style:none; }\r
p.whs14 { font-size:12pt; margin-left:40px; font-weight:bold; }\r
-img_whs15 { border:none; width:312px; height:379px; float:none; border-style:none; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
<ul type="disc" class="whs6">\r
\r
<li class=kadov-p><p class="whs5"><span style="font-weight: bold;"><B>Shape \r
- Type</B></span> radio button define the type of elements for the group (points, \r
- lines, planes or shapes). </p></li>\r
+ Type</B></span> radio button defines the type of elements for the group (points, \r
+ edges, wires, faces, shells or solids). </p></li>\r
\r
<li class=kadov-p><p class="whs5"><span style="font-weight: bold;"><B>Group \r
Name</B></span> - here you can enter the name of the group, by default, it \r
\r
<p class="whs2"> </p>\r
\r
-<p class="whs14"><b style="font-weight: bold;"><img src="pics/editgroup.png" x-maintain-ratio="TRUE" width="312px" height="379px" border="0" class="img_whs15"></b></p>\r
+<p class="whs14"><b style="font-weight: bold;"><img src="pics/editgroup.png" x-maintain-ratio="TRUE" width="312px" height="379px" border="0" class="img_whs4"></b></p>\r
\r
<p class="whs14"> </p>\r
\r
-<p class="whs2">Our <span style="font-weight: bold;"><B>TUI Scripts</B></span> \r
- provide you with useful examples of <a href="working_with_groups.htm">Working \r
- with Groups</a>. </p>\r
-\r
<p> </p>\r
\r
<script type="text/javascript" language="javascript1.2">\r