C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Sheet Metal Modeling:

Classes

class  MbJointBendUtils
 Auxiliary functions for a composite bend (a bend from a sketch). More...
 
class  MbBeadParamCalculator
 The calculator of the dependent parameter of a bead. More...
 
class  MbKCalculator
 Calculator of the neutral layer coefficient. More...
 
class  MbDisplacementCalculator
 The bend displacement calculator. More...
 
class  MbJalousieParamCalculator
 The calculator of trimmed jalousie parameters. More...
 
class  MbCloseCornerGapHotPointCalc
 Calculator of hot point location for the gap of corner closure. More...
 
class  MbRuledShellGapCalc
 Calculator of hot point location for the gap of corner closure. More...
 
class  MbSheetRibHotPointCalculator
 Calculator of hot point location for the sheet rib. More...
 

Enumerations

enum  MbeSegmentationMethod { sm_Quantity , sm_Length , sm_Angle , sm_Height }
 The method of contour segmentation. More...
 
enum  MbeBendWidthType { bwt_KFactor , bwt_Allowance , bwt_Deduction , bwt_Table }
 The method of bend width definition. More...
 
enum  MbeStampingCreatedType { sct_add , sct_substact , sct_all }
 The type of stamping part being created. More...
 

Functions

MbResultType BendSheetSolidOverSegment (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &bendingFaces, MbCurve3D &curve, bool unbended, const MbBendOverSegValues &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 The bend of a sheet solid along a line. More...
 
MbResultType SheetSolidJog (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &bendingFaces, MbCurve3D &curve, bool unbended, const MbJogValues &jogParams, const MbBendValues &secondBendParams, const MbSNameMaker &nameMaker, RPArray< MbFace > &firstBendFaces, RPArray< MbFace > &secondBendFaces, MbSolid *&result)
 A jog. More...
 
MbResultType BendSheetSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbSheetMetalBend > &bends, const MbFace &fixedFace, const MbCartPoint &fixedPoint, const MbSNameMaker &nameMaker, MbSolid *&result)
 Rebend the sheet solid bends. More...
 
MbResultType UnbendSheetSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbSheetMetalBend > &bends, const MbFace &fixedFace, const MbCartPoint &fixedPoint, const MbSNameMaker &nameMaker, MbSolid *&result, RPArray< MbContour3D > *ribContours=nullptr)
 Unbend the bends of a sheet solid. More...
 
MbResultType CreateSheetSolid (const MbPlacement3D &placement, RPArray< MbContour > &contours, bool unbended, const MbSheetMetalValues &params, RPArray< MbSNameMaker > *nameMakers, RPArray< MbSMBendNames > &resultBends, MbSolid *&result)
 Create a sheet solid. More...
 
MbResultType SheetSolidPlate (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues &params, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result)
 Addition of a plate to the sheet solid. More...
 
MbResultType SheetSolidHole (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues &params, bool diff, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result)
 Create a hole in a sheet solid. More...
 
MbResultType BendSheetSolidByEdges (MbSolid &solid, const MbeCopyMode sameShell, const RPArray< MbCurveEdge > &edges, const bool unbended, const MbBendByEdgeValues &params, const MbSNameMaker &nameMaker, RPArray< MbSMBendNames > &resultBends, MbSolid *&result)
 A bend on an edge. More...
 
MbResultType SheetSolidJointBend (MbSolid &solid, const MbeCopyMode sameShell, const MbPlacement3D &placement, const MbContour &contour, const RPArray< MbCurveEdge > &edges, const bool unbended, const MbJointBendValues &params, const MbSNameMaker &nameMaker, RPArray< RPArray< MbSMBendNames > > &resultBends, MbSolid *&result)
 A composite bend of a sheet solid. More...
 
MbResultType CloseCorner (MbSolid &solid, MbeCopyMode sameShell, MbCurveEdge *curveEdgePlus, MbCurveEdge *curveEdgeMinus, const MbClosedCornerValues &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 A corner enclosure. More...
 
MbResultType CutSolidArrayByBorders (MbSolid &solidArray, const MbeCopyMode sameShells, const MbCutSolidArrayByBordersParams &params, c3d::SolidSPtr &resultSolid)
 Cutting the solidArray with contours of plane sheet faces of sheetSolid form params. More...
 
MbResultType CreateStampParts (const MbStampPartsParams &params, MbStampPartsResult &resultSolids)
 Creation of stamping's components. More...
 
MbResultType CreateStampWithToolSolidParts (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolPartsParams &params, MbStampWithToolPartsResult &resultSolids)
 Stamping with a tool solid (punch or die). More...
 
MbResultType NormalizeCutSides (MbSolid &solid, MbeCopyMode sameShell, const MbNormalizeCutSidesParams &normParam, c3d::SolidSPtr &result)
 Normalize cut sides of the sheet solid. More...
 
MbResultType Stamp (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbStampParams &params, c3d::SolidSPtr &result)
 Stamping. More...
 
MbResultType StampWithToolSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolParams &params, c3d::SolidSPtr &result)
 Stamping with a tool solid (punch or die). More...
 
MbResultType CreateSphericalStampParts (const MbSphericalStampPartsParams &params, MbSphericalStampPartsResult &resultSolids)
 Creation of spherical stamping's components. More...
 
MbResultType SphericalStamp (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSphericalStampParams &params, c3d::SolidSPtr &result)
 Spherical stamping. More...
 
MbResultType CreateBeadParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbContour > &contours, const SArray< MbCartPoint > &centers, const MbBeadValues &params, const double thinkness, const MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract)
 Creation of bead's components. More...
 
MbResultType CreateBead (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const RPArray< MbContour > &contours, const SArray< MbCartPoint > &centers, const MbBeadValues &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 A bead. More...
 
MbResultType CreateJalousieParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues &params, const double thickness, const MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract)
 Creation of jalousie's components. More...
 
