C3D Toolkit
Kernel - 117936, Vision - 2.7.0.41
|
Классы | |
class | MbJointBendUtils |
Вспомогательные функции для построения комбинированного сгиба (сгиба по эскизу). Подробнее... | |
class | MbBeadParamCalculator |
Расчётчик зависимого параметра буртика. Подробнее... | |
class | MbKCalculator |
Расчётчик коэффициента нейтрального слоя. Подробнее... | |
class | MbDisplacementCalculator |
Расчётчик смещения сгиба. Подробнее... | |
class | MbJalousieParamCalculator |
Расчётчик параметров подрезанных жалюзи. Подробнее... | |
class | MbCloseCornerGapHotPointCalc |
Расчётчик расположения хот-точки для зазора замыкания углов. Подробнее... | |
class | MbRuledShellGapCalc |
Расчётчик расположения хот-точки для зазора замыкания углов. Подробнее... | |
class | MbSheetRibHotPointCalculator |
Расчётчик расположения хот-точек для ребра жесткости листового тела. Подробнее... | |
Перечисления | |
enum | MbeSegmentationMethod { sm_Quantity , sm_Length , sm_Angle , sm_Height } |
Способ сегментации эскиза. Подробнее... | |
enum | MbeBendWidthType { bwt_KFactor , bwt_Allowance , bwt_Deduction , bwt_Table } |
Способ задания ширины сгиба. Подробнее... | |
enum | MbeStampingCreatedType { sct_add , sct_substact , sct_all } |
Тип создаваемой части штамповки. Подробнее... | |
Функции | |
MbResultType | BendSheetSolidOverSegment (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &bendingFaces, MbCurve3D &curve, bool unbended, const MbBendOverSegValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Сгиб листового тела по линии. Подробнее... | |
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) |
Подсечка. Подробнее... | |
MbResultType | BendSheetSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbSheetMetalBend > &bends, const MbFace &fixedFace, const MbCartPoint &fixedPoint, const MbSNameMaker &nameMaker, MbSolid *&result) |
Согнуть сгибы листового тела. Подробнее... | |
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) |
Разогнуть сгибы листового тела. Подробнее... | |
MbResultType | CreateSheetSolid (const MbPlacement3D &placement, RPArray< MbContour > &contours, bool unbended, const MbSheetMetalValues ¶ms, RPArray< MbSNameMaker > *nameMakers, RPArray< MbSMBendNames > &resultBends, MbSolid *&result) |
Создать листовое тело. Подробнее... | |
MbResultType | SheetSolidPlate (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues ¶ms, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result) |
Добавление пластины к листовому телу. Подробнее... | |
MbResultType | SheetSolidHole (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues ¶ms, bool diff, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result) |
Вырез отверстия в листовом теле. Подробнее... | |
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) |
Сгиб на ребре. Подробнее... | |
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) |
Комбинированный сгиб листового тела. Подробнее... | |
MbResultType | CloseCorner (MbSolid &solid, MbeCopyMode sameShell, MbCurveEdge *curveEdgePlus, MbCurveEdge *curveEdgeMinus, const MbClosedCornerValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Замыкание угла. Подробнее... | |
MbResultType | CutSolidArrayByBorders (MbSolid &solidArray, const MbeCopyMode sameShells, const MbCutSolidArrayByBordersParams ¶ms, c3d::SolidSPtr &resultSolid) |
Подрезка массива тела solidArray контурами плоских листовых граней тела sheetSolid из params. Подробнее... | |
MbResultType | CreateStampParts (const MbFace *face, const MbPlacement3D &placement, const MbContour &contour, const MbStampingValues ¶ms, const double thickness, const MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract) |
Создание составляющих частей штамповки. Подробнее... | |
MbResultType | CreateStampParts (const MbStampPartsParams ¶ms, MbStampPartsResult &resultSolids) |
Создание составляющих частей штамповки. Подробнее... | |
MbResultType | CreateStampWithToolSolidParts (MbSolid &solid, MbeCopyMode sameShell, const MbFace &targetFace, MbSolid &toolSolid, MbeCopyMode sameShellTool, bool punch, bool removeOriginalStamp, const RPArray< MbFace > &pierceFaces, const MbToolStampingValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&partsToAdd, MbSolid *&partsToSubtract) |
Создание составляющих частей штамповки одного тела другим телом. Подробнее... | |
MbResultType | CreateStampWithToolSolidParts (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolPartsParams ¶ms, MbStampWithToolPartsResult &resultSolids) |
Создание составляющих частей штамповки одного тела другим телом. Подробнее... | |
MbResultType | NormalizeCutSides (MbSolid &solid, MbeCopyMode sameShell, const MbSNameMaker &nameMaker, MbSolid *&result) |
Нормализовать кромки выреза листового тела. Подробнее... | |
MbResultType | NormalizeCutSides (MbSolid &solid, MbeCopyMode sameShell, const MbNormalizeCutSidesParams &normParam, c3d::SolidSPtr &result) |
Нормализовать кромки выреза листового тела. Подробнее... | |
MbResultType | Stamp (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const MbContour &contour, const MbStampingValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Штамповка. Подробнее... | |
MbResultType | Stamp (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbStampParams ¶ms, c3d::SolidSPtr &result) |
Штамповка. Подробнее... | |
MbResultType | StampWithToolSolid (MbSolid &solid, MbeCopyMode sameShell, const MbFace &targetFace, MbSolid &toolSolid, MbeCopyMode sameShellTool, bool punch, const RPArray< MbFace > &pierceFaces, const MbToolStampingValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Штамповка телом-инструментом (пуансоном или матрицей). Подробнее... | |
MbResultType | StampWithToolSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const c3d::SolidSPtr &toolSolid, MbeCopyMode sameShellTool, const MbStampWithToolParams ¶ms, c3d::SolidSPtr &result) |
Штамповка телом-инструментом (пуансоном или матрицей). Подробнее... | |
MbResultType | CreateSphericalStampParts (const MbSphericalStampPartsParams ¶ms, MbSphericalStampPartsResult &resultSolids) |
Создание составляющих частей сферической штамповки. Подробнее... | |
MbResultType | CreateSphericalStampParts (const MbFace *face, const MbPlacement3D &placement, const MbStampingValues ¶ms, const double thickness, const MbCartPoint ¢er, const MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract) |
Создание составляющих частей сферической штамповки. Подробнее... | |
MbResultType | SphericalStamp (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSphericalStampParams ¶ms, c3d::SolidSPtr &result) |
Сферическая штамповка. Подробнее... | |
MbResultType | SphericalStamp (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const MbStampingValues ¶ms, const MbCartPoint ¢er, const MbSNameMaker &nameMaker, MbSolid *&result) |
Сферическая штамповка. Подробнее... | |
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) |
Создание составляющих частей буртика. Подробнее... | |
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) |
Буртик. Подробнее... | |
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) |
Создание составляющих частей жалюзи. Подробнее... | |
MbResultType | CreateJalousie (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Жалюзи. Подробнее... | |
MbResultType | CreateRuledSolid (MbRuledSolidValues ¶meters, const MbSNameMaker &nameMaker, RPArray< MbSMBendNames > &resultBends, MbContour *&resultContour, MbSolid *&resultSolid) |
Обечайка по контуру. Подробнее... | |
MbResultType | SheetSolidUnion (MbSolid &solid1, const MbeCopyMode sameShell1, MbSolid &solid2, const MbeCopyMode sameShell2, const MbSNameMaker &names, MbSolid *&result) |
Объединение листовых тел по торцевой грани. Подробнее... | |
bool | CanUnionSheetSolids (const MbSolid &solid1, const MbSolid &solid2) |
Проверяет, что тела листовые и их можно объединить по торцевой грани. Подробнее... | |
MbResultType | RestoreSideEdges (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &outerFaces, const bool strict, RPArray< MbSheetMetalBend > &bends, const MbSNameMaker &nameMaker, MbSolid *&result) |
Восстановить боковые рёбра сгибов. Подробнее... | |
bool | SeparateBendsBySubshells (const MbSolid &solid, const RPArray< MbSheetMetalBend > &bends, const MbName &fixedFaceName, RPArray< RPArray< MbSheetMetalBend > > &bendsGroups, RPArray< const MbFace > &fixedFaces) |
Разделить сгибы по подоболочкам. Подробнее... | |
bool | CollectBends (const MbFaceShell &faceShell, const RPArray< MbFace > &innerFaces, const RPArray< MbFace > &outerFaces, RPArray< MbSheetMetalBend > &result) |
Разбить грани сгибов по парам. Подробнее... | |
bool | IsSuitableForFixed (const MbFace &face) |
Проверить, что грань может быть выбрана в качестве фиксированной при сгибе/разгибе. Подробнее... | |
void | FindCurveFaces (const RPArray< MbFace > &faces, const MbCurve3D &curve, RPArray< MbFace > &result) |
Найти грани, на которых лежит кривая. Подробнее... | |
MbFace * | FindSheetFace (const MbCurveEdge &edge) |
Найти верхнюю/нижнюю грань листового тела, содержащую ребро. Подробнее... | |
MbFace * | FindPairBendFace (const MbFace &face) |
Найти парную грань сгиба. Подробнее... | |
MbFace * | GetPairPlanarFaceByEdge (const MbCurveEdge &curveEdge, const double begDistance, const double endDistance) |
Найти плоскую парную листовую грань по ребру. Подробнее... | |
MbFace * | GetPairPlanarFaceByCurve (const MbFace &sheetFace, const MbCurve3D &curve) |
Найти плоскую парную листовую грань по трёхмерной кривой. Подробнее... | |
MbFace * | GetPairPlanarFaceByContour (const MbFaceShell &shell, const MbFace &sheetFace, const MbPlacement3D &place, const RPArray< const MbCurve > &segments) |
Найти плоскую парную листовую грань по контуру. Подробнее... | |
MbFace * | GetPairPlanarFace (const MbFaceShell *faceShell, const MbFace &sheetFace) |
Найти плоскую парную листовую грань. Подробнее... | |
double | GetDistanceIfSameAndOpposite (const MbFace &face1, const MbFace *face2) |
Рассчитать расстояние между гранями. Подробнее... | |
void | GetSimilarCylindricBends (const MbFaceShell &shell, RPArray< MbSheetMetalBend > &bends) |
Найти подобные сгибы. Подробнее... | |
bool | CalculateTangentPoint (const MbFace &face, const MbPlane &plane, MbCartPoint &tangentPoint) |
Рассчитать касательную точку для сгиба/разгиба. Подробнее... | |
bool | CalculateConicAxisLine (const MbFace &face, MbLineSegment &axisLineSegment) |
Рассчитать осевую линию разогнутого конического сгиба. Подробнее... | |
bool | BuildBends3DAxisLines (const RPArray< MbFace > &bendFaces, RPArray< MbLineSegment3D > &axisLineSegments) |
Рассчитать осевую линию разогнутых сгибов. Подробнее... | |
bool | BuildBends3DCenterlines (const RPArray< MbFace > &bendFaces, RPArray< MbCurve3D > ¢erlines) |
Рассчитать осевые линии разогнутых сгибов. Подробнее... | |
bool | BuildBends3DCenterlines (const MbBends3DLinesParams ¶ms, MbBends3DLinesResult &result) |
Рассчитать осевые линии разогнутых сгибов. Подробнее... | |
bool | GetParamsForCloseCorner (const RPArray< MbFace > &facesPlus, const RPArray< MbFace > &facesMinus, MbClosedCornerValues ¶meters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus) |
Рассчитать параметры для замыкания угла. Подробнее... | |
bool | GetParamsForCloseCorner (const MbCurveEdge &selectedEdgePlus, const MbCurveEdge &selectedEdgeMinus, MbClosedCornerValues ¶meters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus) |
Рассчитать параметры для замыкания угла. Подробнее... | |
bool | GetParamsForCloseCorner (const MbCloseCornerParams ¶ms, MbCloseCornerResults &result) |
Рассчитать параметры для замыкания угла. Подробнее... | |
double | CalculateSegmentationParameter (const MbCurve &curve, const MbeSegmentationMethod method, const double param, const MbeSegmentationMethod newMethod) |
Вычислить параметр сегментации кривой. Подробнее... | |
MbResultType | SplitContourIntoSegments (const MbCurve &curve, const size_t segmNumber, MbContour *&resultContour) |
Аппроксимировать дуги контура ломаной. Подробнее... | |
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) |
Аппроксимировать участки контуров (дуги) ломаной. Подробнее... | |
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) |
Заполнить массив сгибов. Подробнее... | |
MbContour3D * | MakeContour (const MbPlacement3D &placement, const MbContour &contour, const SArray< double > &breaks, MbSNameMaker &names) |
Создать трехмерный контур по двумерному с учётом разбиения. Подробнее... | |
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) |
Создать контур ребра жесткости по двум сторонам. Подробнее... | |
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) |
Создать контур ребра жесткости по стороне и углу. Подробнее... | |
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) |
Создать контур ребра жесткости по глубине и углу. Подробнее... | |
MbResultType | SheetRibParts (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, size_t index, SheetRibValues &pars, const MbSNameMaker &names, MbSolid *&partToAdd, MbSolid *&partToSubtract) |
Создание элементов ребра жёсткости листового тела. Подробнее... | |
MbResultType | SheetRibParts (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams ¶ms, c3d::SolidSPtr &partToAdd, c3d::SolidSPtr &partToSubtract) |
Создание элементов ребра жёсткости листового тела. Подробнее... | |
MbResultType | SheetRibSolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, size_t index, SheetRibValues &pars, const MbSNameMaker &names, MbSolid *&result) |
Создание тела с листовым ребром жесткости. Подробнее... | |
MbResultType | SheetRibSolid (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams ¶ms, c3d::SolidSPtr &result) |
Создание тела с листовым ребром жесткости. Подробнее... | |
MbResultType | BendAnySolid (MbSolid &solid, const MbeCopyMode sameShell, const MbPlane &cutPlane, const SArray< MbAnyBend > &bends, const MbSNameMaker &nameMaker, MbSolid *&result) |
Разрезать тело секущими плоскостями и согнуть получившиеся сегменты согласно заданным параметрам. Подробнее... | |
MbResultType | SimplifyFlatPattern (MbSolid &solid, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues ¶ms, const MbSNameMaker &nameMaker, MbSolid *&result) |
Упростить развёртку листового тела. Подробнее... | |
MbResultType | RemoveOperationResult (MbSolid &solid, const MbeCopyMode sameShell, const MbRemoveOperationResultParams ¶ms, SPtr< MbSolid > &result) |
Удалить из тела результат операции с именем removeName . Подробнее... | |
MbResultType | ConvertSolidToSheetMetal (MbSolid &solid, const MbeCopyMode sameShell, const MbFace &initFace, bool sense, MbSolidToSheetMetalValues ¶meters, const MbSNameMaker &nameMaker, MbSolid *&result) |
Преобразовать тело в листовой металл. Подробнее... | |
MbResultType | ConvertSolidToSheetMetal (c3d::SolidSPtr &solid, const MbeCopyMode sameShell, MbSolidToSheetMetalParams ¶meters, c3d::SolidSPtr &result) |
Преобразовать тело в листовой металл. Подробнее... | |
MbCreator * | NormalizeHolesSides (MbFaceShell *&initialShell, const MbeCopyMode sameShell, const MbSNameMaker &nameMaker, bool cutOnly, MbResultType &res, MbFaceShell *&shell) |
Нормализовать вырезы листового тела. Подробнее... | |
MbCreator * | NormalizeHolesSides (c3d::ShellSPtr &initialShell, const MbeCopyMode sameShell, const MbNormalizeCutSidesParams &normParam, MbResultType &res, c3d::ShellSPtr &shell) |
Нормализовать вырезы листового тела. Подробнее... | |
MbCreator * | CreateSimplifiedFlatPattern (MbFaceShell &initialShell, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues ¶ms, const MbSNameMaker &nameMaker, MbResultType &res, MbFaceShell *&shell) |
Упростить развёртку листового тела. Подробнее... | |
MbResultType | CreateSheetRibParts (const c3d::ShellSPtr &solid, MbeCopyMode sameShell, const MbSheetRibSolidParams ¶ms, c3d::ShellSPtr &shellToAdd, c3d::ShellSPtr &shellToSubtract) |
Создание элементов оболочки с ребром жесткости. Подробнее... | |
enum MbeBendWidthType |
MbResultType BendSheetSolidOverSegment | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const RPArray< MbFace > & | bendingFaces, | ||
MbCurve3D & | curve, | ||
bool | unbended, | ||
const MbBendOverSegValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Сгиб листового тела по линии.
Линией может быть отрезок, лежащий на плоских гранях bendingFaces, либо прямая. Грани bendingFaces располагаются на общей для них плоскости.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | bendingFaces | - Изгибаемые грани. |
[in] | curve | - Прямолинейная кривая, вдоль которой гнуть. |
[in] | unbended | - Флаг построения элемента в разогнутом состоянии. |
[in] | params | - Параметры листового тела. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
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 | ||
) |
Подсечка.
Линией может быть отрезок, лежащий на плоских гранях bendingFaces, либо прямая. Грани bendingFaces располагаются на общей для них плоскости. Подсечка выполняется в виде двух смещённых друг относительно друга сгиба по линии. Формируемые при этом листовые грани сгибов возвращаются в массивах:
firstBendFaces - грани сгибов, примыкающие к неподвижной части базовых граней,
secondBendFaces - грани сгибов, поднятых над базовыми гранями.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | bendingFaces | - Изгибаемые грани. |
[in] | curve | - Прямолинейная кривая, вдоль которой гнуть. |
[in] | unbended | - Флаг построения элемента в разогнутом состоянии. |
[in] | jogParams | - Параметры подсечки и первого сгиба. |
[in] | secondBendParams | - Параметры второго сгиба. |
[in] | nameMaker | - Именователь. |
[out] | firstBendFaces | - Грани первого сгиба подсечки. |
[out] | secondBendFaces | - Грани второго сгиба подсечки. |
[out] | result | - Результирующее тело. |
MbResultType BendSheetSolid | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const RPArray< MbSheetMetalBend > & | bends, | ||
const MbFace & | fixedFace, | ||
const MbCartPoint & | fixedPoint, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Согнуть сгибы листового тела.
Сгибаются разогнутые сгибы bends относительно неподвижной грани fixedFace. Если fixedFace - это листовая грань, принадлежащая одному из сгибов bends, то сгиб осуществляется так, чтобы неподвижной осталась плоскость, касательная к поверхности, лежащей под fixedFace, в точке fixedPoint.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | bends | - Множество сгибов, состоящих из пар граней - внутренней и внешней граней сгиба. |
[in] | fixedFace | - Грань, остающаяся неподвижной. |
[in] | fixedPoint | - Точка в параметрической области поверхности, лежащей под гранью fixedFace, в случае, если она сгибовая. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
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 |
||
) |
Разогнуть сгибы листового тела.
Разгибаются сгибы bends относительно неподвижной грани fixedFace. Если fixedFace - это листовая грань, принадлежащая одному из сгибов bends, то разгиб осуществляется так, чтобы неподвижной осталась плоскость, касательная к поверхности, лежащей под fixedFace, в точке fixedPoint.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | bends | - Множество сгибов, состоящих из пар граней - внутренней и внешней граней сгиба. |
[in] | fixedFace | - Грань, остающаяся неподвижной. |
[in] | fixedPoint | - Точка в параметрической области грани fixedFace, в случае, если она сгибовая. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
[out] | ribContours | - Набор контуров содержащих кривые границ ребер жесткости(при их наличии) в разогнутом виде. |
MbResultType CreateSheetSolid | ( | const MbPlacement3D & | placement, |
RPArray< MbContour > & | contours, | ||
bool | unbended, | ||
const MbSheetMetalValues & | params, | ||
RPArray< MbSNameMaker > * | nameMakers, | ||
RPArray< MbSMBendNames > & | resultBends, | ||
MbSolid *& | result | ||
) |
Создать листовое тело.
Листовое тело создаётся выдавливанием одного незамкнутого контура или нескольких замкнутых контуров.
В случае замкнутых контуров, один контур должен быть внешним, а остальные внутренними, и выдавливание производится на толщину листового тела.
В случае незамкнутого контура, ему придаётся толщина листового тела в ту или иную в зависимости от параметров сторону, а затем результат выдавливается на заданные расстояния.
[in] | placement | - Плейсмент эскиза. |
[in] | contours | - Контуры листового тела. |
[in] | unbended | - Флаг построения элемента в разогнутом состоянии. |
[in] | params | - Параметры листового тела. |
[in] | nameMakers | - Именователи. |
[out] | resultBends | - Формируемые сгибы. |
[out] | result | - Результирующее тело. |
MbResultType SheetSolidPlate | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbPlacement3D & | placement, | ||
RPArray< MbContour > & | contours, | ||
const MbSheetMetalValues & | params, | ||
RPArray< MbSNameMaker > * | nameMakers, | ||
MbSolid *& | result | ||
) |
Добавление пластины к листовому телу.
Пластина строится по одному или нескольким замкнутым непересекающимся контурам, Причём среди них может быть несколько внешних.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | placement | - Локальная система координат эскиза. |
[in] | contours | - Замкнутый контур пластины. |
[in] | params | - Параметры листового тела. |
[in] | nameMakers | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType SheetSolidHole | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbPlacement3D & | placement, | ||
RPArray< MbContour > & | contours, | ||
const MbSheetMetalValues & | params, | ||
bool | diff, | ||
RPArray< MbSNameMaker > * | nameMakers, | ||
MbSolid *& | result | ||
) |
Вырез отверстия в листовом теле.
Вырез строится по замкнутому контуру.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | placement | - Плейсмент эскиза. |
[in] | contours | - Замкнутый контур выреза/пересечения. |
[in] | params | - Параметры листового тела. |
[in] | diff | - Отверстие (diff = true), пересечение (diff = false). |
[in] | nameMakers | - Именователи. |
[out] | result | - Результирующее тело. |
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 | ||
) |
Сгиб на ребре.
Сгиб строится на одном или нескольких рёбрах, принадлежащих плоской листовой грани, согласно заданным параметрам.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | edges | - Рёбра сгибов. |
[in] | unbended | - Флаг построения элемента в разогнутом состоянии. |
[in] | params | - Параметры сгибов. |
[in] | nameMaker | - Именователь. |
[in,out] | resultBends | - Параметры формируемых сгибов и имена созданных граней. |
[out] | result | - Результирующее тело. |
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 | ||
) |
Комбинированный сгиб листового тела.
Комбинированный сгиб листового тела или другими словами сгиб по эскизу может строиться на одном или нескольких соседних прямолинейных рёбрах одной листовой грани или нескольких, расположенных через сгиб. Эскиз, состоящий из отрезков и дуг должен лежать в плоскости, перпендикулярной одному из рёбер построения и одним концом располагаться на его проекции на эту плоскость. Данный эскиз применяется к каждому ребру, участвующему в построении. По нему и его копиям для всех рёбер строятся листовые тела со скруглениями негладких стыковок прямолинейных сегментов контура и гладкой стыковкой к базовой листовой грани. Построенные тела объединяются с базовым (исходным) телом, и затем осуществляются замыкания углов согласно заданным параметрам. После выполнения операции в массиве resultBends записаны все созданные ей сгибы.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | placement | - Плейсмент контура сгиба. |
[in] | contour | - Контур сгиба. |
[in] | edges | - Рёбра сгиба. |
[in] | unbended | - Флаг построения элемента в разогнутом состоянии. |
[in] | params | - Параметры сгиба. |
[in] | nameMaker | - Именователь. |
[out] | resultBends | - Формируемые сгибы. |
[out] | result | - Результирующее тело. |
MbResultType CloseCorner | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
MbCurveEdge * | curveEdgePlus, | ||
MbCurveEdge * | curveEdgeMinus, | ||
const MbClosedCornerValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Замыкание угла.
Если на соседних рёбрах листовой грани построены два сгиба, то между ними образуется угол, который можно затянуть материалом, расширив соответствующие стороны этих сгибов, что и осуществляет данная операция. В параметрах можно выставить величину зазора и виды замыкания отдельно для сгибов и отдельно для их плоских продолжений.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | curveEdgePlus | - Ребро сгиба, условно принятое за положительное. |
[in] | curveEdgeMinus | - Ребро сгиба, условно принятое за отрицательное. |
[in] | params | - Параметры замыкания. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType CutSolidArrayByBorders | ( | MbSolid & | solidArray, |
const MbeCopyMode | sameShells, | ||
const MbCutSolidArrayByBordersParams & | params, | ||
c3d::SolidSPtr & | resultSolid | ||
) |
Подрезка массива тела solidArray контурами плоских листовых граней тела sheetSolid из params.
Для подрезания используются только грани, компланарные хотя бы одной ЛСК из массива placements. Контурные тела граней строятся выдавливанием ограничивающих контуров в обе стороны на величину depth.
[in] | solidArray | - Подрезаемое тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры операции. |
[out] | result | - Результирующее тело. |
MbResultType CreateStampParts | ( | const MbFace * | face, |
const MbPlacement3D & | placement, | ||
const MbContour & | contour, | ||
const MbStampingValues & | params, | ||
const double | thickness, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | partToAdd, | ||
MbSolid *& | partToSubtract | ||
) |
Создание составляющих частей штамповки.
Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.
[in] | face | - Грань, контуром которой надо подрезать штамповку. |
[in] | placement | - Локальная система координат центра штамповки. |
[in] | contour | - Контур штамповки. |
[in] | params | - Параметры штамповки. |
[in] | thickness | - Толщина листа. |
[in] | nameMaker | - Именователь. |
[out] | partToAdd | - Добавляемая часть штамповки. |
[out] | partToSubtract | - Вычитаемая часть штамповки. |
MbResultType CreateStampParts | ( | const MbStampPartsParams & | params, |
MbStampPartsResult & | resultSolids | ||
) |
Создание составляющих частей штамповки.
Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.
[in] | params | - Параметры штамповки. |
[out] | resultSolids | - Добавляемая и вычитаемая части штамповки. |
MbResultType CreateStampWithToolSolidParts | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbFace & | targetFace, | ||
MbSolid & | toolSolid, | ||
MbeCopyMode | sameShellTool, | ||
bool | punch, | ||
bool | removeOriginalStamp, | ||
const RPArray< MbFace > & | pierceFaces, | ||
const MbToolStampingValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | partsToAdd, | ||
MbSolid *& | partsToSubtract | ||
) |
Создание составляющих частей штамповки одного тела другим телом.
Штамповка строится на основе произвольного тела-инструмента и заданной плоской листовой грани. Штамповка подрезается границами листовой грани, которую пересекает тело.
[in] | solid | - Листовое тело со штамповкой. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | targetFace | - Грань штамповки. |
[in] | toolSolid | - Оболочка тела-инструмента. |
[in] | sameShellTool | - Флаг удаления оболочки тела-инструмента. |
[in] | punch | - Является тело-инструмент пуансоном или матрицей. |
[in] | removeOriginalStamp | - Удалить исходную штамповку. |
[in] | pierceFaces | - Вскрываемые для вырубки грани инструмента, |
[in] | params | - Параметры штамповки. |
[in] | nameMaker | - Именователь. |
[out] | partToAdd | - Добавляемая часть штамповки. |
[out] | partToSubtract | - Вычитаемая часть штамповки. |
MbResultType CreateStampWithToolSolidParts | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const c3d::SolidSPtr & | toolSolid, | ||
MbeCopyMode | sameShellTool, | ||
const MbStampWithToolPartsParams & | params, | ||
MbStampWithToolPartsResult & | resultSolids | ||
) |
Создание составляющих частей штамповки одного тела другим телом.
Штамповка строится на основе произвольного тела-инструмента и заданной плоской листовой грани. Штамповка подрезается границами листовой грани, которую пересекает тело.
[in] | solid | - Листовое тело со штамповкой. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | toolSolid | - Оболочка тела-инструмента. |
[in] | sameShellTool | - Флаг удаления оболочки тела-инструмента. |
[in] | params | - Параметры штамповки. |
[out] | resultSolids | - Добавляемая и вычитаемая части штамповки. |
MbResultType NormalizeCutSides | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Нормализовать кромки выреза листового тела.
Нормализовать кромки выреза листового тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType NormalizeCutSides | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbNormalizeCutSidesParams & | normParam, | ||
c3d::SolidSPtr & | result | ||
) |
Нормализовать кромки выреза листового тела.
Нормализовать кромки выреза листового тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | normParam | - Набор параметров. |
[out] | result | - Результирующее тело. |
MbResultType Stamp | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbFace & | face, | ||
const MbPlacement3D & | placement, | ||
const MbContour & | contour, | ||
const MbStampingValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Штамповка.
Штамповка строится по одному замкнутому или незамкнутому контуру, лежащему на плоской листовой грани. Замкнутый эскиз может лежать на листовой грани полностью или частично, а незамкнутый должен начинаться и заканчиваться за пределами грани. Штамповка подрезается границами листовой грани, на которой располагается эскиз.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | face | - Грань штамповки. |
[in] | placement | - Локальная система координат контура. |
[in] | contour | - Контур штамповки. |
[in] | params | - Параметры штамповки. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType Stamp | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbStampParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Штамповка.
Штамповка строится по одному замкнутому или незамкнутому контуру, лежащему на плоской листовой грани. Замкнутый эскиз может лежать на листовой грани полностью или частично, а незамкнутый должен начинаться и заканчиваться за пределами грани. Штамповка подрезается границами листовой грани, на которой располагается эскиз.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры штамповки. |
[out] | result | - Результирующее тело. |
MbResultType StampWithToolSolid | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbFace & | targetFace, | ||
MbSolid & | toolSolid, | ||
MbeCopyMode | sameShellTool, | ||
bool | punch, | ||
const RPArray< MbFace > & | pierceFaces, | ||
const MbToolStampingValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Штамповка телом-инструментом (пуансоном или матрицей).
Штамповка строится на основе произвольного тела-инструмента и заданной плоской листовой грани. Штамповка подрезается границами листовой грани, которую пересекает тело.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | targetFace | - Грань штамповки. |
[in] | toolSolid | - Оболочка тела-инструмента. |
[in] | sameShellTool | - Флаг удаления оболочки тела-инструмента. |
[in] | punch | - Является тело-инструмент пуансоном или матрицей. |
[in] | pierceFaces | - Вскрываемые для вырубки грани инструмента, |
[in] | params | - Параметры штамповки. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType StampWithToolSolid | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const c3d::SolidSPtr & | toolSolid, | ||
MbeCopyMode | sameShellTool, | ||
const MbStampWithToolParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Штамповка телом-инструментом (пуансоном или матрицей).
Штамповка строится на основе произвольного тела-инструмента и заданной плоской листовой грани. Штамповка подрезается границами листовой грани, которую пересекает тело.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | toolSolid | - Оболочка тела-инструмента. |
[in] | sameShellTool | - Флаг удаления оболочки тела-инструмента. |
[in] | params | - Параметры штамповки. |
[out] | result | - Результирующее тело. |
MbResultType CreateSphericalStampParts | ( | const MbSphericalStampPartsParams & | params, |
MbSphericalStampPartsResult & | resultSolids | ||
) |
Создание составляющих частей сферической штамповки.
Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.
[in] | params | - Параметры штамповки. |
[out] | resultSolids | - Добавляемая и вычитаемая части штамповки. |
MbResultType CreateSphericalStampParts | ( | const MbFace * | face, |
const MbPlacement3D & | placement, | ||
const MbStampingValues & | params, | ||
const double | thickness, | ||
const MbCartPoint & | center, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | partToAdd, | ||
MbSolid *& | partToSubtract | ||
) |
Создание составляющих частей сферической штамповки.
Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.
[in] | face | - Грань, контуром которой надо подрезать штамповку. |
[in] | placement | - Локальная система координат центра штамповки. |
[in] | params | - Параметры штамповки. |
[in] | thickness | - Толщина листа. |
[in] | center | - Центр сферической штамповки. |
[in] | nameMaker | - Именователь. |
[out] | partToAdd | - Добавляемая часть штамповки. |
[out] | partToSubtract | - Вычитаемая часть штамповки. |
MbResultType SphericalStamp | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSphericalStampParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Сферическая штамповка.
Штамповка строится по параметрам и центру, лежащему на плоской листовой грани. Штамповка подрезается границами листовой грани, на которой располагается центр.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры штамповки. |
[out] | result | - Результирующее тело. |
MbResultType SphericalStamp | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbFace & | face, | ||
const MbPlacement3D & | placement, | ||
const MbStampingValues & | params, | ||
const MbCartPoint & | center, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Сферическая штамповка.
Штамповка строится по параметрам и центру, лежащему на плоской листовой грани. Штамповка подрезается границами листовой грани, на которой располагается центр.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | face | - Грань штамповки. |
[in] | placement | - Локальная система координат центра штамповки. |
[in] | params | - Параметры штамповки. |
[in] | center | - Центр сферической штамповки. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
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 | ||
) |
Создание составляющих частей буртика.
Буртик строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.
[in] | face | - Грань, контуром которой надо подрезать буртик. |
[in] | placement | - Локальная система координат контуров. |
[in] | contours | - Контуры буртика. |
[in] | centers | - Центры сферических штамповок. |
[in] | params | - Параметры буртика. |
[in] | thickness | - Толщина листа. |
[in] | nameMaker | - Имена контуров. |
[out] | partToAdd | - Добавляемая часть буртика. |
[out] | partToSubtract | - Вычитаемая часть буртика. |
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 | ||
) |
Буртик.
Буртик строится по одному или нескольким замкнутым или незамкнутым эскизам, лежащим на плоской листовой грани, а также по точкам. Если эскиз выходит за пределы этой грани, то буртик подрезается её границами. Буртик по незамкнутому эскизу на в начале и конце имеет законцовки, вид которых задаётся в параметрах операции. Буртик по точке имеет вид сферической штамповки.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | face | - Грань буртика. |
[in] | placement | - Локальная система координат контуров. |
[in] | contours | - Контуры буртика. |
[in] | centers | - Центры сферических штамповок. |
[in] | params | - Параметры буртика. |
[in] | nameMaker | - Имена контуров. |
[out] | result | - Результирующее тело. |
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 | ||
) |
Создание составляющих частей жалюзи.
Вытянутые жалюзи строятся посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Подрезанные жалюзи - наоборот сначала вычитанием прямоугольной заготовки из пластины, а затем добавлением к ней отогнутой части. Данная функция возвращает обе эти части в качестве отдельных тел. При выходе за края пластины жалюзи не строятся.
[in] | face | - Грань, контуром которой надо подрезать буртик. |
[in] | placement | - Локальная система координат отрезка. |
[in] | segments | - Отрезки жалюзи. |
[in] | params | - Параметры жалюзи. |
[in] | nameMaker | - Именователь. |
[out] | partToAdd | - Добавляемая часть жалюзи. |
[out] | partToSubtract | - Вычитаемая часть жалюзи. |
MbResultType CreateJalousie | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbFace & | face, | ||
const MbPlacement3D & | placement, | ||
const RPArray< MbLineSegment > & | segments, | ||
const MbJalousieValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Жалюзи.
Жалюзи строятся на одном или нескольких отрезках, лежащих на плоской листовой грани. Жалюзи не могут выходить за пределы грани и пересекаться сами с собой. Жалюзи бывают двух видов: вытяжка и подрезка. Вытяжка имеет вид половины, разрезанного вдоль прямолинейного буртика, а подрезка имеет вид отогнутой пластины.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | face | - Грань жалюзи. |
[in] | placement | - Локальная система координат отрезка. |
[in] | segments | - Отрезки жалюзи. |
[in] | params | - Параметры жалюзи. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType CreateRuledSolid | ( | MbRuledSolidValues & | parameters, |
const MbSNameMaker & | nameMaker, | ||
RPArray< MbSMBendNames > & | resultBends, | ||
MbContour *& | resultContour, | ||
MbSolid *& | resultSolid | ||
) |
Обечайка по контуру.
Обечайка строится по одному плоскому контуру выдавливанием с уклоном до, в общем случае, линейчатой поверхности и дальнейшим приданием её толщины.
[in] | parameters | - Параметры обечайки. |
[in] | nameMaker | - Именователь с главным именем операции. |
[out] | resultBends | - Формируемые сгибы. |
[out] | resultContour | - Contour, скруглённый по параметрам из resultBends. |
[out] | resultSolid | - Результирующее тело. |
MbResultType SheetSolidUnion | ( | MbSolid & | solid1, |
const MbeCopyMode | sameShell1, | ||
MbSolid & | solid2, | ||
const MbeCopyMode | sameShell2, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Объединение листовых тел по торцевой грани.
Объединяет два листовых тела, если они касаются друг друга одной единственной боковинкой.
[in] | solid1 | - Первое листовое тело. |
[in] | sameShell1 | - Способ использования первого листового тела. |
[in] | solid2 | - Второе листовое тело. |
[in] | sameShell2 | - Способ использования второго листового тела. |
[in] | names | - Именователь с версией операции. |
[out] | result | - Объединённое листовое тело. |
Проверяет, что тела листовые и их можно объединить по торцевой грани.
Функция завершается успешно, если находит единственную совпадающую в пространстве пару боковинок первого и второго тела.
[in] | solid1 | - Первое листовое тело. |
[in] | solid2 | - Второе листовое тело. |
MbResultType RestoreSideEdges | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const RPArray< MbFace > & | outerFaces, | ||
const bool | strict, | ||
RPArray< MbSheetMetalBend > & | bends, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Восстановить боковые рёбра сгибов.
Операция служит для восстановления боковых границ сгибов после построений, которые могли их удалить, таких как вырез или скругление.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | outerFaces | - Внешние грани сгибов, у которых восстанавливаем боковые рёбра. |
[in] | strict | - При false - восстанавливаем боковые рёбра только там, где возможно без сообщений об ошибке. |
[out] | bends | - Сгибы, у которых восстановили боковые рёбра. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
bool SeparateBendsBySubshells | ( | const MbSolid & | solid, |
const RPArray< MbSheetMetalBend > & | bends, | ||
const MbName & | fixedFaceName, | ||
RPArray< RPArray< MbSheetMetalBend > > & | bendsGroups, | ||
RPArray< const MbFace > & | fixedFaces | ||
) |
Разделить сгибы по подоболочкам.
Сгибы из bends группируются по принадлежности разным подоболочкам листового тела solid. В результате работы функции формируется взаимно однозначное соответствие групп сгибов и соответствующих этим группам неподвижных граней.
[in] | solid | - Листовое тело. |
[in] | bends | - Сгибы. |
[in] | fixedFaceName | - Имя неподвижной грани. |
[out] | bendsGroups | - Сгибы, разделённые на группы по принадлежности разным подоболочкам. |
[out] | fixedFaces | - Соответствующие этим подоболочкам неподвижные грани. |
bool CollectBends | ( | const MbFaceShell & | faceShell, |
const RPArray< MbFace > & | innerFaces, | ||
const RPArray< MbFace > & | outerFaces, | ||
RPArray< MbSheetMetalBend > & | result | ||
) |
Разбить грани сгибов по парам.
Ищутся составляющие сгиб внутренняя и внешняя грань среди неупорядоченного набора внешних и внутренних граней сгибов, по ним формируется сгиб, который добавляется в массив bends.
[in] | faceShell | - Набор граней листового тела. |
[in] | innerFaces | - Внутренние грани сгибов. |
[in] | outerFaces | - Внешние грани сгибов. |
[out] | result | - Найденные пары граней, составляющие сгибы. |
bool IsSuitableForFixed | ( | const MbFace & | face | ) |
Проверить, что грань может быть выбрана в качестве фиксированной при сгибе/разгибе.
Проверяется, что указанная грань при сгибе/разгибе всех сгибов не изменится.
[in] | - | Проверяемая грань. |
void FindCurveFaces | ( | const RPArray< MbFace > & | faces, |
const MbCurve3D & | curve, | ||
RPArray< MbFace > & | result | ||
) |
Найти грани, на которых лежит кривая.
Кривая curve должна быть прямолинейной.
[in] | faces | - Набор граней для поиска. |
[in] | curve | - Кривая, лежащая на некоторых из них. |
[out] | result | - Грани, на которых лежит кривая curve. |
MbFace* FindSheetFace | ( | const MbCurveEdge & | edge | ) |
Найти верхнюю/нижнюю грань листового тела, содержащую ребро.
Поиск среди двух стыкующихся в ребре edge граней верхней или нижней грани листового тела.
[in] | edge | - Неориентированное ребро листовой грани. |
Найти парную грань сгиба.
Поиск по листовой грани сгиба противоположной ей листовой грани.
[in] | face | - Листовая грань сгиба. |
MbFace* GetPairPlanarFaceByEdge | ( | const MbCurveEdge & | curveEdge, |
const double | begDistance, | ||
const double | endDistance | ||
) |
Найти плоскую парную листовую грань по ребру.
Функция поиска парной листовой грани для операции сгиб на ребре. Применяется для многотолщинных листовых тел в условиях, когда выбранной листовой грани соответствует несколько парных ей граней, находящихся на разном расстоянии от неё. Положительные расстояния begDistance и endDistance означают отступ наружу от ребра, а отрицательные - внутрь.
[in] | curveEdge | - Ребро, по которому искать. |
[in] | begDistance | - Расстояние от начала ребра. |
[in] | endDistance | - Расстояние от конца ребра. |
Найти плоскую парную листовую грань по трёхмерной кривой.
Функция поиска парной листовой грани для операции сгиб по линии. Применяется для многотолщинных листовых тел в условиях, когда выбранной листовой грани соответствует несколько парных ей граней, находящихся на разном расстоянии от неё.
[in] | sheetFace | - Плоская листовая грань. |
[in] | curve | - Лежащая на ней прямолинейная кривая. |
MbFace* GetPairPlanarFaceByContour | ( | const MbFaceShell & | shell, |
const MbFace & | sheetFace, | ||
const MbPlacement3D & | place, | ||
const RPArray< const MbCurve > & | segments | ||
) |
Найти плоскую парную листовую грань по контуру.
Функция поиска парной листовой грани для операций базирующихся на контурах. Применяется для многотолщинных листовых тел в условиях, когда выбранной листовой грани соответствует несколько парных ей граней, находящихся на разном расстоянии от неё.
[in] | shell | - Оболочка листового тела. |
[in] | sheetFace | - Базовая листовая грань. |
[in] | place | - Локальная система координат, лежащая на грани sheetFace. |
[in] | segments | - Кривые, лежащие в плоскости XY локальной системы координат placement. |
MbFace* GetPairPlanarFace | ( | const MbFaceShell * | faceShell, |
const MbFace & | sheetFace | ||
) |
Найти плоскую парную листовую грань.
Поиск осуществляется сначала через рёбра внешнего цикла грани sheetFace, в случае неудачи - через вершины этого цикла, и если грань не найдена, то перебором по всем связным граням или граням из набора faceShell. В последнем случае предпочтение отдаётся более близко расположенным граням.
[in] | faceShell | - Набор граней для поиска. |
[in] | sheetFace | - Исходная плоская грань. |
Рассчитать расстояние между гранями.
Определяет расстояние между парой подобных граней. Подобными считаются пары плоских, цилиндрических и конических граней, у которых нормали коллинеарны и противоположно направлены. Расстояние считается положительным, если грани располагаются со стороны, противоположной направлению нормали, и отрицательным в противном случае. В случае ошибки возвращается 0.0.
[in] | face1 | - Первая грань. |
[in] | face2 | - Вторая грань. |
void GetSimilarCylindricBends | ( | const MbFaceShell & | shell, |
RPArray< MbSheetMetalBend > & | bends | ||
) |
Найти подобные сгибы.
В листовом теле shell ищутся согнутые цилиндрические/конические сгибы, которые надо добавить к сгибам из bends, чтобы они могли разогнуться, то есть сгибы разгибаемые только совместно.
[in] | shell | - Набор граней поиска. |
[in,out] | bends | - Множество подобных сгибов. |
bool CalculateTangentPoint | ( | const MbFace & | face, |
const MbPlane & | plane, | ||
MbCartPoint & | tangentPoint | ||
) |
Рассчитать касательную точку для сгиба/разгиба.
В точке tangentPoint либо координаты точки касания внутри грани, то есть 0.0<=x<=1.0 и 0.0<=y<=1.0, или за её пределами. В первом случае точка касания пересчитывается в координаты лежащей под гранью поверхности, во втором находится одна из точек касания поверхности, лежащей под гранью face и плоскости plane.
[in] | face | - Грань, содержащая точку касания. |
[in] | plane | - Касательная плоскость. |
[in,out] | tangentPoint | - Точка касания. |
bool CalculateConicAxisLine | ( | const MbFace & | face, |
MbLineSegment & | axisLineSegment | ||
) |
Рассчитать осевую линию разогнутого конического сгиба.
Возвращает осевую линию в координатах параметрической области плоскости, лежащей под гранью face.
[in] | face | - Листовая грань разогнутого конического сгиба. |
[out] | axisLineSegment | - Искомая осевая линия. |
bool BuildBends3DAxisLines | ( | const RPArray< MbFace > & | bendFaces, |
RPArray< MbLineSegment3D > & | axisLineSegments | ||
) |
Рассчитать осевую линию разогнутых сгибов.
Возвращает трёхмерную осевую линию, лежащую на разогнутой грани сгиба.
[in] | bendFaces | - Грани разогнутых сгибов, для которых строить линии сгиба. |
[out] | axisLineSegments | - Искомая осевая линия. |
bool BuildBends3DCenterlines | ( | const RPArray< MbFace > & | bendFaces, |
RPArray< MbCurve3D > & | centerlines | ||
) |
Рассчитать осевые линии разогнутых сгибов.
Возвращает трёхмерные осевые линии, лежащие на разогнутых гранях сгибов.
[in] | bendFaces | - Грани разогнутых сгибов, для которых строить линии сгиба. |
[out] | centerlines | - Искомые осевые линии. |
bool BuildBends3DCenterlines | ( | const MbBends3DLinesParams & | params, |
MbBends3DLinesResult & | result | ||
) |
Рассчитать осевые линии разогнутых сгибов.
Возвращает трёхмерные осевые линии, лежащие на разогнутых гранях сгибов.
[in] | params | - Исходные данные для расчета осевых линий разогнутых сгибов. |
[out] | result | - Искомые осевые линии. |
bool GetParamsForCloseCorner | ( | const RPArray< MbFace > & | facesPlus, |
const RPArray< MbFace > & | facesMinus, | ||
MbClosedCornerValues & | parameters, | ||
MbCurveEdge *& | edgePlus, | ||
MbCurveEdge *& | edgeMinus | ||
) |
Рассчитать параметры для замыкания угла.
Находит общее ребро угла или пару рёбер для замыканий через сгиб. Рассчитывает параметры замыкания для данных пар граней.
[in] | facesPlus | - Выбранные торцевые грани стороны угла, условно принятой за положительную. |
[in] | facesMinus | - Выбранные торцевые грани стороны угла, условно принятой за отрицательную. |
[out] | parameters | - Параметры замыкания. |
[out] | edgePlus | - Ребро сгиба, условно принятое за положительное. |
[out] | edgeMinus | - Ребро сгиба, условно принятое за отрицательное. |
bool GetParamsForCloseCorner | ( | const MbCurveEdge & | selectedEdgePlus, |
const MbCurveEdge & | selectedEdgeMinus, | ||
MbClosedCornerValues & | parameters, | ||
MbCurveEdge *& | edgePlus, | ||
MbCurveEdge *& | edgeMinus | ||
) |
Рассчитать параметры для замыкания угла.
Находит общее ребро угла или пару рёбер для замыканий через сгиб.
[in] | selectedEdgePlus | - Выбранное ребро стороны угла, условно принятой за положительную. |
[in] | selectedEdgeMinus | - Выбранное ребро стороны угла, условно принятой за отрицательную. |
[out] | parameters | - Параметры замыкания. |
[out] | edgePlus | - Ребро сгиба, условно принятое за положительное. |
[out] | edgeMinus | - Ребро сгиба, условно принятое за отрицательное. true - в случае успеха операции, false - в противном случае. |
bool GetParamsForCloseCorner | ( | const MbCloseCornerParams & | params, |
MbCloseCornerResults & | result | ||
) |
Рассчитать параметры для замыкания угла.
Находит общее ребро угла или пару рёбер для замыканий через сгиб.
[in] | params | - Выбранные данные (ребра или грани) для сторон угла, условно принятых за положительную и отрицательную. |
[out] | result | - Рассчитанные параметры замыкания. |
double CalculateSegmentationParameter | ( | const MbCurve & | curve, |
const MbeSegmentationMethod | method, | ||
const double | param, | ||
const MbeSegmentationMethod | newMethod | ||
) |
Вычислить параметр сегментации кривой.
Вычислить параметр сегментации для заданного метода. При изменении метода результат сегментации не меняется.
[in] | curve | - Кривая (дуга). |
[in] | method | - Метод сегментации. |
[in] | param | - Параметр сегментации. |
[in] | newMethod | - Метод сегментации, для которого нужно вычислить значение параметра. |
MbResultType SplitContourIntoSegments | ( | const MbCurve & | curve, |
const size_t | segmNumber, | ||
MbContour *& | resultContour | ||
) |
Аппроксимировать дуги контура ломаной.
Аппроксимировать дуги контура ломаной.
[in] | contour | - Кривая или контур. |
[in] | segmNumber | - Количество сегментов аппроксимации каждой дуги контура. |
[out] | resultContour | - Аппроксимированный отрезками контур. |
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 | ||
) |
Аппроксимировать участки контуров (дуги) ломаной.
Аппроксимировать участки контуров (дуги) ломаной.
[in,out] | contour1 | - Первый контур. |
[in,out] | breaks1 | - Массив параметров разбиения первого контура. |
[in,out] | contour2 | - Второй контур. |
[in,out] | breaks2 | - Массив параметров разбиения второго контура. |
[in,out] | names | - Именователь. Количество сегментов аппроксимации для каждого сегмента обечайки после применения разбиения по breaks1. Количество сегментов аппроксимации для каждого сегмента обечайки после применения разбиения по breaks2. Количество сегментов аппроксимации, если не задано в segmNumbers1 и segmNumbers2. |
[in] | gapValue | - Ширина зазора.
|
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 | ||
) |
Заполнить массив сгибов.
Заполнить массив сгибов.
[in] | contour1 | - Первый контур. |
[in] | placement1 | - ЛСК первого контура. |
[in] | breaks1 | - Массив параметров разбиения первого контура. |
[in] | contour2 | - Второй контур. |
[in] | placement2 | - ЛСК второго контура. |
[in] | breaks2 | - Массив параметров разбиения второго контура. |
[in] | nameMaker | - Массив имён граней линейчатой поверхности. |
[out] | bendNames | - Массив параметров сгибов. |
MbContour3D* MakeContour | ( | const MbPlacement3D & | placement, |
const MbContour & | contour, | ||
const SArray< double > & | breaks, | ||
MbSNameMaker & | names | ||
) |
Создать трехмерный контур по двумерному с учётом разбиения.
Разбивает присланный контур точками, заданными параметрами breaks, и по нему создаёт трёхмерный контур, лежащий на плоскости, заданной ЛСК placement.
[in] | placement | - ЛСК контура. |
[in] | contour | - Контур. |
[in] | breaks | - Массив параметров разбиения контура. |
[in,out] | names | - Массив имён сегментов контура. |
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 | ||
) |
Создать контур ребра жесткости по двум сторонам.
Создать двумерный контур ребра жесткости и его ЛСК по двум сторонам.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.
[in] | bendEdge | - Ребро на внутренней грани сгиба. |
[in] | bendAngle | - Угол сгиба листового тела. |
[in] | l1 | - Длина отступа вдоль первой стороны угла профиля. |
[in] | l2 | - Длина отступа вдоль второй стороны угла профиля. |
[in] | bRatio | - Относительная глубина прогиба контура в диапазоне от 0 до 1 (0 - нет прогиба, 1 - максимальный прогиб). |
[in] | rad | - Радиус скругления при прогибе профиля. |
[in] | dir | - Направление выбора первой стороны угла профиля. |
[in] | t | - Параметр точки на ребре сгиба. |
[out] | placement | - ЛСК контура. |
[out] | contour | - Контур листового ребра усиления. |
[out] | bMax | - Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела. |
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 | ||
) |
Создать контур ребра жесткости по стороне и углу.
Создать двумерный контур ребра жесткости и его ЛСК по стороне и углу наклона.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.
[in] | bendEdge | - Ребро на внутренней грани сгиба. |
[in] | bendAngle | - Угол сгиба листового тела. |
[in] | l1 | - Длина отступа вдоль первой стороны угла профиля. |
[in] | a | - Угол наклона профиля. |
[in] | bRatio | - Относительная глубина прогиба контура в диапазоне от 0 до 1 (0 - нет прогиба, 1 - максимальный прогиб). |
[in] | rad | - Радиус скругления при прогибе профиля. |
[in] | dir | - Направление выбора первой стороны угла профиля. |
[in] | t | - Параметр точки на ребре сгиба. |
[out] | placement | - ЛСК контура. |
[out] | contour | - Контур листового ребра усиления. |
[out] | bMax | - Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела. |
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 | ||
) |
Создать контур ребра жесткости по глубине и углу.
Создать двумерный контур ребра жесткости и его ЛСК по глубине и углу наклона.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.
[in] | bendEdge | - Ребро на внутренней грани сгиба. |
[in] | bendAngle | - Угол сгиба листового тела. |
[in] | h | - Глубина профиля ребра. |
[in] | a | - Угол наклона профиля. |
[in] | bRatio | - Относительная глубина прогиба контура в диапазоне от 0 до 1 (0 - нет прогиба, 1 - максимальный прогиб). |
[in] | rad | - Радиус скругления при прогибе профиля. |
[in] | dir | - Направление выбора первой стороны угла профиля. |
[in] | t | - Параметр точки на ребре сгиба. |
[out] | placement | - ЛСК контура. |
[out] | contour | - Контур листового ребра усиления. |
[out] | bMax | - Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела. |
MbResultType SheetRibParts | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbPlacement3D & | place, | ||
const MbContour & | contour, | ||
size_t | index, | ||
SheetRibValues & | pars, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | partToAdd, | ||
MbSolid *& | partToSubtract | ||
) |
Создание элементов ребра жёсткости листового тела.
Создание элементов ребра жёсткости листового тела.
По заданному контуру функция строит ребро жёсткости а затем вычленяет составляющие его элементы, заделывая места разрыва.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Режим копирования входного тела. |
[in] | place | - Система координат образующего контура. |
[in] | contour | - Формообразующий контур на плоскости XY системы координат place. |
[in] | index | - Индекс сегмента в контуре, от которого будет установлено направление уклона. |
[in] | pars | - Параметры листового ребра жёсткости. |
[in] | names | - Именователь. |
[out] | partToAdd | - Добавляемый элемент ребра. |
[out] | partToSubtract | - Вычитаемый элемент ребра. |
MbResultType SheetRibParts | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSheetRibSolidParams & | params, | ||
c3d::SolidSPtr & | partToAdd, | ||
c3d::SolidSPtr & | partToSubtract | ||
) |
Создание элементов ребра жёсткости листового тела.
Создание элементов ребра жёсткости листового тела.
По заданному контуру функция строит ребро жёсткости, а затем вычленяет составляющие его элементы, заделывая места разрыва.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Режим копирования входного листового тела. |
[in] | params | - Параметры построения ребра жесткости для листового тела. |
[out] | partToAdd | - Добавляемый элемент ребра. |
[out] | partToSubtract | - Вычитаемый элемент ребра. |
MbResultType SheetRibSolid | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbPlacement3D & | place, | ||
const MbContour & | contour, | ||
size_t | index, | ||
SheetRibValues & | pars, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Создание тела с листовым ребром жесткости.
Создать тело с листовым ребром жёсткости.
По заданному контуру функция строит ребро жёсткости и объединяет его с исходным телом. Сегмент контура с указанным номером устанавливает вектор уклона.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Режим копирования входного тела. |
[in] | place | - Система координат образующего контура. |
[in] | contour | - Формообразующий контур на плоскости XY системы координат place. |
[in] | index | - Индекс сегмента в контуре, от которого будет установлено направление уклона. |
[in] | pars | - Параметры листового ребра жёсткости. |
[in] | names | - Именователь. |
[out] | result | - Построенное тело. |
MbResultType SheetRibSolid | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSheetRibSolidParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Создание тела с листовым ребром жесткости.
Создать тело с листовым ребром жёсткости.
По заданному контуру функция строит ребро жёсткости и объединяет его с исходным листовым телом. Сегмент контура с указанным номером устанавливает вектор уклона.
[in] | solid | - Исходное листовое тело. |
[in] | sameShell | - Режим копирования входного листового тела. |
[in] | params | - Параметры построения ребра жесткости для листового тела. |
[out] | result | - Построенное листовое тело. |
MbResultType BendAnySolid | ( | MbSolid & | solid, |
const MbeCopyMode | sameShell, | ||
const MbPlane & | cutPlane, | ||
const SArray< MbAnyBend > & | bends, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Разрезать тело секущими плоскостями и согнуть получившиеся сегменты согласно заданным параметрам.
cutPlane - это граница-начало цепочки сгибов. На ней с помощью bends[0].origin и bends[0].vector определена ось цилиндрического сгиба,
причём направление оси выбрано так, что при повороте на 90 градусов (именно повороте в положительном направлении) она будет направлена в сторону сгибаемого тела.
bends[0].wideness - ширина сгиба в разогнутом положении, а bends[0].neutralRadius - это расстояние от оси сгиба до слоя, который при сгибе не будет деформироваться.
Граница следующего сгиба - это cutPlane смещённая на bends[0].wideness вдоль нормали, то есть противоположная граница предыдущего сгиба.
На этой новой плоскости аналогичным образом задаются параметры MbAnyBend для второго сгиба, и так далее для всей цепочки сгибов.
Если между идущими друг за другом сгибами нужно указать несгибаемый (плоский) участок, то надо в соответствующем ему bend[i] занулить координаты origin, vector и значение neutralRadius,
а в поле wideness положить ширину несгибаемого участка.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | cutPlane | - Первая секущая плоскость. |
[in] | bends | - Множество сгибов, состоящих из секущей плоскости и параметров сгиба. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType SimplifyFlatPattern | ( | MbSolid & | solid, |
const MbeCopyMode | sameShell, | ||
const MbSimplifyFlatPatternValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Упростить развёртку листового тела.
Упростить развёртку листового тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры операции. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType RemoveOperationResult | ( | MbSolid & | solid, |
const MbeCopyMode | sameShell, | ||
const MbRemoveOperationResultParams & | params, | ||
SPtr< MbSolid > & | result | ||
) |
Удалить из тела результат операции с именем removeName .
Операция удаляет грани с главным именем removeName и потом заделывает образовавшиеся дыры.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры операции. |
[out] | result | - Результирующее тело. |
MbResultType ConvertSolidToSheetMetal | ( | MbSolid & | solid, |
const MbeCopyMode | sameShell, | ||
const MbFace & | initFace, | ||
bool | sense, | ||
MbSolidToSheetMetalValues & | parameters, | ||
const MbSNameMaker & | nameMaker, | ||
MbSolid *& | result | ||
) |
Преобразовать тело в листовой металл.
Операция строит листовое тело на базе произвольного тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | initFace | - Исходная грань для построения листового тела. |
[in] | sense | - Направление придания толщины относительно нормали исходной грани. |
[in,out] | parameters | - Параметры операции. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType ConvertSolidToSheetMetal | ( | c3d::SolidSPtr & | solid, |
const MbeCopyMode | sameShell, | ||
MbSolidToSheetMetalParams & | parameters, | ||
c3d::SolidSPtr & | result | ||
) |
Преобразовать тело в листовой металл.
Операция строит листовое тело на базе произвольного тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in,out] | parameters | - Параметры операции. |
[out] | result | - Результирующее тело. |
MbCreator* NormalizeHolesSides | ( | MbFaceShell *& | initialShell, |
const MbeCopyMode | sameShell, | ||
const MbSNameMaker & | nameMaker, | ||
bool | cutOnly, | ||
MbResultType & | res, | ||
MbFaceShell *& | shell | ||
) |
Нормализовать вырезы листового тела.
Нормализовать вырезы листового тела.
[in] | initialShell | - Исходная оболочка. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | nameMaker | - Именователь. |
[in] | cutOnly | - Hормализуется только вырез. |
[out] | res | - Код результата операции. |
[out] | shell | - Построенная оболочка. |
MbCreator* NormalizeHolesSides | ( | c3d::ShellSPtr & | initialShell, |
const MbeCopyMode | sameShell, | ||
const MbNormalizeCutSidesParams & | normParam, | ||
MbResultType & | res, | ||
c3d::ShellSPtr & | shell | ||
) |
Нормализовать вырезы листового тела.
Нормализовать вырезы листового тела.
[in] | initialShell | - Исходная оболочка. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | normParam | - Набор параметров. |
[out] | shell | - Построенная оболочка. |
MbCreator* CreateSimplifiedFlatPattern | ( | MbFaceShell & | initialShell, |
const MbeCopyMode | sameShell, | ||
const MbSimplifyFlatPatternValues & | params, | ||
const MbSNameMaker & | nameMaker, | ||
MbResultType & | res, | ||
MbFaceShell *& | shell | ||
) |
Упростить развёртку листового тела.
Упростить развёртку листового тела.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Флаг удаления оболочки исходного тела. |
[in] | params | - Параметры операции. |
[in] | nameMaker | - Именователь. |
[out] | result | - Результирующее тело. |
MbResultType CreateSheetRibParts | ( | const c3d::ShellSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSheetRibSolidParams & | params, | ||
c3d::ShellSPtr & | shellToAdd, | ||
c3d::ShellSPtr & | shellToSubtract | ||
) |
Создание элементов оболочки с ребром жесткости.
Создание элементов оболочки листового тела с ребром жесткости.
По заданному контуру функция строит ребро жёсткости, а затем вычленяет составляющие его элементы, заделывая места разрыва.
[in] | solid | - Исходная оболочка. |
[in] | sameShell | - Способ копирования граней исходной оболочки. |
[in] | params | - Параметры построения ребра жесткости для оболочки листового тела. |
[out] | shellToAdd | - Добавляемый элемент ребра. |
[out] | shellToSubtract | - Вычитаемый элемент ребра. |