0021008: EDF 1581 GEOM : Bad result in the partition of a compound with a plane

This commit is contained in:
vsr 2010-10-14 11:27:11 +00:00
parent fc0a5273b3
commit dc02c37731
3 changed files with 46 additions and 27 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -2,31 +2,33 @@
\page partition_page Partition \page partition_page Partition
\n To produce a \b Partition in the <b>Main Menu</b> select <b>Operations - > Partition</b> To produce a \b Partition in the <b>Main Menu</b> select <b>Operations - > Partition</b>
\n This operation builds a compound by intersection of several shapes This operation builds a compound by intersection of several shapes
with a set of tool objects or with a plane. with a set of tool objects or with a plane.
\n The \b Result will be any \b GEOM_Object. The \b Result will be \b GEOM_Object.
<br><h2>Intersection of two shapes.</h2> <br><h2>Intersection of two shapes.</h2>
\image html partition1.png \image html partition1.png
\n <b>Arguments:</b> Name + 2 lists of shapes (the shapes from the <b>Arguments:</b> Name + 2 lists of shapes (the shapes from the
first list will be intersected with the shapes from the second list) + first list will be intersected with the shapes from the second list) +
Resulting Type of shape. Resulting Type of shape.
\n As far as the intersection of two objects can produce any type of As far as the intersection of two objects can produce any type of
geometrical objects, <b>Resulting type</b> box allows choosing the geometrical objects, <b>Resulting type</b> box allows choosing the
preferrable result, i.e. a solid, a shell, a list of faces, etc. preferrable result, i.e. a solid, a shell, a list of faces, etc.
\n<b>Resulting type</b> has to be equal or lower than the type of the
<b>Resulting type</b> has to be equal or lower than the type of the
\em Objects. In other words, if the \em Objects don't contain any \em Objects. In other words, if the \em Objects don't contain any
shape of this type, Partition fails. shape of this type, Partition fails.
<b>Keep shapes of lower type</b> checkbox manages standalone shapes of <b>Keep shapes of lower type</b> checkbox manages standalone shapes of
type other than the \em Limit. If it is checked, lower dimension type other than the \em Limit. If it is checked, lower dimension
objects will be preserved, else they will be lost. objects will be preserved, else they will be lost.
\n For example, you do a partition of a box (Solid) and a face (Face)
For example, you do a partition of a box (Solid) and a face (Face)
without any tool. If you choose Resulting Type "Solid", you will without any tool. If you choose Resulting Type "Solid", you will
obtain a compound of two solids (let's the box will be splitted by the obtain a compound of two solids (let's the box will be splitted by the
face on two parts), but if you will also check <b>Keep shapes of lower face on two parts), but if you will also check <b>Keep shapes of lower
@ -34,7 +36,15 @@ type</b> checkbox, you will obtain a compound of two solids and one
face (the face will have a hole where the original face lays inside face (the face will have a hole where the original face lays inside
the box, see corresponding \ref partition_picture_3 "picture" below). the box, see corresponding \ref partition_picture_3 "picture" below).
\n <b>Advanced option:</b> <b>No shapes self intersection</b> check box affects only input shapes
of the Compound type. If this option is switched off (default
behavior) each input compound will be automatically exploded to the
sub-shapes and intersection between those shapes will be also
computed. If this option is switched on, the intersection between
sub-shapes will be not performed. In this case the Partition algorithm
will work faster, but result might differ from the default behavior.
<b>Advanced option:</b>
\ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments". \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
\note Partition is a kind of complex operation, result of it depends \note Partition is a kind of complex operation, result of it depends
@ -43,35 +53,44 @@ the box, see corresponding \ref partition_picture_3 "picture" below).
and <b>Limit Tolerance</b> in such cases. See also \ref and <b>Limit Tolerance</b> in such cases. See also \ref
tui_limit_tolerance "TUI example" of shape healing. tui_limit_tolerance "TUI example" of shape healing.
\n <b>TUI Command:</b> <em>geompy.MakePartition(ListOfShapes, <b>TUI Command (with sub-shapes intersection):</b>
<em>geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside,
ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials,
KeepNonlimitShapes)</em>
<b>TUI Command (no sub-shapes intersection):</b>
<em>geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes,
ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs, ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs,
ListOfMaterials, KeepNonlimitShapes),</em> where where \em ListOfMaterials, KeepNonlimitShapes)</em>
ListOfShapes is a list of shapes to be intersected, \em ListOfTools is
a list of shapes to intersect the shapes from ListOfShapes, \em Limit
is a Type of resulting shapes and \em KeepNonlimitShapes is a flag
that allows to preserve standalone shapes of low dimension (than
Limit) in the result.
\n Since the implementation of a new version of PartitionAlgo other
parameters are ignored by the current functionality and remain there
only to support the old scripts.
Here,
- \em ListOfShapes is a list of shapes to be intersected
- \em ListOfTools is a list of shapes to intersect the shapes from
ListOfShapes
- \em Limit is a Type of resulting shapes and \em KeepNonlimitShapes
is a flag that allows to preserve standalone shapes of low dimension
(than \em Limit) in the result.
- Other parameters are obsolete and kept only for compatibility with
previous versions of SALOME.
<br><h2>Intersection of a Shape and a Plane.</h2> <br><h2>Intersection of a Shape and a Plane.</h2>
\image html partition2.png \image html partition2.png
\n <b>Arguments:</b> Name + a list of shapes which will be intersected <b>Arguments:</b> Name + 1 shape to be intersected + 1 cutting plane.
+ 1 cutting plane.
\n <b>Advanced option:</b> <b>Advanced option:</b>
\ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments". \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
\n <b>TUI Command:</b> <em> geompy.MakeHalfPartition(Shapes, <b>TUI Command:</b>
Plane),</em> where \em Shapes are a list of Shapes to be intersected
and \em Plane is a Tool shape, to intersect the \em Shapes.
\n <b>Example:</b> <em>geompy.MakeHalfPartition(Shape, Plane)</em> where
- \em Shape is a source shape to be intersected by \em Plane
- \em Plane is a tool shape, to intersect the \em Shape.
<b>Example:</b>
\image html partitionsn1.png "Box intersected by a plane" \image html partitionsn1.png "Box intersected by a plane"