MbResultType CreateJalousie (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 Jalousie. More...
 
MbResultType CreateRuledSolid (MbRuledSolidValues &parameters, const MbSNameMaker &nameMaker, RPArray< MbSMBendNames > &resultBends, MbContour *&resultContour, MbSolid *&resultSolid)
 A ruled shell from a contour. More...
 
MbResultType SheetSolidUnion (MbSolid &solid1, const MbeCopyMode sameShell1, MbSolid &solid2, const MbeCopyMode sameShell2, const MbSNameMaker &names, MbSolid *&result)
 A union of sheet solids by a side face. More...
 
bool CanUnionSheetSolids (const MbSolid &solid1, const MbSolid &solid2)
 Checks that solids are sheet and they can be connected by a side face. More...
 
MbResultType RestoreSideEdges (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &outerFaces, const bool strict, RPArray< MbSheetMetalBend > &bends, const MbSNameMaker &nameMaker, MbSolid *&result)
 Restore the side edges of the bends. More...
 
bool SeparateBendsBySubshells (const MbSolid &solid, const RPArray< MbSheetMetalBend > &bends, const MbName &fixedFaceName, RPArray< RPArray< MbSheetMetalBend > > &bendsGroups, RPArray< const MbFace > &fixedFaces)
 Disjoint the bends by the common subshells. More...
 
bool CollectBends (const MbFaceShell &faceShell, const RPArray< MbFace > &innerFaces, const RPArray< MbFace > &outerFaces, RPArray< MbSheetMetalBend > &result)
 Collect the pairs of faces of the bends. More...
 
bool IsSuitableForFixed (const MbFace &face)
 Determine whether a face can be chosen as a fixed face for bending/unbending. More...
 
void FindCurveFaces (const RPArray< MbFace > &faces, const MbCurve3D &curve, RPArray< MbFace > &result)
 Find the faces containing the specified curve. More...
 
MbFaceFindSheetFace (const MbCurveEdge &edge)
 Find the upper/lower face of a sheet solid that contains the specified edge. More...
 
MbFaceFindPairBendFace (const MbFace &face)
 Find the pair face of a bend. More...
 
MbFaceGetPairPlanarFaceByEdge (const MbCurveEdge &curveEdge, const double begDistance, const double endDistance)
 Find a planar pair sheet face given en edge. More...
 
MbFaceGetPairPlanarFaceByCurve (const MbFace &sheetFace, const MbCurve3D &curve)
 Find a planar pair sheet face given a three-dimensional curve. More...
 
MbFaceGetPairPlanarFaceByContour (const MbFaceShell &shell, const MbFace &sheetFace, const MbPlacement3D &place, const RPArray< const MbCurve > &segments)
 Find a planar pair sheet face given a contour. More...
 
MbFaceGetPairPlanarFace (const MbFaceShell *faceShell, const MbFace &sheetFace)
 Find the planar pair sheet face. More...
 
double GetDistanceIfSameAndOpposite (const MbFace &face1, const MbFace *face2)
 Compute the distance between faces. More...
 
void GetSimilarCylindricBends (const MbFaceShell &shell, RPArray< MbSheetMetalBend > &bends)
 Find the similar bends. More...
 
bool CalculateTangentPoint (const MbFace &face, const MbPlane &plane, MbCartPoint &tangentPoint)
 Compute a tangent point for bend/unbend. More...
 
bool CalculateConicAxisLine (const MbFace &face, MbLineSegment &axisLineSegment)
 Calculate the centerline of an unbended conic bend. More...
 
bool BuildBends3DCenterlines (const MbBends3DLinesParams &params, MbBends3DLinesResult &result)
 Calculate the centerlines of unfolded bends. More...
 
bool GetParamsForCloseCorner (const RPArray< MbFace > &facesPlus, const RPArray< MbFace > &facesMinus, MbClosedCornerValues &parameters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus)
 Calculate the parameters for the corner closure. More...
 
bool GetParamsForCloseCorner (const MbCurveEdge &selectedEdgePlus, const MbCurveEdge &selectedEdgeMinus, MbClosedCornerValues &parameters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus)
 Calculate the parameters for the corner closure. More...
 
bool GetParamsForCloseCorner (const MbCloseCornerParams &params, MbCloseCornerResults &result)
 Calculate the parameters for the corner closure. More...
 
double CalculateSegmentationParameter (const MbCurve &curve, const MbeSegmentationMethod method, const double param, const MbeSegmentationMethod newMethod)
 Calculate parameter of segmentation. More...
 
MbResultType SplitContourIntoSegments (const MbCurve &curve, const size_t segmNumber, MbContour *&resultContour)
 Split every arc of the contour into segments. More...
 
MbResultType SplitContoursIntoSegments (MbContour &contour1, SArray< double > &breaks1, MbContour &contour2, SArray< double > &breaks2, MbSNameMaker &names, const SArray< size_t > &segmNumbers1, const SArray< size_t > &segmNumbers2, const size_t defSegmNumb, const double gapValue)
 Split a part of a contours (an arc) into segments. More...
 
bool FillBendNamesArray (const MbContour &contour1, const MbPlacement3D &placement1, const SArray< double > &breaks1, const MbContour &contour2, const MbPlacement3D &placement2, const SArray< double > &breaks2, const MbSNameMaker &nameMaker, RPArray< MbSMBendNames > &bendNames)
 Fill the array of MbSMBendNames. More...
 
MbContour3DMakeContour (const MbPlacement3D &placement, const MbContour &contour, const SArray< double > &breaks, MbSNameMaker &names)
 To create 3D contour by 2D contour with splitting. More...
 
bool MakeSheetRiContourByTwoSides (const MbCurveEdge &bendEdge, const double bendAngle, const double l1, const double l2, const double bRatio, const double rad, const bool dir, const double t, MbPlacement3D &placement, MbContour &contour, double &bMax)
 Create the contour of rib by side distances. More...
 
bool MakeSheetRiContourBySideAndAngle (const MbCurveEdge &bendEdge, const double bendAngle, const double l1, const double a, const double bRatio, const double rad, const bool dir, const double t, MbPlacement3D &placement, MbContour &contour, double &bMax)
 Create the contour of rib by distance and slope angle. More...
 
bool MakeSheetRiContourByDepthAndAngle (const MbCurveEdge &bendEdge, const double bendAngle, const double h, const double a, const double bRatio, const double rad, const bool dir, const double t, MbPlacement3D &placement, MbContour &contour, double &bMax)
 Create the contour of rib by depth and slope angle. More...
 
MbResultType SheetRibParts (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams &params, c3d::SolidSPtr &partToAdd, c3d::SolidSPtr &partToSubtract)
 Create rib parts of a sheet solid. More...
 
MbResultType SheetRibSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams &params, c3d::SolidSPtr &result)
 Create a sheet solid with rib. More...
 
MbResultType BendAnySolid (MbSolid &solid, const MbeCopyMode sameShell, const MbPlane &cutPlane, const SArray< MbAnyBend > &bends, const MbSNameMaker &nameMaker, MbSolid *&result)
 Cut the solid with the cutting planes and bend the resulting parts according to given parameters. More...
 
