C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
A corner enclosure. More... | |
MbResultType | CutSolidArrayByBorders (MbSolid &solidArray, const MbeCopyMode sameShells, const MbCutSolidArrayByBordersParams ¶ms, c3d::SolidSPtr &resultSolid) |
Cutting the solidArray with contours of plane sheet faces of sheetSolid form params. More... | |
MbResultType | CreateStampParts (const MbStampPartsParams ¶ms, MbStampPartsResult &resultSolids) |
Creation of stamping's components. More... | |
MbResultType | CreateStampWithToolSolidParts (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolPartsParams ¶ms, 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 ¶ms, c3d::SolidSPtr &result) |
Stamping. More... | |
MbResultType | StampWithToolSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolParams ¶ms, c3d::SolidSPtr &result) |
Stamping with a tool solid (punch or die). More... | |
MbResultType | CreateSphericalStampParts (const MbSphericalStampPartsParams ¶ms, MbSphericalStampPartsResult &resultSolids) |
Creation of spherical stamping's components. More... | |
MbResultType | SphericalStamp (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSphericalStampParams ¶ms, c3d::SolidSPtr &result) |
Spherical stamping. More... | |
MbResultType | CreateBeadParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbContour > &contours, const SArray< MbCartPoint > ¢ers, const MbBeadValues ¶ms, 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 > ¢ers, const MbBeadValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
A bead. More... | |
MbResultType | CreateJalousieParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues ¶ms, 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 ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Jalousie. More... | |
MbResultType | CreateRuledSolid (MbRuledSolidValues ¶meters, 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... | |
MbFace * | FindSheetFace (const MbCurveEdge &edge) |
Find the upper/lower face of a sheet solid that contains the specified edge. More... | |
MbFace * | FindPairBendFace (const MbFace &face) |
Find the pair face of a bend. More... | |
MbFace * | GetPairPlanarFaceByEdge (const MbCurveEdge &curveEdge, const double begDistance, const double endDistance) |
Find a planar pair sheet face given en edge. More... | |
MbFace * | GetPairPlanarFaceByCurve (const MbFace &sheetFace, const MbCurve3D &curve) |
Find a planar pair sheet face given a three-dimensional curve. More... | |
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. More... | |
MbFace * | GetPairPlanarFace (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 ¶ms, MbBends3DLinesResult &result) |
Calculate the centerlines of unfolded bends. More... | |
bool | GetParamsForCloseCorner (const RPArray< MbFace > &facesPlus, const RPArray< MbFace > &facesMinus, MbClosedCornerValues ¶meters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus) |
Calculate the parameters for the corner closure. More... | |
bool | GetParamsForCloseCorner (const MbCurveEdge &selectedEdgePlus, const MbCurveEdge &selectedEdgeMinus, MbClosedCornerValues ¶meters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus) |
Calculate the parameters for the corner closure. More... | |
bool | GetParamsForCloseCorner (const MbCloseCornerParams ¶ms, 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... | |
MbContour3D * | MakeContour (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 ¶ms, c3d::SolidSPtr &partToAdd, c3d::SolidSPtr &partToSubtract) |
Create rib parts of a sheet solid. More... | |
MbResultType | SheetRibSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams ¶ms, 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 ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Simplify flattened sheet solid. More... | |
MbResultType | RemoveOperationResult (MbSolid &solid, const MbeCopyMode sameShell, const MbRemoveOperationResultParams ¶ms, SPtr< MbSolid > &result) |
Remove the result operation with name "removeName". More... | |
MbResultType | ConvertSolidToSheetMetal (c3d::SolidSPtr &solid, const MbeCopyMode sameShell, MbSolidToSheetMetalParams ¶meters, c3d::SolidSPtr &result) |
Construct sheet metal solid based on an arbitrary solid. More... | |
MbCreator * | NormalizeHolesSides (MbFaceShell *&initialShell, const MbeCopyMode sameShell, const MbSNameMaker &nameMaker, bool cutOnly, MbResultType &res, MbFaceShell *&shell) |
Normalize of the holes of sheet solid. More... | |
MbCreator * | NormalizeHolesSides (c3d::ShellSPtr &initialShell, const MbeCopyMode sameShell, const MbNormalizeCutSidesParams &normParam, MbResultType &res, c3d::ShellSPtr &shell) |
Normalize of the holes of sheet solid. More... | |
MbCreator * | CreateSimplifiedFlatPattern (MbFaceShell &initialShell, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues ¶ms, const MbSNameMaker &nameMaker, MbResultType &res, MbFaceShell *&shell) |
Simplify flattened sheet solid. More... | |
MbResultType | CreateSheetRibParts (const c3d::ShellSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams ¶ms, c3d::ShellSPtr &shellToAdd, c3d::ShellSPtr &shellToSubtract) |
Create rib parts of a shell. More... | |
enum MbeBendWidthType |
The method of bend width definition.
The method of bend width definition.
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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'.
[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. |
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.
[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. |
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.
[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. |
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.
[in] | params | - The parameters of stamping. |
[out] | resultSolids | - Added and deductible parts of the stamp. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[in] | params | - The parameters of stamping. |
[out] | resultSolids | - Added and deductible parts of the stamp. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[in] | solid1 | - The first sheet solid. |
[in] | solid2 | - The second sheet solid. |
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.
[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. |
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.
[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. |
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'.
[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. |
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.
[in] | - | A face to check. |
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.
[in] | faces | - A face set for search. |
[in] | curve | - A curve lying on some of the faces. |
[out] | result | - The faces containing the curve. |
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'.
[in] | edge | - A non-oriented edge of a sheet face. |
Find the pair face of a bend.
Find a sheet face opposite to the specified sheet face of a bend.
[in] | face | - A sheet face of a bend. |
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.
[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. |
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.
[in] | sheetFace | - A planar sheet face. |
[in] | curve | - A linear curve lying on the face. |
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.
[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'. |
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.
[in] | faceShell | - A face set for search. |
[in] | sheetFace | - The source planar face. |
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.
[in] | face1 | - The first face. |
[in] | face2 | - The second face. |
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.
[in] | shell | - The face set for the search. |
[in,out] | bends | - An array of similar bends. |
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.
[in] | face | - The face containing the tangent point. |
[in] | plane | - The tangent plane. |
[in,out] | tangentPoint | - The tangent point. |
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'.
[in] | face | - A sheet face of the unbended conic bend. |
[out] | axisLineSegment | - The required centerline. |
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.
[in] | params | - Input data for calculating centerlines of unfolded bends. |
[out] | result | - The required centerlines. |
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.
[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. |
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.
[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 |
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.
[in] | params | - Selected data (edges or faces) for the sides of the corner assumed to be positive and negative. |
[out] | result | - Calculated closure parameters. |
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.
[in] | curve | - Curve (arc). |
[in] | method | - Segmentation method. |
[in] | param | - Segmentation parameter. |
[in] | newMethod | - Segmentation method to calculate parameter for. |
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.
[in] | contour | - A curve or a contour. |
[in] | segmNumber | - Number of segments for splitting every arc in the contour. |
[out] | resultContour | - Segmented contour. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
MbResultType SimplifyFlatPattern | ( | MbSolid & | solid, |
const MbeCopyMode | sameShell, | ||
const MbSimplifyFlatPatternValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Simplify flattened sheet solid.
Simplify flattened sheet solid.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |