C3D Toolkit  Kernel - 107186, Vision - 190715.107186
+ Граф связей класса Построения листовых тел:

Классы

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 }
 Способ задания ширины сгиба. Подробнее...
 

Функции

MbResultType BendSheetSolidOverSegment (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &bendingFaces, MbCurve3D &curve, bool unbended, const MbBendOverSegValues &params, MbSNameMaker &nameMaker, MbSolid *&result)
 Сгиб листового тела по линии. Подробнее...
 
MbResultType SheetSolidJog (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &bendingFaces, MbCurve3D &curve, bool unbended, const MbJogValues &jogParams, const MbBendValues &secondBendParams, 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, MbSNameMaker &nameMaker, MbSolid *&result)
 Согнуть сгибы листового тела. Подробнее...
 
MbResultType UnbendSheetSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbSheetMetalBend > &bends, const MbFace &fixedFace, const MbCartPoint &fixedPoint, MbSNameMaker &nameMaker, MbSolid *&result, RPArray< MbContour3D > *ribContours=NULL)
 Разогнуть сгибы листового тела. Подробнее...
 
MbResultType CreateSheetSolid (const MbPlacement3D &placement, RPArray< MbContour > &contours, bool unbended, const MbSheetMetalValues &params, RPArray< MbSNameMaker > *nameMakers, RPArray< MbSMBendNames > &resultBends, MbSolid *&result)
 Создать листовое тело. Подробнее...
 
MbResultType SheetSolidPlate (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues &params, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result)
 Добавление пластины к листовому телу. Подробнее...
 
MbResultType SheetSolidHole (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &placement, RPArray< MbContour > &contours, const MbSheetMetalValues &params, bool diff, RPArray< MbSNameMaker > *nameMakers, MbSolid *&result)
 Вырез отверстия в листовом теле. Подробнее...
 
MbResultType BendSheetSolidByEdges (MbSolid &solid, const MbeCopyMode sameShell, const RPArray< MbCurveEdge > &edges, const bool unbended, const MbBendByEdgeValues &params, 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 &params, MbSNameMaker &nameMaker, RPArray< RPArray< MbSMBendNames > > &resultBends, MbSolid *&result)
 Комбинированный сгиб листового тела. Подробнее...
 
MbResultType CloseCorner (MbSolid &solid, MbeCopyMode sameShell, MbCurveEdge *curveEdgePlus, MbCurveEdge *curveEdgeMinus, const MbClosedCornerValues &params, MbSNameMaker &nameMaker, MbSolid *&result)
 Замыкание угла. Подробнее...
 
MbResultType CutSolidArrayByBorders (MbSolid &solidArray, const MbeCopyMode sameShells, const MbSolid &sheetSolid, const SArray< MbPlacement3D > &placements, const double depth, const MbSNameMaker &nameMaker, MbSolid *&resultSolid)
 Подрезка массива тела solidArray контурами плоских листовых граней тела sheetSolid. Подробнее...
 
MbResultType CreateStampParts (const MbFace *face, const MbPlacement3D &placement, const MbContour &contour, const MbStampingValues &params, const double thickness, MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract)
 Создание составляющих частей штамповки. Подробнее...
 
MbResultType Stamp (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const MbContour &contour, const MbStampingValues &params, MbSNameMaker &nameMaker, MbSolid *&result)
 Штамповка. Подробнее...
 
MbResultType CreateSphericalStampParts (const MbFace *face, const MbPlacement3D &placement, const MbStampingValues &params, const double thickness, const MbCartPoint &center, MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract)
 Создание составляющих частей сферической штамповки. Подробнее...
 
MbResultType SphericalStamp (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const MbStampingValues &params, const MbCartPoint &center, MbSNameMaker &nameMaker, MbSolid *&result)
 Сферическая штамповка. Подробнее...
 
MbResultType CreateBeadParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbContour > &contours, const SArray< MbCartPoint > &centers, const MbBeadValues &params, const double thinkness, 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 > &centers, const MbBeadValues &params, MbSNameMaker &nameMaker, MbSolid *&result)
 Буртик. Подробнее...
 