MbResultType SimplifyFlatPattern (MbSolid &solid, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 Simplify flattened sheet solid. More...
 
MbResultType RemoveOperationResult (MbSolid &solid, const MbeCopyMode sameShell, const MbRemoveOperationResultParams &params, SPtr< MbSolid > &result)
 Remove the result operation with name "removeName". More...
 
MbResultType ConvertSolidToSheetMetal (c3d::SolidSPtr &solid, const MbeCopyMode sameShell, MbSolidToSheetMetalParams &parameters, c3d::SolidSPtr &result)
 Construct sheet metal solid based on an arbitrary solid. More...
 
MbCreatorNormalizeHolesSides (MbFaceShell *&initialShell, const MbeCopyMode sameShell, const MbSNameMaker &nameMaker, bool cutOnly, MbResultType &res, MbFaceShell *&shell)
 Normalize of the holes of sheet solid. More...
 
MbCreatorNormalizeHolesSides (c3d::ShellSPtr &initialShell, const MbeCopyMode sameShell, const MbNormalizeCutSidesParams &normParam, MbResultType &res, c3d::ShellSPtr &shell)
 Normalize of the holes of sheet solid. More...
 
MbCreatorCreateSimplifiedFlatPattern (MbFaceShell &initialShell, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues &params, const MbSNameMaker &nameMaker, MbResultType &res, MbFaceShell *&shell)
 Simplify flattened sheet solid. More...
 
MbResultType CreateSheetRibParts (const c3d::ShellSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams &params, c3d::ShellSPtr &shellToAdd, c3d::ShellSPtr &shellToSubtract)
 Create rib parts of a shell. More...
 

Detailed Description

Enumeration Type Documentation

◆ MbeSegmentationMethod

The method of contour segmentation.

The method of contour segmentation.

Enumerator
sm_Quantity 

By quantity of segments.

sm_Length 

By length of segments.

sm_Angle 

By angle.

sm_Height 

By the deviation from the chord.

◆ MbeBendWidthType

The method of bend width definition.

The method of bend width definition.

Enumerator
bwt_KFactor 

The bending width is computed using neutral layer coefficient.

bwt_Allowance 

The bend width is defined explicitly.

bwt_Deduction 

The bend tapering is defined.

bwt_Table 

The bend width is computed from a table.

◆ MbeStampingCreatedType

The type of stamping part being created.

Enumerator
sct_add 

Added part of the stamping.

sct_substact 

Subtracted part of the stamping.

sct_all 

All stamping with the body.

Function Documentation

◆ BendSheetSolidOverSegment()

MbResultType BendSheetSolidOverSegment ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  bendingFaces,
MbCurve3D curve,
bool  unbended,
const MbBendOverSegValues params,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

The bend of a sheet solid along a line.

The line is a line segment on the planar faces bendingFaces or a line. Faces bendingFaces lies on the common plane.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]bendingFaces- The faces to bend.
[in]curve- A straight line along which to bend.
[in]unbended- Whether to construct the element unbended.
[in]params- A sheet solid parameters.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SheetSolidJog()

MbResultType SheetSolidJog ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  bendingFaces,
MbCurve3D curve,
bool  unbended,
const MbJogValues jogParams,
const MbBendValues secondBendParams,
const MbSNameMaker nameMaker,
RPArray< MbFace > &  firstBendFaces,
RPArray< MbFace > &  secondBendFaces,
MbSolid *&  result 
)

A jog.

The line is a line segment on the planar faces bendingFaces or a line. Faces bendingFaces lies on the common plane. A jog is performed as two bends by a line shifted relative to each other. The sheet faces of bends generated during this operation are returned in the arrays:
firstBendFaces - the bend faces adjacent to the fixed part of the base faces,
secondBendFaces - the bend faces raised above the base faces.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]bendingFaces- The faces to bend.
[in]curve- A straight line along which to bend.
[in]unbended- Whether to construct the element unbended.
[in]jogParams- The parameters of a jog and the first bend.
[in]secondBendParams- The second bend parameters.
[in]nameMaker- An object for naming the new objects.
[out]firstBendFaces- The faces of the first bend of the jog.
[out]secondBendFaces- The faces of the second bend of the jog.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ BendSheetSolid()

MbResultType BendSheetSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbSheetMetalBend > &  bends,
const MbFace fixedFace,
const MbCartPoint fixedPoint,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

Rebend the sheet solid bends.

The unbended bends 'bends' are bended relative to the fixed face 'fixedFace'. If 'fixedFace' is a sheet face that belongs to one of bends 'bends', then bending is performed such that the plane tangent to the underlying surface of 'fixedFace' at point 'fixedPoint' remains fixed.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]bends- An array of bends which consist of face pairs - inner and outer faces of the bend.
[in]fixedFace- The face that remains fixed.
[in]fixedPoint- A point in the domain of the underlying surface of face 'fixedFace' if this face is a face of the bend.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ UnbendSheetSolid()

MbResultType UnbendSheetSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbSheetMetalBend > &  bends,
const MbFace fixedFace,
const MbCartPoint fixedPoint,
const MbSNameMaker nameMaker,
MbSolid *&  result,
RPArray< MbContour3D > *  ribContours = nullptr 
)

Unbend the bends of a sheet solid.

Bends 'bends' are to be unbended relative to the fixed face 'fixedFace'. If 'fixedFace' is a sheet face that belongs to one of bends 'bends', unbending is performed such that the plane tangent to the underlying surface of 'fixedFace' at point 'fixedPoint' remains fixed.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]bends- An array of bends which consist of face pairs - inner and outer faces of the bend.
[in]fixedFace- The face that remains fixed.
[in]fixedPoint- A point in the domain of face 'fixedFace' if it is a face of the bend.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
[out]ribContours- The set of contours, which are containing edges of stamp rib in unfolded state.
Returns
- The operation result code.

◆ CreateSheetSolid()

MbResultType CreateSheetSolid ( const MbPlacement3D placement,
RPArray< MbContour > &  contours,
bool  unbended,
const MbSheetMetalValues params,
RPArray< MbSNameMaker > *  nameMakers,
RPArray< MbSMBendNames > &  resultBends,
MbSolid *&  result 
)

Create a sheet solid.

A sheet solid is created by extrusion of one open contour or several closed contours.
In the case of several closed contours one contour should be outer, the others should be inner; extrusion is performed by a distance equal to the sheet solid thickness.
In the case of open contour it is supplied with the sheet solid thickness in one or another direction subject to the parameters, then the result is extruded by the specified distances.

Parameters
[in]placement- A sketch placement.
[in]contours- The sheet solid contours.
[in]unbended- Whether to construct the element unbended.
[in]params- A sheet solid parameters.
[in]nameMakers- Objects for naming the new objects.
[out]resultBends- The resultant bends.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SheetSolidPlate()

MbResultType SheetSolidPlate ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D placement,
RPArray< MbContour > &  contours,
const MbSheetMetalValues params,
RPArray< MbSNameMaker > *  nameMakers,
MbSolid *&  result 
)

Addition of a plate to the sheet solid.

A plate is constructed from one or several closed non-intersecting contours; And several contours can be outer.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]placement- The local coordinate system of the sketch.
[in]contours- The closed contour of the plate.
[in]params- A sheet solid parameters.
[in]nameMakers- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SheetSolidHole()

MbResultType SheetSolidHole ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D placement,
RPArray< MbContour > &  contours,
const MbSheetMetalValues params,
bool  diff,
RPArray< MbSNameMaker > *  nameMakers,
MbSolid *&  result 
)

Create a hole in a sheet solid.

A hole is constructed by a closed contour.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]placement- A sketch placement.
[in]contours- A closed contour of a hole/intersection.
[in]params- A sheet solid parameters.
[in]diff- The hole (diff = true), the intersection (diff = false).
[in]nameMakers- Objects for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ BendSheetSolidByEdges()

MbResultType BendSheetSolidByEdges ( MbSolid solid,
const MbeCopyMode  sameShell,
const RPArray< MbCurveEdge > &  edges,
const bool  unbended,
const MbBendByEdgeValues params,
const MbSNameMaker nameMaker,
RPArray< MbSMBendNames > &  resultBends,
MbSolid *&  result 
)

A bend on an edge.

A bend is constructed on one or several edges that belong to a planar sheet face from the specified parameters.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]edges- The edges of bends.
[in]unbended- Whether to construct the element unbended.
[in]params- The bends parameters.
[in]nameMaker- An object for naming the new objects.
[in,out]resultBends- Bends parameters and names of the bends faces.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SheetSolidJointBend()

