X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FGEOM%2Finput%2Fpartition.doc;h=48d56c0366c71c68d346862ef646f30101740e41;hb=ef20f40494c9ede9394c4465ed565a5a30332611;hp=532f4c375ac6a433ac707b01ae1212e0aee187c2;hpb=392885c1a8d50369708bbe5e6b44033ed8b8ba51;p=modules%2Fgeom.git diff --git a/doc/salome/gui/GEOM/input/partition.doc b/doc/salome/gui/GEOM/input/partition.doc old mode 100644 new mode 100755 index 532f4c375..48d56c036 --- a/doc/salome/gui/GEOM/input/partition.doc +++ b/doc/salome/gui/GEOM/input/partition.doc @@ -2,55 +2,123 @@ \page partition_page Partition -\n To produce a \b Partition in the Main Menu select Operations - > Partition +For a detailed description of the Partition operation please refer to this document. +It provides a general review of the Partition and Boolean operations algorithms, describes the usage methodology and highlights +major limitations of these operations. -\n This operation builds a compound by intersection of several shapes with a tool object or a plane. -\n The \b Result will be any \b GEOM_Object. +Perhaps you also ask yourself : \ref partition_explanation "What's the difference between partition, compounds and fuse operation ?" + +To produce a \b Partition in the Main Menu select Operations - > Partition + +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.

Intersection of two shapes.

-\n As far as the intersection of two objects can produce any type of +\image html partition1.png + +Arguments: 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, Resulting type box allows choosing the -preferrable result, i.e. a solid, a shell, a list of faces, etc. -\n TUI Command: geompy.MakePartition(ListOfShapes, +preferable result, i.e. a solid, a shell, a list of faces, etc. + +The Resulting type 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. + +Keep shapes of lower type 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 Keep shapes of lower +type 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). + +No sub-shapes intersection (Compounds only) 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. + +Detect Self-intersections check box is used to check self-intersection of arguments. +It is enabled only if No sub-shapes intersection (Compounds only) is checked. +- If this option is switched off (by default), the partition algorithm is +performed without self-intersection checks. +- If this option is switched on, each input shape is checked for self-intersection. +If self-intersection is detected, the operation is aborted. + +\note This algorithm does not find all types of self-intersections. It is tuned + to detect vertex/vertex, vertex/edge, edge/edge, vertex/face and edge/face + intersections. Face/face intersections detection is switched off as it + is a time-consuming operation that gives an impact on performance. To find + all self-intersections please use \ref check_self_intersections_page + "Detect Self-intersection tool". + +- Activate \ref restore_presentation_parameters_page "Advanced options" if required. + +\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 Shape Processing + and Limit Tolerance can help to attune source shapes to obtain correct result of the Partition. + See also \ref tui_limit_tolerance "TUI example" of shape healing. + +TUI Command (with sub-shapes intersection): + +geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside, +ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials, +KeepNonlimitShapes) + +TUI Command (without sub-shapes intersection): + +geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes, ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs, -ListOfMaterials), where where \em ListOfShapes is a list of shapes to -be intersected and \em ListOfTools is a list of shapes to intersect the -shapes from ListOfShapes. -\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. -\n Arguments: Name + 2 lists of shapes (the shapes from the -first list will be intersected with the shapes from the second list) + -reconstruction limit. -\n Advanced option: - \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments". +ListOfMaterials, KeepNonlimitShapes, checkSelfInte) + +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 indicates 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. -\image html partition1.png +

Intersection of a Shape and a Plane.

-Keep shapes of lower type checkbox allows building geometrical objects. -Only lower type objects will be preserved without the upper ones. +\image html partition2.png +Arguments: Name + 1 shape to be intersected + 1 cutting plane. -

Intersection of a Shape and a Plane.

+Activate \ref restore_presentation_parameters_page "Advanced options" if required. -\n TUI Command: geompy.MakeHalfPartition(Shapes, -Plane), where \em Shapes are a list of Shapes to be intersected -and \em Plane is a Tool shape, to intersect the \em Shapes. -\n Arguments: Name + a list of shapes which will be intersected -+ 1 cutting plane. -\n Advanced option: - \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments". +TUI Command: -\image html partition2.png +geompy.MakeHalfPartition(Shape, Plane), 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. -\n Example: +Examples: \image html partitionsn1.png "Box intersected by a plane" \image html partitionsn2.png "Result of intersection" -Our TUI Scripts provide you with useful examples of the use of -\ref tui_partition "Basic Operations". +\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 TUI Scripts provide you with useful examples of \ref tui_partition "Basic Operations". */