MbResultType CreateJalousieParts (const MbFace *face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues &params, const double thickness, MbSNameMaker &nameMaker, MbSolid *&partToAdd, MbSolid *&partToSubtract)
 Создание составляющих частей жалюзи. Подробнее...
 
MbResultType CreateJalousie (MbSolid &solid, MbeCopyMode sameShell, const MbFace &face, const MbPlacement3D &placement, const RPArray< MbLineSegment > &segments, const MbJalousieValues &params, MbSNameMaker &nameMaker, MbSolid *&result)
 Жалюзи. Подробнее...
 
MbResultType CreateRuledSolid (MbRuledSolidValues &parameters, 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, 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)
 Найти грани, на которых лежит кривая. Подробнее...
 
MbFaceFindSheetFace (const MbCurveEdge &edge)
 Найти верхнюю/нижнюю грань листового тела, содержащую ребро. Подробнее...
 
MbFaceFindPairBendFace (const MbFace &face)
 Найти парную грань сгиба. Подробнее...
 
MbFaceGetPairPlanarFaceByEdge (const MbCurveEdge &curveEdge, const double begDistance, const double endDistance)
 Найти плоскую парную листовую грань по ребру. Подробнее...
 
MbFaceGetPairPlanarFaceByCurve (const MbFace &sheetFace, const MbCurve3D &curve)
 Найти плоскую парную листовую грань по трёхмерной кривой. Подробнее...
 
MbFaceGetPairPlanarFaceByContour (const MbFaceShell &shell, const MbFace &sheetFace, const MbPlacement3D &place, const RPArray< const MbCurve > &segments)
 Найти плоскую парную листовую грань по контуру. Подробнее...
 
MbFaceGetPairPlanarFace (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 GetParamsForCloseCorner (const RPArray< MbFace > &facesPlus, const RPArray< MbFace > &facesMinus, MbClosedCornerValues &parameters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus)
 Рассчитать параметры для замыкания угла. Подробнее...
 
bool GetParamsForCloseCorner (const MbCurveEdge &selectedEdgePlus, const MbCurveEdge &selectedEdgeMinus, MbClosedCornerValues &parameters, MbCurveEdge *&edgePlus, MbCurveEdge *&edgeMinus)
 Рассчитать параметры для замыкания угла. Подробнее...
 
double CalculateSegmentationParameter (const MbCurve &curve, const MbeSegmentationMethod method, const double param, const MbeSegmentationMethod newMethod)
 Вычислить параметр сегментации кривой. Подробнее...
 
MbResultType SplitContourIntoSegments (const MbCurve &curve, const size_t segmNumb, 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)
 Заполнить массив сгибов. Подробнее...
 
MbContour3DMakeContour (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 SheetRibSolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, size_t index, SheetRibValues &pars, const MbSNameMaker &names, MbSolid *&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 &params, const MbSNameMaker &nameMaker, MbSolid *&result)
 Упростить развёртку листового тела. Подробнее...
 
MbCreatorCreateSimplifiedFlatPattern (MbFaceShell &initialShell, const MbeCopyMode sameShell, const MbSimplifyFlatPatternValues &params, const MbSNameMaker &nameMaker, MbResultType &res, MbFaceShell *&shell)
 Упростить развёртку листового тела. Подробнее...
 

Подробное описание

Перечисления

◆ MbeSegmentationMethod

Способ сегментации эскиза.

Способ сегментации эскиза.

Элементы перечислений
sm_Quantity 

По количеству сегментов.

sm_Length 

По длине сегментов.

sm_Angle 

По углу.

sm_Height 

По величине отклонения от хорды.

◆ MbeBendWidthType

Способ задания ширины сгиба.

Способ задания ширины сгиба.

Элементы перечислений
bwt_KFactor 

Ширина сгиба рассчитывается через коэффициент нейтрального слоя.

bwt_Allowance 

Ширина сгиба задана непосредственно.

bwt_Deduction 

Задано уменьшение сгиба.

bwt_Table 

Ширина сгиба рассчитывается по таблице.

Функции

◆ BendSheetSolidOverSegment()

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

Сгиб листового тела по линии.

Линией может быть отрезок, лежащий на плоских гранях bendingFaces, либо прямая. Грани bendingFaces располагаются на общей для них плоскости.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]bendingFaces- Изгибаемые грани.
[in]curve- Прямолинейная кривая, вдоль которой гнуть.
[in]unbended- Флаг построения элемента в разогнутом состоянии.
[in]params- Параметры листового тела.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ SheetSolidJog()

MbResultType SheetSolidJog ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  bendingFaces,
MbCurve3D curve,
bool  unbended,
const MbJogValues jogParams,
const MbBendValues secondBendParams,
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- Результирующее тело.
Возвращает
- Код результата операции.

◆ BendSheetSolid()

MbResultType BendSheetSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbSheetMetalBend > &  bends,
const MbFace fixedFace,
const MbCartPoint fixedPoint,
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- Результирующее тело.
Возвращает
- Код результата операции.

◆ UnbendSheetSolid()

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

Разогнуть сгибы листового тела.

Разгибаются сгибы bends относительно неподвижной грани fixedFace. Если fixedFace - это листовая грань, принадлежащая одному из сгибов bends, то разгиб осуществляется так, чтобы неподвижной осталась плоскость, касательная к поверхности, лежащей под fixedFace, в точке fixedPoint.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]bends- Множество сгибов, состоящих из пар граней - внутренней и внешней граней сгиба.
[in]fixedFace- Грань, остающаяся неподвижной.
[in]fixedPoint- Точка в параметрической области грани fixedFace, в случае, если она сгибовая.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
[out]ribContours- Набор контуров содержащих кривые границ ребер жесткости(при их наличии) в разогнутом виде.
Возвращает
- Код результата операции.

◆ CreateSheetSolid()

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- Результирующее тело.
Возвращает
- Код результата операции.

◆ SheetSolidPlate()

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- Результирующее тело.
Возвращает
- Код результата операции.

◆ SheetSolidHole()

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- Результирующее тело.
Возвращает
- Код результата операции.

◆ BendSheetSolidByEdges()

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

Сгиб на ребре.

Сгиб строится на одном или нескольких рёбрах, принадлежащих плоской листовой грани, согласно заданным параметрам.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]edges- Рёбра сгибов.
[in]unbended- Флаг построения элемента в разогнутом состоянии.
[in]params- Параметры сгибов.
[in]nameMaker- Именователь.
[in,out]resultBends- Параметры формируемых сгибов и имена созданных граней.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ SheetSolidJointBend()

MbResultType SheetSolidJointBend ( MbSolid solid,
const MbeCopyMode  sameShell,
const MbPlacement3D placement,
const MbContour contour,
const RPArray< MbCurveEdge > &  edges,
const bool  unbended,
const MbJointBendValues params,
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- Результирующее тело.
Возвращает
- Код результата операции.

◆ CloseCorner()

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

Замыкание угла.

Если на соседних рёбрах листовой грани построены два сгиба, то между ними образуется угол, который можно затянуть материалом, расширив соответствующие стороны этих сгибов, что и осуществляет данная операция. В параметрах можно выставить величину зазора и виды замыкания отдельно для сгибов и отдельно для их плоских продолжений.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]curveEdgePlus- Ребро сгиба, условно принятое за положительное.
[in]curveEdgeMinus- Ребро сгиба, условно принятое за отрицательное.
[in]params- Параметры замыкания.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CutSolidArrayByBorders()

MbResultType CutSolidArrayByBorders ( MbSolid solidArray,
const MbeCopyMode  sameShells,
const MbSolid sheetSolid,
const SArray< MbPlacement3D > &  placements,
const double  depth,
const MbSNameMaker nameMaker,
MbSolid *&  resultSolid 
)

Подрезка массива тела solidArray контурами плоских листовых граней тела sheetSolid.

Для подрезания используются только грани, компланарые хотя бы одной ЛСК из массива placements. Контурные тела граней строятся выдавливанием ограничивающих контуров в обе стороны на величину depth.

Аргументы
[in]solidArray- Подрезаемое тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]sheetSolid- Листовое тело, границами гранями которого подрезать.
[in]placements- Массив локальных систем координат для определения подрезающих граней.
[in]depth- Глубина выдавливания.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateStampParts()