MbResultType SheetSolidJointBend ( MbSolid solid,
const MbeCopyMode  sameShell,
const MbPlacement3D placement,
const MbContour contour,
const RPArray< MbCurveEdge > &  edges,
const bool  unbended,
const MbJointBendValues params,
const MbSNameMaker nameMaker,
RPArray< RPArray< MbSMBendNames > > &  resultBends,
MbSolid *&  result 
)

A composite bend of a sheet solid.

A composite bend of a sheet solid or, in the other words, a bend from a sketch can be constructed on one or several neighboring linear edges of one or several sheet faces from the different sides of the bend. A sketch consisting of line segments and arcs should lie on a plane perpendicular to one of edges of the construction; one of its ends should lie on the edge projection onto this plane. The specified sketch is applied to each edge involved in the construction. From this sketch and its copies for all the edges sheet solids are created with rounding of non-smooth (G0) joints of line segments of the contour and smoothly connecting with the base sheet face. The constructed faces are united with the base (source) solid, and, then the corners are to be closed according to the specified parameters. After finishing the operation all the created edges are stored in array 'resultBends'.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]placement- The bend contour placement.
[in]contour- The bend contour.
[in]edges- The bend edges.
[in]unbended- Whether to construct the element unbended.
[in]params- The bend parameters.
[in]nameMaker- An object for naming the new objects.
[out]resultBends- The resultant bends.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CloseCorner()

MbResultType CloseCorner ( MbSolid solid,
MbeCopyMode  sameShell,
MbCurveEdge curveEdgePlus,
MbCurveEdge curveEdgeMinus,
const MbClosedCornerValues params,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

A corner enclosure.

If two bends are created on the neighboring edges of a sheet face, a corner appears between them which can be covered by the material by extending the corresponding sides of these bends, that's what the operation does. The specified parameters can include a gap size and types of enclosure separately for the bends and for their planar extensions.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]curveEdgePlus- The bend edge assumed to be positive.
[in]curveEdgeMinus- The bend edge assumed to be negative.
[in]params- The enclosure parameters.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CutSolidArrayByBorders()

MbResultType CutSolidArrayByBorders ( MbSolid solidArray,
const MbeCopyMode  sameShells,
const MbCutSolidArrayByBordersParams params,
c3d::SolidSPtr resultSolid 
)

Cutting the solidArray with contours of plane sheet faces of sheetSolid form params.

For cutting are used only those faces whose placements are complanar to the ones from placements array. The faces contours solids is built by extrusion of bounding contours of the faces in both directions on "depth" value.

Parameters
[in]solidArray- The solid to be cut.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- Operation parameters.
[out]result- Result solid.
Returns
- The operation result code.

◆ CreateStampParts()

MbResultType CreateStampParts ( const MbStampPartsParams params,
MbStampPartsResult resultSolids 
)

Creation of stamping's components.

The spherical stamp is created by adding a convex part to the plate and subtructing a concave part from it. This function returns these parts as separate solids. It does not cut them with the edges of the face on which the contours lay.

Parameters
[in]params- The parameters of stamping.
[out]resultSolids- Added and deductible parts of the stamp.
Returns
- The operation result code.

◆ CreateStampWithToolSolidParts()

MbResultType CreateStampWithToolSolidParts ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const c3d::SolidSPtr toolSolid,
MbeCopyMode  sameShellTool,
const MbStampWithToolPartsParams params,
MbStampWithToolPartsResult resultSolids 
)

Stamping with a tool solid (punch or die).

The stamping is created based on a tool body and a flat sheet face. The stamping is trimmed by the boundary of the sheet face which contains the sketch.

Parameters
[in]solid- The sheet solid with stamp.
[in]sameShell- Whether to delete the shell of the source solid.
[in]toolSolid- A shell of tool solid.
[in]sameShellTool- Whether to delete the shell of the tool solid.
[in]params- The parameters of stamping.
[out]resultSolids- Added and deductible parts of the stamp.

◆ NormalizeCutSides()

MbResultType NormalizeCutSides ( MbSolid solid,
MbeCopyMode  sameShell,
const MbNormalizeCutSidesParams normParam,
c3d::SolidSPtr result 
)

Normalize cut sides of the sheet solid.

Normalize cut sides of the sheet solid.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]normParam- Parameters list.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ Stamp()

MbResultType Stamp ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const MbStampParams params,
c3d::SolidSPtr result 
)

Stamping.

The stamping is created from one closed or open contour lying on a flat sheet face. A closed sketch can lie on the sheet face entirely or partially, and an open sketch must have the start and the end points outside the face. The stamping is trimmed by the boundary of the sheet face which contains the sketch.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- The parameters of stamping.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ StampWithToolSolid()

MbResultType StampWithToolSolid ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const c3d::SolidSPtr toolSolid,
MbeCopyMode  sameShellTool,
const MbStampWithToolParams params,
c3d::SolidSPtr result 
)

Stamping with a tool solid (punch or die).

The stamping is created based on a tool body and a flat sheet face. The stamping is trimmed by the boundary of the sheet face which contains the sketch.

Parameters
[in]solid- The source sheet solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]toolSolid- A shell of tool solid.
[in]sameShellTool- Whether to delete the shell of the tool solid.
[in]params- The parameters of stamping.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CreateSphericalStampParts()

MbResultType CreateSphericalStampParts ( const MbSphericalStampPartsParams params,
MbSphericalStampPartsResult resultSolids 
)

Creation of spherical stamping's components.

The spherical stamp is created by adding a convex part to the plate and subtructing a concave part from it. This function returns these parts as separate solids. It does not cut them with the edges of the face on which the contours lay.

Parameters
[in]params- The parameters of stamping.
[out]resultSolids- Added and deductible parts of the stamp.
Returns
- The operation result code.

◆ SphericalStamp()

MbResultType SphericalStamp ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const MbSphericalStampParams params,
c3d::SolidSPtr result 
)

Spherical stamping.

The stamping is created by the parameters and a center lying on a flat sheet face. The stamping is trimmed by the boundary of the sheet face which contains the sketch.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- The parameters of stamping.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CreateBeadParts()

MbResultType CreateBeadParts ( const MbFace face,
const MbPlacement3D placement,
const RPArray< MbContour > &  contours,
const SArray< MbCartPoint > &  centers,
const MbBeadValues params,
const double  thinkness,
const MbSNameMaker nameMaker,
MbSolid *&  partToAdd,
MbSolid *&  partToSubtract 
)

Creation of bead's components.

A bead is created by adding a convex part to the plate and subtructing a concave part from it. This function returns these parts as separate solids. It does not cut them with the edges of the face on which the contours lay.

Parameters
[in]face- A face by which bounding contours the bead should be cutted.
[in]placement- The local coordinate system of the contours.
[in]contours- The bead contours.
[in]centers- The spherical stamps centers.
[in]params- The bead parameters.
[in]thickness- The sheet metal thickness.
[in]nameMaker- The contours names.
[out]partToAdd- Added part of the bead.
[out]partToSubtract- Deductible part of the bead.
Returns
- The operation result code.

