mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-12 00:29:18 +05:00
125 lines
5.3 KiB
Plaintext
125 lines
5.3 KiB
Plaintext
/*!
|
|
|
|
\page partition_page Partition
|
|
|
|
<ul>
|
|
<li>For a detailed description of the Partition operation please refer to
|
|
<a href="SALOME_BOA_PA.pdf">this document</a>.
|
|
It provides a general review of the Partition and Boolean
|
|
operations algorithms, describes the usage methodology and highlights
|
|
major limitations of these operations.</li>
|
|
|
|
<li>Perhaps you also ask yourself : \ref partition_explanation "What's the difference between partition, compounds and fuse operation ?"</li>
|
|
</ul>
|
|
|
|
To produce a \b Partition in the <b>Main Menu</b> select <b>Operations - > Partition</b>
|
|
|
|
This operation builds a compound by intersection of several shapes
|
|
with a set of tool objects or with a plane.
|
|
The \b Result will be a \b GEOM_Object.
|
|
|
|
<br><h2>Intersection of two shapes.</h2>
|
|
|
|
\image html partition1.png
|
|
|
|
<b>Arguments:</b> Name + 2 lists of shapes (the shapes from the
|
|
first list will be intersected with the shapes from the second list) +
|
|
Resulting Type of shape.
|
|
|
|
As far as the intersection of two objects can produce any type of
|
|
geometrical objects, <b>Resulting type</b> box allows choosing the
|
|
preferrable result, i.e. a solid, a shell, a list of faces, etc.
|
|
|
|
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
|
|
shape of this type, Partition fails.
|
|
|
|
<b>Keep shapes of lower type</b> checkbox manages standalone shapes of
|
|
type other than the \em Limit. If it is checked, lower dimension
|
|
objects will be preserved, else they will be lost.
|
|
|
|
For example, you partition a box (Solid) and a face (Face)
|
|
without any tool (the box is split in two parts by the shape). If you
|
|
choose the Resulting Type "Solid", you will
|
|
obtain a compound of two solids, but if you also check <b>Keep shapes of lower
|
|
type</b> checkbox, you will obtain a compound of two solids and one
|
|
face (there will be a hole in the resulting face, where the original
|
|
face intersects with the box, see the corresponding \ref partition_picture_3 "picture" below).
|
|
|
|
<b>No sub-shapes intersection (Compounds only)</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 into
|
|
sub-shapes and the intersection between these shapes will be also
|
|
computed. If this option is switched on, the intersection between
|
|
sub-shapes will not be performed. In this case the Partition algorithm
|
|
will work faster, but the result might differ from the default behavior.
|
|
|
|
<b>Detect Self-intersections</b> check box is used to check arguments
|
|
self-intersections. If this option is switched on (default behavior)
|
|
each input shape is checked for self-intersection. In case of its detection
|
|
the operation is aborted. If this option is switched off, the partition
|
|
algorithm is performed without self-intersection checks.
|
|
|
|
<b>Advanced option:</b>
|
|
\ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
|
|
|
|
\note Partition is a complex operation, so its result of it depends
|
|
on the quality of the initial shapes. Sometimes, if partition fails,
|
|
such healing operations as <b>Shape Processing</b>
|
|
and <b>Limit Tolerance</b> can help to attune source shapes to obtain correct result of the Partition.
|
|
See also \ref tui_limit_tolerance "TUI example" of shape healing.
|
|
|
|
<b>TUI Command (with sub-shapes intersection):</b>
|
|
|
|
<em>geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside,
|
|
ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials,
|
|
KeepNonlimitShapes, checkSelfInte)</em>
|
|
|
|
<b>TUI Command (without sub-shapes intersection):</b>
|
|
|
|
<em>geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes,
|
|
ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs,
|
|
ListOfMaterials, KeepNonlimitShapes, checkSelfInte)</em>
|
|
|
|
Here,
|
|
- \em ListOfShapes is a list of shapes to be intersected
|
|
- \em ListOfTools is a list of shapes to intersect the shapes from
|
|
\em ListOfShapes
|
|
- \em Limit is a Type of resulting shapes
|
|
- \em KeepNonlimitShapes is a flag that allows to preserve standalone
|
|
shapes of low dimension (than \em Limit) in the result.
|
|
- \em checkSelfInte is a flag that tells if the arguments should
|
|
be checked for self-intersection prior to the operation.
|
|
- Other parameters are obsolete and kept only for compatibility with
|
|
previous versions of SALOME.
|
|
|
|
<br><h2>Intersection of a Shape and a Plane.</h2>
|
|
|
|
\image html partition2.png
|
|
|
|
<b>Arguments:</b> Name + 1 shape to be intersected + 1 cutting plane.
|
|
|
|
<b>Advanced option:</b>
|
|
\ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
|
|
|
|
<b>TUI Command:</b>
|
|
|
|
<em>geompy.MakeHalfPartition(Shape, Plane, checkSelfInte)</em>, where:
|
|
- \em Shape is a source shape to be intersected by the \em Plane
|
|
- \em Plane is a tool shape, to intersect the \em Shape.
|
|
- \em checkSelfInte is a flag that tells if the arguments should
|
|
be checked for self-intersection prior to the operation.
|
|
|
|
<b>Examples:</b>
|
|
|
|
\image html partitionsn1.png "Box intersected by a plane"
|
|
|
|
\image html partitionsn2.png "Result of intersection"
|
|
|
|
\anchor partition_picture_3
|
|
\image html partitionsn3.png "Result of intersection of a box and a plane (both as \em Objects, no tools) with the Resulting type \em Solid and checked 'Keep shapes of lower type'"
|
|
|
|
Our <b>TUI Scripts</b> provide you with useful examples of \ref tui_partition "Basic Operations".
|
|
|
|
*/
|