MbResultType CreateStampParts ( const MbFace face,
const MbPlacement3D placement,
const MbContour contour,
const MbStampingValues params,
const double  thickness,
MbSNameMaker nameMaker,
MbSolid *&  partToAdd,
MbSolid *&  partToSubtract 
)

Создание составляющих частей штамповки.

Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.

Аргументы
[in]face- Грань, контуром которой надо подрезать штамповку.
[in]placement- Локальная система координат центра штамповки.
[in]contour- Контур штамповки.
[in]params- Параметры штамповки.
[in]thickness- Толщина листа.
[in]nameMaker- Именователь.
[out]partToAdd- Добавляемая часть штамповки.
[out]partToSubtract- Вычитаемая часть штамповки.
Возвращает
- Код результата операции.

◆ Stamp()

MbResultType Stamp ( MbSolid solid,
MbeCopyMode  sameShell,
const MbFace face,
const MbPlacement3D placement,
const MbContour contour,
const MbStampingValues params,
MbSNameMaker nameMaker,
MbSolid *&  result 
)

Штамповка.

Штамповка строится по одному замкнутому или незамкнутому контуру, лежащему на плоской листовой грани. Замкнутый эскиз может лежать на листовой грани полностью или частично, а незамкнутый должен начинаться и заканчиваться за пределами грани. Штамповка подрезается границами листовой грани, на которой располагается эскиз.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]face- Грань штамповки.
[in]placement- Локальная система координат контура.
[in]contour- Контур штамповки.
[in]params- Параметры штамповки.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateSphericalStampParts()

MbResultType CreateSphericalStampParts ( const MbFace face,
const MbPlacement3D placement,
const MbStampingValues params,
const double  thickness,
const MbCartPoint center,
MbSNameMaker nameMaker,
MbSolid *&  partToAdd,
MbSolid *&  partToSubtract 
)

Создание составляющих частей сферической штамповки.

Штамповка строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.

Аргументы
[in]face- Грань, контуром которой надо подрезать штамповку.
[in]placement- Локальная система координат центра штамповки.
[in]params- Параметры штамповки.
[in]thickness- Толщина листа.
[in]center- Центр сферической штамповки.
[in]nameMaker- Именователь.
[out]partToAdd- Добавляемая часть штамповки.
[out]partToSubtract- Вычитаемая часть штамповки.
Возвращает
- Код результата операции.

◆ SphericalStamp()

MbResultType SphericalStamp ( MbSolid solid,
MbeCopyMode  sameShell,
const MbFace face,
const MbPlacement3D placement,
const MbStampingValues params,
const MbCartPoint center,
MbSNameMaker nameMaker,
MbSolid *&  result 
)

Сферическая штамповка.

Штамповка строится по параметрам и центру, лежащему на плоской листовой грани. Штамповка подрезается границами листовой грани, на которой располагается центр.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]face- Грань штамповки.
[in]placement- Локальная система координат центра штамповки.
[in]params- Параметры штамповки.
[in]center- Центр сферической штамповки.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateBeadParts()

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

Создание составляющих частей буртика.

Буртик строится посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Данная функция возвращает обе эти части в качестве отдельных тел. Подрезка краями пластины, на которой находятся эскизы, не производится.

Аргументы
[in]face- Грань, контуром которой надо подрезать буртик.
[in]placement- Локальная система координат контуров.
[in]contours- Контуры буртика.
[in]centers- Центры сферических штамповок.
[in]params- Параметры буртика.
[in]thickness- Толщина листа.
[in]nameMaker- Имена контуров.
[out]partToAdd- Добавляемая часть буртика.
[out]partToSubtract- Вычитаемая часть буртика.
Возвращает
- Код результата операции.

◆ CreateBead()

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

Буртик.