◆ CreateBead()

MbResultType CreateBead ( MbSolid solid,
MbeCopyMode  sameShell,
const MbFace face,
const MbPlacement3D placement,
const RPArray< MbContour > &  contours,
const SArray< MbCartPoint > &  centers,
const MbBeadValues params,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

A bead.

A bead is created from one or several closed or open sketches lying on a flat sheet face, as well as by points. If the sketch goes out of the face, the bead is trimmed by its boundary. A bead from an open sketch has two tips at the start and at the end points; the tips type is specified in the operation parameters. The bead by point looks like spherical stamp.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]face- The bead face.
[in]placement- The local coordinate system of the contours.
[in]contours- The bead contours.
[in]centers- The spherical stamps centers.
[in]params- The bead parameters.
[in]nameMaker- The contours names.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CreateJalousieParts()

MbResultType CreateJalousieParts ( const MbFace face,
const MbPlacement3D placement,
const RPArray< MbLineSegment > &  segments,
const MbJalousieValues params,
const double  thickness,
const MbSNameMaker nameMaker,
MbSolid *&  partToAdd,
MbSolid *&  partToSubtract 
)

Creation of jalousie's components.

A stratched jalousie is created by adding a convex part to the plate and subtructing a concave part from it. A cutted jalousie - vice versa by subtracting the rectangular part from the plate and then by adding the bent part to it. This function returns these parts as separate solids. If any part of the jalousie lay outside the plate it does not build.

Parameters
[in]face- A face by which bounding contours the bead should be cutted.
[in]placement- A local coordinate system of the segment.
[in]segments- The segments of jalousie.
[in]params- The parameters of jalousie.
[in]nameMaker- An object for naming the new objects.
[out]partToAdd- Added part of the jalousie.
[out]partToSubtract- Deductible part of the jalousie.
Returns
- The operation result code.

◆ CreateJalousie()

MbResultType CreateJalousie ( MbSolid solid,
MbeCopyMode  sameShell,
const MbFace face,
const MbPlacement3D placement,
const RPArray< MbLineSegment > &  segments,
const MbJalousieValues params,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

Jalousie.

Jalousie are crated from one or several line segments on a flat sheet face. Jalousie can't go out of the face boundary and can't crossed with itself. Jalousie can be of two types: stretch and cutting. A stretch looks like a half of a linear bead splitted lengthwise, and a cutting looks like a deflected slice.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]face- A face of jalousie.
[in]placement- A local coordinate system of the segment.
[in]segments- The segments of jalousie.
[in]params- The parameters of jalousie.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CreateRuledSolid()

MbResultType CreateRuledSolid ( MbRuledSolidValues parameters,
const MbSNameMaker nameMaker,
RPArray< MbSMBendNames > &  resultBends,
MbContour *&  resultContour,
MbSolid *&  resultSolid 
)

A ruled shell from a contour.

A ruled shell is created from a planar contour by extrusion with a slope to form a ruled surface in the general case, and then by supplying it with a thickness.

Parameters
[in]parameters- A ruled shell parameters.
[in]nameMaker- An object defining the main name of the operation.
[out]resultBends- The resultant bends.
[out]resultContour- 'Contour' rounded according to the parameters from 'resultBends'.
[out]resultSolid- The resultant solid.
Returns
- The operation result code.

◆ SheetSolidUnion()

MbResultType SheetSolidUnion ( MbSolid solid1,
const MbeCopyMode  sameShell1,
MbSolid solid2,
const MbeCopyMode  sameShell2,
const MbSNameMaker names,
MbSolid *&  result 
)

A union of sheet solids by a side face.

Connects the two sheet solids, if they touch each other by an only side face.

Parameters
[in]solid1- The first sheet solid.
[in]sameShell1- Whether to delete the shell of the first source solid.
[in]solid2- The second sheet solid.
[in]sameShell2- Whether to delete the shell of the second source solid.
[in]names- An object defining the main name of the operation.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CanUnionSheetSolids()

bool CanUnionSheetSolids ( const MbSolid solid1,
const MbSolid solid2 
)

Checks that solids are sheet and they can be connected by a side face.

The function completed successfully if it finds an only overlapping in space pair of side faces belonging to the first and the second solids.

Parameters
[in]solid1- The first sheet solid.
[in]solid2- The second sheet solid.
Returns
- true if the sheet solids can be connected, false - otherwise.

◆ RestoreSideEdges()

MbResultType RestoreSideEdges ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  outerFaces,
const bool  strict,
RPArray< MbSheetMetalBend > &  bends,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

Restore the side edges of the bends.

The operation is used for restoring of the side boundaries of bends after the constructions which could delete them, such as cutting or fillet.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]outerFaces- The external faces whose side edges are to be restored.
[in]strict- If 'strict' = false, the side edges are to be restored only when the error message is not generated during the operation.
[out]bends- The bends for which the side edges has been restored.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SeparateBendsBySubshells()

bool SeparateBendsBySubshells ( const MbSolid solid,
const RPArray< MbSheetMetalBend > &  bends,
const MbName fixedFaceName,
RPArray< RPArray< MbSheetMetalBend > > &  bendsGroups,
RPArray< const MbFace > &  fixedFaces 
)

Disjoint the bends by the common subshells.

The bends form 'bends' are grouped by belonging to different subshells of sheet solid 'solid'. As a result of the function a one-to-one correspondence is formed for the groups of bends and fixed faces corresponding to the groups.

Parameters
[in]solid- A sheet solid.
[in]bends- The bends.
[in]fixedFaceName- A fixed face name.
[out]bendsGroups- The bends subdivided into groups by belonging to different subshells.
[out]fixedFaces- The fixed faces corresponding to these subshells.
Returns
True if the operation succeeded, otherwise false.

◆ CollectBends()

bool CollectBends ( const MbFaceShell faceShell,
const RPArray< MbFace > &  innerFaces,
const RPArray< MbFace > &  outerFaces,
RPArray< MbSheetMetalBend > &  result 
)

Collect the pairs of faces of the bends.

The inner and the outer faces of a bend are searched among unordered set of external and internal faces of the bends; given these faces a bend is constructed and added to array 'bends'.

Parameters
[in]faceShell- A face set of the sheet solid.
[in]innerFaces- The inner faces of the bends.
[in]outerFaces- The outer faces of the bends.
[out]result- The face pairs forming the bends.
Returns
True if the operation succeeded, otherwise false.

◆ IsSuitableForFixed()

bool IsSuitableForFixed ( const MbFace face)

Determine whether a face can be chosen as a fixed face for bending/unbending.

The specified face is checked to be invariant while bending/unbending of all the bends.

Parameters
[in]-A face to check.
Returns
True - the face can be chosen as a fixed face, false - otherwise.

◆ FindCurveFaces()

void FindCurveFaces ( const RPArray< MbFace > &  faces,
const MbCurve3D curve,
RPArray< MbFace > &  result 
)

Find the faces containing the specified curve.

The curve 'curve' should be linear.

Parameters
[in]faces- A face set for search.
[in]curve- A curve lying on some of the faces.
[out]result- The faces containing the curve.

