\page shapesonshape_page Get Shapes on Shape
-This operation is a special case of <b>Explode</b> operation. It produces a group of sub-shapes of the exploded shape, which are located in a definite way relatively another reference shape.
+This operation is a special case of <b>Explode</b> operation. It
+produces a group of sub-shapes of the exploded shape, which are
+located in a definite way relatively another reference shape. The
+reference shape should be a solid.
To use this operation, select in the Main Menu <b>Operations -> Get Shapes on Shape.</b> The following dialog box will appear.
<ul>
<li> <b>Name</b> is the name of the resulting group of shapes; </li>
<li> <b>Shape for exploding</b> is the shape that will be exploded; </li>
-<li> <b>Shape for checking</b> is the reference shape; </li>
+<li> <b>Solid for checking</b> is the reference shape, which should be
+a solid; </li>
<li> <b>Reconstruction Limit</b> is the type of created sub-shapes:
solid, shell, face, wire, edge, vertex; </li>
<li> <b>State</b> is the position of the created sub-shapes relatively the reference shapes:
/*!
* \brief Find subshapes complying with given status
- * \param theCheckShape - the shape to check state of subshapes against
+ * \param theCheckShape - the shape to check state of subshapes against. It must be a solid.
* \param theShape - the shape to explore
* \param theShapeType - type of subshape of theShape
* \param theState - required state
/*!
* \brief Find subshapes complying with given status
- * \param theCheckShape - the shape to check state of subshapes against
+ * \param theCheckShape - the shape to check state of subshapes against. It must be a solid.
* \param theShape - the shape to explore
* \param theShapeType - type of subshape of theShape
* \param theState - required state
/*!
* \brief Find subshapes complying with given status
- * \param theCheckShape - the shape to check state of subshapes against
+ * \param theCheckShape - the shape to check state of subshapes against. It must be a solid.
* \param theShape - the shape to explore
* \param theShapeType - type of subshape of theShape
* \param theState - required state
</message>
<message>
<source>GEOM_SHAPES_ON_SHAPE_CSHAPE</source>
- <translation>Shape for checking</translation>
+ <translation>Solid for checking</translation>
</message>
<message>
<source>GEOM_SHAPES_ON_SHAPE_STATE</source>
Standard_Integer iErr = aFinder.ErrorStatus();
// the detailed description of error codes is in GEOMAlgo_FinderShapeOn1.cxx
if (iErr) {
- MESSAGE(" iErr : " << iErr);
- TCollection_AsciiString aMsg (" iErr : ");
- aMsg += TCollection_AsciiString(iErr);
- SetErrorCode(aMsg);
+ if (iErr == 41) {
+ SetErrorCode("theCheckShape must be a solid");
+ }
+ else {
+ MESSAGE(" iErr : " << iErr);
+ TCollection_AsciiString aMsg (" iErr : ");
+ aMsg += TCollection_AsciiString(iErr);
+ SetErrorCode(aMsg);
+ }
return aSeqOfIDs;
}
Standard_Integer iWrn = aFinder.WarningStatus();
if (Tol_2D < Precision::Confusion()) Tol_2D = Precision::Confusion();
if (Tol_3D < Precision::Confusion()) Tol_3D = Precision::Confusion();
+ //if (Tol_1D > 1.0) Tol_1D = 1.0;
+ //if (Tol_2D > 1.0) Tol_2D = 1.0;
+ //if (Tol_3D > 1.0) Tol_3D = 1.0;
+
Tol_Mass = Tol_3D;
if ( iType == TopAbs_EDGE ) Tol_Mass = Tol_1D;
else if ( iType == TopAbs_FACE ) Tol_Mass = Tol_2D;
## Find in \a theShape all sub-shapes of type \a theShapeType,
# situated relatively the specified \a theCheckShape by the
# certain way, defined through \a theState parameter.
- # @param theCheckShape Shape for relative comparing.
+ # @param theCheckShape Shape for relative comparing. It must be a solid.
# @param theShape Shape to find sub-shapes of.
# @param theShapeType Type of sub-shapes to be retrieved.
# @param theState The state of the subshapes to find. It can be one of