Буртик строится по одному или нескольким замкнутым или незамкнутым эскизам, лежащим на плоской листовой грани, а также по точкам. Если эскиз выходит за пределы этой грани, то буртик подрезается её границами. Буртик по незамкнутому эскизу на в начале и конце имеет законцовки, вид которых задаётся в параметрах операции. Буртик по точке имеет вид сферической штамповки.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]face- Грань буртика.
[in]placement- Локальная система координат контуров.
[in]contours- Контуры буртика.
[in]centers- Центры сферических штамповок.
[in]params- Параметры буртика.
[in]nameMaker- Имена контуров.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateJalousieParts()

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

Создание составляющих частей жалюзи.

Вытянутые жалюзи строятся посредством добавления к пластине выпуклой части и последующим вычитанием вогнутой. Подрезанные жалюзи - наоборот сначала вычитанием прямоугольной заготовки из пластины, а затем добавлением к ней отогнутой части. Данная функция возвращает обе эти части в качестве отдельных тел. При выходе за края пластины жалюзи не строятся.

Аргументы
[in]face- Грань, контуром которой надо подрезать буртик.
[in]placement- Локальная система координат отрезка.
[in]segments- Отрезки жалюзи.
[in]params- Параметры жалюзи.
[in]nameMaker- Именователь.
[out]partToAdd- Добавляемая часть жалюзи.
[out]partToSubtract- Вычитаемая часть жалюзи.
Возвращает
- Код результата операции.

◆ CreateJalousie()

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

Жалюзи.

Жалюзи строятся на одном или нескольких отрезках, лежащих на плоской листовой грани. Жалюзи не могут выходить за пределы грани и пересекаться сами с собой. Жалюзи бывают двух видов: вытяжка и подрезка. Вытяжка имеет вид половины, разрезанного вдоль прямолинейного буртика, а подрезка имеет вид отогнутой пластины.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]face- Грань жалюзи.
[in]placement- Локальная система координат отрезка.
[in]segments- Отрезки жалюзи.
[in]params- Параметры жалюзи.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateRuledSolid()

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- Результирующее тело.
Возвращает
- Код результата операции.

◆ SheetSolidUnion()

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- Объединённое листовое тело.
Возвращает
- Код результата операции.

◆ CanUnionSheetSolids()

bool CanUnionSheetSolids ( const MbSolid solid1,
const MbSolid solid2 
)

Проверяет, что тела листовые и их можно объединить по торцевой грани.

Функция завершается успешно, если находит единственную совпадающую в пространстве пару боковинок первого и второго тела.

Аргументы
[in]solid1- Первое листовое тело.
[in]solid2- Второе листовое тело.
Возвращает
- true, если листовые тела можно объединить, false - в противном случае.

◆ RestoreSideEdges()

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

Восстановить боковые рёбра сгибов.

Операция служит для восстановления боковых границ сгибов после построений, которые могли их удалить, таких как вырез или скругление.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]outerFaces- Внешние грани сгибов, у которых восстанавливаем боковые рёбра.
[in]strict- При false - восстанавливаем боковые рёбра только там, где возможно без сообщений об ошибке.
[out]bends- Сгибы, у которых восстановили боковые рёбра.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ SeparateBendsBySubshells()

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- Соответствующие этим подоболочкам неподвижные грани.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ CollectBends()

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- Найденные пары граней, составляющие сгибы.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ IsSuitableForFixed()

bool IsSuitableForFixed ( const MbFace face)

Проверить, что грань может быть выбрана в качестве фиксированной при сгибе/разгибе.

Проверяется, что указанная грань при сгибе/разгибе всех сгибов не изменится.

Аргументы
[in]-Проверяемая грань.
Возвращает
true - грань может быть выбрана в качестве фиксированной, false - в противном случае.

◆ FindCurveFaces()

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

Найти грани, на которых лежит кривая.

Кривая curve должна быть прямолинейной.

Аргументы
[in]faces- Набор граней для поиска.
[in]curve- Кривая, лежащая на некоторых из них.
[out]result- Грани, на которых лежит кривая curve.

◆ FindSheetFace()

MbFace* FindSheetFace ( const MbCurveEdge edge)

Найти верхнюю/нижнюю грань листового тела, содержащую ребро.

Поиск среди двух стыкующихся в ребре edge граней верхней или нижней грани листового тела.