◆ FindSheetFace()

MbFace* FindSheetFace ( const MbCurveEdge edge)

Find the upper/lower face of a sheet solid that contains the specified edge.

Find the upper or the lower face of a sheet solid among two faces adjacent by edge 'edge'.

Parameters
[in]edge- A non-oriented edge of a sheet face.
Returns
A sheet face that has been found.

◆ FindPairBendFace()

MbFace* FindPairBendFace ( const MbFace face)

Find the pair face of a bend.

Find a sheet face opposite to the specified sheet face of a bend.

Parameters
[in]face- A sheet face of a bend.
Returns
The required pair face.

◆ GetPairPlanarFaceByEdge()

MbFace* GetPairPlanarFaceByEdge ( const MbCurveEdge curveEdge,
const double  begDistance,
const double  endDistance 
)

Find a planar pair sheet face given en edge.

The function of searching of a pair sheet face for the bend-on-edge operation. It is applied for multithickness sheet faces if the specified face corresponds to several pair faces at the different distances from it. The positive distances 'begDistance' and 'endDistance' mean that the distance is measured outside the edge, the negative ones means the distance inside the edge.

Parameters
[in]curveEdge- The edge for which to search.
[in]begDistance- The distance from the beginning of the edge.
[in]endDistance- The distance from the edge end.
Returns
The required face.

◆ GetPairPlanarFaceByCurve()

MbFace* GetPairPlanarFaceByCurve ( const MbFace sheetFace,
const MbCurve3D curve 
)

Find a planar pair sheet face given a three-dimensional curve.

The function of searching of a pair sheet face for the bend-along-a-line operation. It is applied for multithickness sheet faces if the specified face corresponds to several pair faces at the different distances from it.

Parameters
[in]sheetFace- A planar sheet face.
[in]curve- A linear curve lying on the face.
Returns
The required face.

◆ GetPairPlanarFaceByContour()

MbFace* GetPairPlanarFaceByContour ( const MbFaceShell shell,
const MbFace sheetFace,
const MbPlacement3D place,
const RPArray< const MbCurve > &  segments 
)

Find a planar pair sheet face given a contour.

The function of searching of a pair sheet face for the operations based on contours. It is applied for multithickness sheet faces if the specified face corresponds to several pair faces at the different distances from it.

Parameters
[in]shell- A shell of a sheet solid.
[in]sheetFace- A base sheet face.
[in]place- A local coordinate system on the face sheetFace.
[in]segments- Curves on XY-plane of the local coordinate system 'placement'.
Returns
The required face.

◆ GetPairPlanarFace()

MbFace* GetPairPlanarFace ( const MbFaceShell faceShell,
const MbFace sheetFace 
)

Find the planar pair sheet face.

The search is firstly performed among the faces adjacent by the edges of outer loop of face 'sheetFace', and, if it fails, among the faces adjacent by the vertices of the loop, and, if the face is not found again, the search among all the connected faces or faces from set 'faceShell' is used. In the last case the closest faces are preferable.

Parameters
[in]faceShell- A face set for search.
[in]sheetFace- The source planar face.
Returns
- The required planar face.

◆ GetDistanceIfSameAndOpposite()

double GetDistanceIfSameAndOpposite ( const MbFace face1,
const MbFace face2 
)

Compute the distance between faces.

Determines the distance between a pair of a similar faces. Similar faces is a pair of a planar, cylindrical or conic faces which normals are collinear and have the opposite directions. The distance is considered to be positive if the faces are located on the side opposite to the normal direction, and to be negative otherwise. If an error occurred, returns 0.0.

Parameters
[in]face1- The first face.
[in]face2- The second face.
Returns
- The distance between the faces.

◆ GetSimilarCylindricBends()

void GetSimilarCylindricBends ( const MbFaceShell shell,
RPArray< MbSheetMetalBend > &  bends 
)

Find the similar bends.

Bended cylindrical/conic bends are searched in sheet solid 'shell' which have to be added to bends 'bends' such that it will be possible to unbend the bends, i.e. the bends can be unbend only together.

Parameters
[in]shell- The face set for the search.
[in,out]bends- An array of similar bends.

◆ CalculateTangentPoint()

bool CalculateTangentPoint ( const MbFace face,
const MbPlane plane,
MbCartPoint tangentPoint 
)

Compute a tangent point for bend/unbend.

The tangent point is inside the face, i.e. 0.0<=x<=1.0 and 0.0<=y<=1.0, or outside the face. In the first case the tangent point is recomputed in the coordinates of the underlying surface of the face, in the second case one of the touching points of underlying surface of face 'face' and plane 'plane' is calculated.

Parameters
[in]face- The face containing the tangent point.
[in]plane- The tangent plane.
[in,out]tangentPoint- The tangent point.
Returns
True if the operation succeeded, otherwise false.

◆ CalculateConicAxisLine()

bool CalculateConicAxisLine ( const MbFace face,
MbLineSegment axisLineSegment 
)

Calculate the centerline of an unbended conic bend.

Returns the centerline in the coordinates of the parametric domain of the underlying plane of the face 'face'.

Parameters
[in]face- A sheet face of the unbended conic bend.
[out]axisLineSegment- The required centerline.
Returns
True if the operation succeeded, otherwise false.

◆ BuildBends3DCenterlines()

bool BuildBends3DCenterlines ( const MbBends3DLinesParams params,
MbBends3DLinesResult result 
)

Calculate the centerlines of unfolded bends.

Returns the 3D centerlines that lies on the unbent faces of the bends.

Parameters
[in]params- Input data for calculating centerlines of unfolded bends.
[out]result- The required centerlines.
Returns
True if the operation succeeded, otherwise false.

◆ GetParamsForCloseCorner() [1/3]

bool GetParamsForCloseCorner ( const RPArray< MbFace > &  facesPlus,
const RPArray< MbFace > &  facesMinus,
MbClosedCornerValues parameters,
MbCurveEdge *&  edgePlus,
MbCurveEdge *&  edgeMinus 
)

Calculate the parameters for the corner closure.

Find common edge for corner closure or two basic edges for corner closure across bend. Calculate the parameters for the corner closure of selected faces.

Deprecated:
The function is deprecated, instead use GetParamsForCloseCorner with parameters MbCloseCornerParams and MbCloseCornerResults.
Parameters
[in]facesPlus- Selected butt faces from the side of angle assumed to be positive.
[in]facesMinus- Selected butt faces from the side of angle assumed to be negative.
[out]parameters- The closure parameters.
[out]edgePlus- The bend edge assumed to be positive.
[out]edgeMinus- The bend edge assumed to be negative.
Returns
True if the operation succeeded, otherwise false.

◆ GetParamsForCloseCorner() [2/3]

bool GetParamsForCloseCorner ( const MbCurveEdge selectedEdgePlus,
const MbCurveEdge selectedEdgeMinus,
MbClosedCornerValues parameters,
MbCurveEdge *&  edgePlus,
MbCurveEdge *&  edgeMinus 
)

Calculate the parameters for the corner closure.

Find common edge for corner closure or two basic edges for corner closure across bend.

