From: jfa Date: Fri, 14 May 2010 13:11:10 +0000 (+0000) Subject: Mantis issue 0020853: EDF 1394 GEOM: Partition fails between 2 faces. X-Git-Tag: V5_1_4rc2~9 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0c3ed0b725512af2833982f12f00b79dbb7edf42;p=modules%2Fgeom.git Mantis issue 0020853: EDF 1394 GEOM: Partition fails between 2 faces. --- diff --git a/doc/salome/gui/GEOM/images/partition1.png b/doc/salome/gui/GEOM/images/partition1.png index 7e068ca0d..cc5b15544 100755 Binary files a/doc/salome/gui/GEOM/images/partition1.png and b/doc/salome/gui/GEOM/images/partition1.png differ diff --git a/doc/salome/gui/GEOM/images/partitionsn3.png b/doc/salome/gui/GEOM/images/partitionsn3.png new file mode 100644 index 000000000..474f8b0b0 Binary files /dev/null and b/doc/salome/gui/GEOM/images/partitionsn3.png differ diff --git a/doc/salome/gui/GEOM/input/partition.doc b/doc/salome/gui/GEOM/input/partition.doc index 532f4c375..6661d12f2 100644 --- a/doc/salome/gui/GEOM/input/partition.doc +++ b/doc/salome/gui/GEOM/input/partition.doc @@ -4,45 +4,66 @@ \n To produce a \b Partition in the Main Menu select Operations - > Partition -\n This operation builds a compound by intersection of several shapes with a tool object or a plane. +\n This operation builds a compound by intersection of several shapes +with a set of tool objects or with a plane. \n The \b Result will be any \b GEOM_Object.

Intersection of two shapes.

+\image html partition1.png + +\n 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. + \n 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. +\nResulting 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. +\n 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 +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 Keep shapes of lower +type checkbox, you will obtain a compound of two solids and one +face (the face will have a hole where the original face lays inside +the box, see corresponding \ref partition_picture_3 "picture" below). + +\n Advanced option: + \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments". + \n TUI Command: geompy.MakePartition(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. +ListOfMaterials, KeepNonlimitShapes), where where \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. -\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". - -\image html partition1.png - -Keep shapes of lower type checkbox allows building geometrical objects. -Only lower type objects will be preserved without the upper ones.

Intersection of a Shape and a Plane.

-\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. +\image html partition2.png + \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". -\image html partition2.png +\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 Example: @@ -50,6 +71,9 @@ and \em Plane is a Tool shape, to intersect the \em Shapes. \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 Resulting type \em Solid and checked \em Keep \em shapes \em of \em lower \em type" + Our TUI Scripts provide you with useful examples of the use of \ref tui_partition "Basic Operations". diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index baf88a780..61aa8caeb 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -2180,10 +2180,10 @@ module GEOM * \note Each compound from ListShapes and ListTools will be exploded in order * to avoid possible intersection between shapes from this compound. * \param theLimit Type of resulting shapes (corresponding to TopAbs_ShapeEnum). - # \param KeepNonlimitShapes: if this parameter == 0 - only shapes with - # type <= Limit are kept in the result, - # else - shapes with type > Limit are kept - # also (if they exist) + * \param KeepNonlimitShapes: if this parameter == 0, then only shapes of + * target type (equal to Limit) are kept in the result, + * else standalone shapes of lower dimension + * are kept also (if they exist). * * After implementation new version of PartitionAlgo (October 2006) * other parameters are ignored by current functionality. They are kept diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index 24e2406f0..4ba8150f8 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -2375,10 +2375,10 @@ class geompyDC(GEOM._objref_GEOM_Gen): # in order to avoid possible intersection between shapes from # this compound. # @param Limit Type of resulting shapes (corresponding to TopAbs_ShapeEnum). - # @param KeepNonlimitShapes: if this parameter == 0 - only shapes with - # type <= Limit are kept in the result, - # else - shapes with type > Limit are kept - # also (if they exist) + # @param KeepNonlimitShapes: if this parameter == 0, then only shapes of + # target type (equal to Limit) are kept in the result, + # else standalone shapes of lower dimension + # are kept also (if they exist). # # After implementation new version of PartitionAlgo (October 2006) # other parameters are ignored by current functionality. They are kept