Аргументы
[in]edge- Неориентированное ребро листовой грани.
Возвращает
Найденную листовую грань.

◆ FindPairBendFace()

MbFace* FindPairBendFace ( const MbFace face)

Найти парную грань сгиба.

Поиск по листовой грани сгиба противоположной ей листовой грани.

Аргументы
[in]face- Листовая грань сгиба.
Возвращает
Искомую парную ей грань.

◆ GetPairPlanarFaceByEdge()

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

Найти плоскую парную листовую грань по ребру.

Функция поиска парной листовой грани для операции сгиб на ребре. Применяется для многотолщинных листовых тел в условиях, когда выбранной листовой грани соответствует несколько парных ей граней, находящихся на разном расстоянии от неё. Положительные расстояния begDistance и endDistance означают отступ наружу от ребра, а отрицательные - внутрь.

Аргументы
[in]curveEdge- Ребро, по которому искать.
[in]begDistance- Расстояние от начала ребра.
[in]endDistance- Расстояние от конца ребра.
Возвращает
Искомую грань.

◆ GetPairPlanarFaceByCurve()

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

Найти плоскую парную листовую грань по трёхмерной кривой.

Функция поиска парной листовой грани для операции сгиб по линии. Применяется для многотолщинных листовых тел в условиях, когда выбранной листовой грани соответствует несколько парных ей граней, находящихся на разном расстоянии от неё.

Аргументы
[in]sheetFace- Плоская листовая грань.
[in]curve- Лежащая на ней прямолинейная кривая.
Возвращает
Искомую грань.

◆ GetPairPlanarFaceByContour()

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.
Возвращает
Искомую грань.

◆ GetPairPlanarFace()

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

Найти плоскую парную листовую грань.

Поиск осуществляется сначала через рёбра внешнего цикла грани sheetFace, в случае неудачи - через вершины этого цикла, и если грань не найдена, то перебором по всем связным граням или граням из набора faceShell. В последнем случае предпочтение отдаётся более близко расположенным граням.

Аргументы
[in]faceShell- Набор граней для поиска.
[in]sheetFace- Исходная плоская грань.
Возвращает
- Искомую плоскую грань.

◆ GetDistanceIfSameAndOpposite()

double GetDistanceIfSameAndOpposite ( const MbFace face1,
const MbFace face2 
)

Рассчитать расстояние между гранями.

Определяет расстояние между парой подобных граней. Подобными считаются пары плоских, цилиндрических и конических граней, у которых нормали коллинеарны и противоположно направлены. Расстояние считается положительным, если грани располагаются со стороны, противоположной направлению нормали, и отрицательным в противном случае. В случае ошибки возвращается 0.0.

Аргументы
[in]face1- Первая грань.
[in]face2- Вторая грань.
Возвращает
- Значение расстояния между гранями.

◆ GetSimilarCylindricBends()

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

Найти подобные сгибы.

В листовом теле shell ищутся согнутые цилиндрические/конические сгибы, которые надо добавить к сгибам из bends, чтобы они могли разогнуться, то есть сгибы разгибаемые только совместно.

Аргументы
[in]shell- Набор граней поиска.
[in,out]bends- Множество подобных сгибов.

◆ CalculateTangentPoint()

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- Точка касания.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ CalculateConicAxisLine()

bool CalculateConicAxisLine ( const MbFace face,
MbLineSegment axisLineSegment 
)

Рассчитать осевую линию разогнутого конического сгиба.

Возвращает осевую линию в координатах параметрической области плоскости, лежащей под гранью face.

Аргументы
[in]face- Листовая грань разогнутого конического сгиба.
[out]axisLineSegment- Искомая осевая линия.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ BuildBends3DAxisLines()

bool BuildBends3DAxisLines ( const RPArray< MbFace > &  bendFaces,
RPArray< MbLineSegment3D > &  axisLineSegments 
)

Рассчитать осевую линию разогнутых сгибов.

Возвращает трёхмерную осевую линию, лежащую на разогнутой грани сгиба.