Deprecated:
The function is deprecated, instead use GetParamsForCloseCorner with parameters MbCloseCornerParams and MbCloseCornerResults.
Parameters
[in]selectedEdgePlus- Selected edge from the side of angle assumed to be positive.
[in]selectedEdgeMinus- Selected edge from the side of angle assumed to be negative.
[out]parameters- The closure parameters.
[out]edgePlus- The bend edge assumed to be positive.
[out]edgeMinus- The bend edge assumed to be negative. GetParamsForCloseCorner
Returns
True if the operation succeeded, otherwise false.

◆ GetParamsForCloseCorner() [3/3]

bool GetParamsForCloseCorner ( const MbCloseCornerParams params,
MbCloseCornerResults result 
)

Calculate the parameters for the corner closure.

Find common edge for corner closure or two basic edges for corner closure across bend.

Parameters
[in]params- Selected data (edges or faces) for the sides of the corner assumed to be positive and negative.
[out]result- Calculated closure parameters.
Returns
True if the operation succeeded, otherwise false.

◆ CalculateSegmentationParameter()

double CalculateSegmentationParameter ( const MbCurve curve,
const MbeSegmentationMethod  method,
const double  param,
const MbeSegmentationMethod  newMethod 
)

Calculate parameter of segmentation.

Calculate parameter of segmentation for the new method. Result of the segmentation doesn't change.

Parameters
[in]curve- Curve (arc).
[in]method- Segmentation method.
[in]param- Segmentation parameter.
[in]newMethod- Segmentation method to calculate parameter for.
Returns
newParam - Calculated parameter.

◆ SplitContourIntoSegments()

MbResultType SplitContourIntoSegments ( const MbCurve curve,
const size_t  segmNumber,
MbContour *&  resultContour 
)

Split every arc of the contour into segments.

Split every arc of the contour into segments.

Parameters
[in]contour- A curve or a contour.
[in]segmNumber- Number of segments for splitting every arc in the contour.
[out]resultContour- Segmented contour.
Returns
- The operation result code.

◆ SplitContoursIntoSegments()

MbResultType SplitContoursIntoSegments ( MbContour contour1,
SArray< double > &  breaks1,
MbContour contour2,
SArray< double > &  breaks2,
MbSNameMaker names,
const SArray< size_t > &  segmNumbers1,
const SArray< size_t > &  segmNumbers2,
const size_t  defSegmNumb,
const double  gapValue 
)

Split a part of a contours (an arc) into segments.

Split a part of a contours (an arc) into segments.

Parameters
[in,out]contour1- First contour.
[in,out]breaks1- Parameters of a partition of the first contour.
[in,out]contour2- Second contour.
[in,out]breaks2- Parameters of a partition of the second contour.
[in,out]names- Name maker.
[in]segmNumbers1- Number of the linear segments for each segment of the lofted bend after splitting by breaks1.
[in]segmNumbers2- Number of the linear segments for each segment of the lofted bend after splitting by breaks2.
[in]defSegmNumb- Number of segments after splitting, if not defined in segmNumbers1 и segmNumbers2.
[in]gapValue- The gap width.
Returns
- The operation result code.

◆ FillBendNamesArray()

bool FillBendNamesArray ( const MbContour contour1,
const MbPlacement3D placement1,
const SArray< double > &  breaks1,
const MbContour contour2,
const MbPlacement3D placement2,
const SArray< double > &  breaks2,
const MbSNameMaker nameMaker,
RPArray< MbSMBendNames > &  bendNames 
)

Fill the array of MbSMBendNames.

Fill the array of MbSMBendNames.

Parameters
[in]contour1- First contour.
[in]placement1- Placement if the first contour.
[in]breaks1- Parameters of a partition of the first contour.
[in]contour2- Second contour.
[in]placement2- Placement if the second contour.
[in]breaks2- Parameters of a partition of the second contour.
[in]nameMaker- Names of the faces of the ruled surface.
[out]bendNames- Array of the bends parameters.
Returns
True if the operation succeeded, otherwise false.

◆ MakeContour()

MbContour3D* MakeContour ( const MbPlacement3D placement,
const MbContour contour,
const SArray< double > &  breaks,
MbSNameMaker names 
)

To create 3D contour by 2D contour with splitting.

Splits the contour by points corresponding parameters breaks and makes 3D contour that lies on the placement.

Parameters
[in]placement- Placement of the contour.
[in]contour- The contour.
[in]breaks- Parameters of a partition of the contour.
[in,out]names- Names of the segments of the contour.
Returns
Splitted with array breaks 3D contour.

◆ MakeSheetRiContourByTwoSides()

bool MakeSheetRiContourByTwoSides ( const MbCurveEdge bendEdge,
const double  bendAngle,
const double  l1,
const double  l2,
const double  bRatio,
const double  rad,
const bool  dir,
const double  t,
MbPlacement3D placement,
MbContour contour,
double &  bMax 
)

Create the contour of rib by side distances.

Create the 2D contour of rib and placement by side distances.
The placement origin is placed on intersection of plane internal sides of bend.

Parameters
[in]bendEdge- The edge on internal bend face.
[in]bendAngle- The bend angle.
[in]l1- The length along first side of rib section.
[in]l2- The length along second side of rib section.
[in]bRatio- Relative value of contour bending defined in the range from 0 to 1 (0 - no bend, 1 - maximum bend).
[in]rad- The contour fillet radius.
[in]dir- Direction of first side of rib section.
[in]t- Parameter on internal bend edge.
[out]placement- Placement of the contour.
[out]contour- The contour of sheet rib solid.
[out]bMax- The distance along bisectrix of bend angle between unbended contour and sheet solid.
Returns
True if the operation succeeded, otherwise false.

◆ MakeSheetRiContourBySideAndAngle()

bool MakeSheetRiContourBySideAndAngle ( const MbCurveEdge bendEdge,
const double  bendAngle,
const double  l1,
const double  a,
const double  bRatio,
const double  rad,
const bool  dir,
const double  t,
MbPlacement3D placement,
MbContour contour,
double &  bMax 
)

Create the contour of rib by distance and slope angle.

Create the 2D contour of rib and placement by distance and slope angle.
The placement origin is placed on intersection of plane internal sides of bend.

Parameters
[in]bendEdge- The edge on internal bend face.
[in]bendAngle- The bend angle.
[in]l1- The length along first side of rib section.
[in]a- The contour slope angle.
[in]bRatio- Relative value of contour bending defined in the range from 0 to 1 (0 - no bend, 1 - maximum bend).
[in]rad- The contour fillet radius.
[in]dir- Direction of first side of rib section.
[in]t- Parameter on internal bend edge.
[out]placement- Placement of the contour.
[out]contour- The contour of sheet rib solid.
[out]bMax- The distance along bisectrix of bend angle between unbended contour and sheet solid.
Returns
True if the operation succeeded, otherwise false.

◆ MakeSheetRiContourByDepthAndAngle()

bool MakeSheetRiContourByDepthAndAngle ( const MbCurveEdge bendEdge,
const double  bendAngle,
const double  h,
const double  a,
const double  bRatio,
const double  rad,
const bool  dir,
const double  t,
MbPlacement3D placement,
MbContour contour,
double &  bMax 
)

Create the contour of rib by depth and slope angle.

Create the 2D contour of rib and placement by depth and slope angle.
The placement origin is placed on intersection of plane internal sides of bend.

Parameters
[in]bendEdge- The edge on internal bend face.
[in]bendAngle- The bend angle.
[in]h- The depth of rib section.
[in]a- The contour slope angle.
[in]bRatio- Relative value of contour bending defined in the range from 0 to 1 (0 - no bend, 1 - maximum bend).
[in]rad- The contour fillet radius.
[in]dir- Direction of first side of rib section.
[in]t- Parameter on internal bend edge.
[out]placement- Placement of the contour.
[out]contour- The contour of sheet rib solid.
[out]bMax- The distance along bisectrix of bend angle between unbended contour and sheet solid.
Returns
True if the operation succeeded, otherwise false.

◆ SheetRibParts()

MbResultType SheetRibParts ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const MbSheetRibSolidParams params,
c3d::SolidSPtr partToAdd,
c3d::SolidSPtr partToSubtract 
)

Create rib parts of a sheet solid.

Create rib parts of a sheet solid.
The function creates a rib from a given contour and then extructs its elements from the body, healing rip borders with patches.

Parameters
[in]solid- The source sheet solid.
[in]sameShell- Whether to copy the input sheet solid.
[in]params- Parameters for creating a sheet solid with rib.
[out]partToAdd- The adding rib element.
[out]partToSubtract- The subtracting rib element.
Returns
Returns operation result code.

◆ SheetRibSolid()

MbResultType SheetRibSolid ( const c3d::SolidSPtr solid,
MbeCopyMode  sameShell,
const MbSheetRibSolidParams params,
c3d::SolidSPtr result 
)

Create a sheet solid with rib.

Create a sheet solid with a sheet rib.
The function creates a rib from a given contour and unites it with the source sheet solid. The segment of the contour with the given number determines the slope vector.

Parameters
[in]solid- The source sheet solid.
[in]sameShell- Whether to copy the input sheet solid.
[in]params- Parameters for creating a sheet solid with rib.
[out]result- The resultant sheet solid.
Returns
Returns operation result code.

◆ BendAnySolid()

MbResultType BendAnySolid ( MbSolid solid,
const MbeCopyMode  sameShell,
const MbPlane cutPlane,
const SArray< MbAnyBend > &  bends,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

Cut the solid with the cutting planes and bend the resulting parts according to given parameters.

The cutPlane is the the beginning of a chain of bends borders. The axis of the cylindrical bend is defined using bends[0].origin and bends[0].vector on it.
The direction of the axis is chosen so that when turning it 90 degrees (turning in the positive direction) it will be directed towards the bendable body.
bends[0].width is the width of the bend in the unfolded position, and bends[0].neutralRadius is the distance from the bend axis to the layer, which will not deform when folded.
The border of the next fold is a cutPlane offset by bends[0].width along the normal, that is, the opposite border of the previous bend.
On this new plane, the MbAnyBend parameters for the second bend are set in the same way, and so on for the entire chain of bends.
If it is necessary to specify an unbendable (flat) section between the bends following each other, then it is necessary to zero the coordinates of origin, vector and the value of neutralRadius,
and in the width field, put the width of the flat section.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]cutPlane- The first cutting plane.
[in]bends- An array of bends which consist of cutting plane and bend parameters.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ SimplifyFlatPattern()

MbResultType SimplifyFlatPattern ( MbSolid solid,
const MbeCopyMode  sameShell,
const MbSimplifyFlatPatternValues params,
const MbSNameMaker nameMaker,
MbSolid *&  result 
)

Simplify flattened sheet solid.

Simplify flattened sheet solid.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- The operation parameters.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ RemoveOperationResult()

MbResultType RemoveOperationResult ( MbSolid solid,
const MbeCopyMode  sameShell,
const MbRemoveOperationResultParams params,
SPtr< MbSolid > &  result 
)

Remove the result operation with name "removeName".

The operation deletes the faces that have main name equal to "mainName" and then closes up the holes that remain after the first stage of the operation.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- Operation parameters.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ ConvertSolidToSheetMetal()

MbResultType ConvertSolidToSheetMetal ( c3d::SolidSPtr solid,
const MbeCopyMode  sameShell,
MbSolidToSheetMetalParams parameters,
c3d::SolidSPtr result 
)

Construct sheet metal solid based on an arbitrary solid.

The operation builds a sheet metal solid based on an arbitrary solid.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in,out]parameters- Operation parameters.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ NormalizeHolesSides() [1/2]

MbCreator* NormalizeHolesSides ( MbFaceShell *&  initialShell,
const MbeCopyMode  sameShell,
const MbSNameMaker nameMaker,
bool  cutOnly,
MbResultType res,
MbFaceShell *&  shell 
)

Normalize of the holes of sheet solid.

Normalize of the holes of sheet solid.

Parameters
[in]initialShell- The source shell.
[in]sameShell- Whether to delete the shell of the source solid.
[in]nameMaker- An object for naming the new objects.
[in]cutOnly- Normalize only cut.
[out]res- Operation result code.
[out]shell- The resultant shell.
Returns
Returns the shell constructor.

◆ NormalizeHolesSides() [2/2]

MbCreator* NormalizeHolesSides ( c3d::ShellSPtr initialShell,
const MbeCopyMode  sameShell,
const MbNormalizeCutSidesParams normParam,
MbResultType res,
c3d::ShellSPtr shell 
)

Normalize of the holes of sheet solid.

Normalize of the holes of sheet solid.

Parameters
[in]initialShell- The source shell.
[in]sameShell- Whether to delete the shell of the source solid.
[in]normParam- Parameters list.
[out]shell- The resultant shell.
Returns
Returns the shell constructor.

◆ CreateSimplifiedFlatPattern()

MbCreator* CreateSimplifiedFlatPattern ( MbFaceShell initialShell,
const MbeCopyMode  sameShell,
const MbSimplifyFlatPatternValues params,
const MbSNameMaker nameMaker,
MbResultType res,
MbFaceShell *&  shell 
)

Simplify flattened sheet solid.

Simplify flattened sheet solid.

Parameters
[in]solid- The source solid.
[in]sameShell- Whether to delete the shell of the source solid.
[in]params- The operation parameters.
[in]nameMaker- An object for naming the new objects.
[out]result- The resultant solid.
Returns
- The operation result code.

◆ CreateSheetRibParts()

MbResultType CreateSheetRibParts ( const c3d::ShellSPtr solid,
MbeCopyMode  sameShell,
const MbSheetRibSolidParams params,
c3d::ShellSPtr shellToAdd,
c3d::ShellSPtr shellToSubtract 
)

Create rib parts of a shell.

Create rib parts of a sheet shell.
The function creates a rib from a given contour and then extructs its elements from the body, healing rip borders with patches.

Parameters
[in]solid- The source shell.
[in]sameShell- Method of copying the source shell faces.
[in]params- Parameters for creating a sheet shell with rib.
[out]shellToAdd- The adding rib element.
[out]shellToSubtract- The subtracting rib element.
Returns
Returns operation result code.