Аргументы
[in]bendFaces- Грани разогнутых сгибов, для которых строить линии сгиба.
[out]axisLineSegments- Искомая осевая линия.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ GetParamsForCloseCorner() [1/2]

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- Ребро сгиба, условно принятое за отрицательное.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ GetParamsForCloseCorner() [2/2]

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 - в противном случае.

◆ CalculateSegmentationParameter()

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

Вычислить параметр сегментации кривой.

Вычислить параметр сегментации для заданного метода. При изменении метода результат сегментации не меняется.

Аргументы
[in]curve- Кривая (дуга).
[in]method- Метод сегментации.
[in]param- Параметр сегментации.
[in]newMethod- Метод сегментации, для которого нужно вычислить значение параметра.
Возвращает
newParam - Вычисленный параметр.

◆ SplitContourIntoSegments()

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

Аппроксимировать кривую (дугу) ломаной.

Аппроксимировать кривую (дугу) ломаной.

Аргументы
[in]contour- Кривая (дуга).
[in]segmNumber- Количество сегментов аппроксимации.
[out]resultContour- Аппроксимированный отрезками контур.
Возвращает
- Код результата операции.

◆ SplitContoursIntoSegments()

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

Аппроксимировать участки контуров (дуги) ломаной.

Аппроксимировать участки контуров (дуги) ломаной.

Аргументы
[in]contour1- Первый контур.
[in]breaks1- Массив параметров разбиения первого контура.
[in]contour2- Второй контур.
[in]breaks2- Массив параметров разбиения второго контура.
[in]segmNumber- Количество сегментов аппроксимации.
Возвращает
- Код результата операции.

◆ FillBendNamesArray()

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

Заполнить массив сгибов.

Заполнить массив сгибов.

Аргументы
[in]contour1- Первый контур.
[in]placement1- ЛСК первого контура.
[in]breaks1- Массив параметров разбиения первого контура.
[in]contour2- Второй контур.
[in]placement2- ЛСК второго контура.
[in]breaks2- Массив параметров разбиения второго контура.
[in]nameMaker- Массив имён граней линейчатой поверхности.
[out]bendNames- Массив параметров сгибов.
Возвращает
true - в случае успеха операции, false - в противном случае.

◆ MakeContour()

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- Массив имён сегментов контура.
Возвращает
Разбитый с помощью массива breaks на сегменты трёхмерный контур.

◆ MakeSheetRiContourByTwoSides()

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

Создать контур ребра жесткости по двум сторонам.

Создать двумерный контур ребра жесткости и его ЛСК по двум сторонам.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.

Аргументы
[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- Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела.
Возвращает
True - в случае успеха операции, false - в противном случае.

◆ MakeSheetRiContourBySideAndAngle()

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

Создать контур ребра жесткости по стороне и углу.

Создать двумерный контур ребра жесткости и его ЛСК по стороне и углу наклона.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.

Аргументы
[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- Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела.
Возвращает
True - в случае успеха операции, false - в противном случае.

◆ MakeSheetRiContourByDepthAndAngle()

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

Создать контур ребра жесткости по глубине и углу.

Создать двумерный контур ребра жесткости и его ЛСК по глубине и углу наклона.
Начало координат ЛСК лежит на прямой пересечения плоских внутренних сторон сгиба.

Аргументы
[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- Расстояние по биссектрисе угла сгиба от контура без прогиба до листового тела.
Возвращает
True - в случае успеха операции, false - в противном случае.

◆ SheetRibParts()

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- Вычитаемый элемент ребра.
Возвращает
Возвращает код результата операции.

◆ SheetRibSolid()

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- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ BendAnySolid()

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

Разрезать тело секущими плоскостями и согнуть получившиеся сегменты согласно заданным параметрам.


Аргументы
[in]solid- Исходное тело.
[in]sameShell- Флаг удаления оболочки исходного тела.
[in]bends- Множество сгибов, состоящих из секущей плоскости и параметров сгиба.
[in]nameMaker- Именователь.
[out]result- Результирующее тело.
Возвращает
- Код результата операции.

◆ SimplifyFlatPattern()

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- Результирующее тело.
Возвращает
- Код результата операции.

◆ CreateSimplifiedFlatPattern()

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- Результирующее тело.
Возвращает
- Код результата операции.