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

Функции

MbResultType CreateFastener (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCartPoint3D &point, const FastenersValues &params, const MbSNameMaker &names, RPArray< MbSolid > &results)
 Создать крепеж по трехмерной точке. НЕ ИСПОЛЬЗОВАТЬ ВНЕ ТЕСТОВОГО ПРИЛОЖЕНИЯ!!! ФУНКЦИЯ НАХОДИТСЯ В РАЗРАБОТКЕ!!! Подробнее...
 
MbResultType CreateFasteners (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCurve3D &curve, size_t number, const FastenersValues &params, const MbSNameMaker &names, RPArray< MbSolid > &results)
 Cоздать набор крепежных элементов по трехмерной кривой. НЕ ИСПОЛЬЗОВАТЬ ВНЕ ТЕСТОВОГО ПРИЛОЖЕНИЯ!!! ФУНКЦИЯ НАХОДИТСЯ В РАЗРАБОТКЕ!!! Подробнее...
 
MbResultType CreateMerging (MbSolid &solid, MbeCopyMode sameShell, c3d::FacesVector &faces, const MbNurbsParameters &uParam, const MbNurbsParameters &vParam, const MbSNameMaker &names, bool prolong, MbSolid *&result)
 Слить несколько граней тела в одну грань. Подробнее...
 
MbResultType TouchedSolidsMerging (MbSolid &solid1, MbeCopyMode sameShell1, MbSolid &solid2, MbeCopyMode sameShell2, const MbSNameMaker &names, double precision, MbSolid *&result)
 Объединить тела, имеющие контактирующие грани. Подробнее...
 
MbResultType ElementarySolid (const SArray< MbCartPoint3D > &points, ElementaryShellType solidType, const MbSNameMaker &names, MbSolid *&result)
 Создать элементарное тело. Подробнее...
 
MbResultType ElementarySolid (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result)
 Создать тело по поверхности. Подробнее...
 
MbResultType MeshSolid (const MbMesh &mesh, const GridsToShellValues &params, const MbSNameMaker &names, MbSolid *&result, IProgressIndicator *prog=NULL)
 Создать тело на основе полигональной модели. Подробнее...
 
MbResultType GridSolid (const MbGrid &grid, const MbSNameMaker &names, MbSolid *&result, IProgressIndicator *prog=NULL)
 Создать тело на основе триангуляции. Подробнее...
 
MbResultType CollectionSolid (const MbCollection &grid, const MbSNameMaker &names, MbSolid *&result, IProgressIndicator *progBar=NULL)
 Создать тело на основе коллекции элементов. Подробнее...
 
MbSolidCreateSolid (MbFaceShell &shell, const MbSNameMaker &names)
 Создать тело c заданной оболочкой. Подробнее...
 
MbResultType ExtrusionSolid (const MbSweptData &sweptData, const MbVector3D &direction, const MbSolid *solid1, const MbSolid *solid2, bool checkIntersection, const ExtrusionValues &params, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело выдавливания. Подробнее...
 
MbResultType RevolutionSolid (const MbSweptData &sweptData, const MbAxis3D &axis, const RevolutionValues &params, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело вращения. Подробнее...
 
MbResultType EvolutionSolid (const MbSweptData &sweptData, const MbCurve3D &spine, const EvolutionValues &params, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, const MbSNameMaker &spineNames, MbSolid *&result)
 Создать кинематическое тело. Подробнее...
 
MbResultType EvolutionSolid (const MbSweptData &sweptData, const MbSpine &spine, const EvolutionValues &params, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, const MbSNameMaker &spineNames, MbSolid *&result)
 Создать кинематическое тело. Подробнее...
 
MbResultType LoftedSolid (SArray< MbPlacement3D > &pl, RPArray< MbContour > &c, const MbCurve3D *spine, const LoftedValues &params, SArray< MbCartPoint3D > *ps, const MbSNameMaker &names, RPArray< MbSNameMaker > &ns, MbSolid *&result)
 Создать тело по плоским сечениям. Подробнее...
 
MbResultType LoftedSolid (SArray< MbPlacement3D > &pl, RPArray< MbContour > &c, const MbCurve3D *spine, const LoftedValues &params, RPArray< MbCurve3D > *guideCurves, SArray< MbCartPoint3D > *ps, const MbSNameMaker &names, RPArray< MbSNameMaker > &ns, MbSolid *&result)
 Создать тело по пространственным сечениям. Подробнее...
 
MbResultType LoftedSolid (RPArray< MbSurface > &surfs, RPArray< MbContour > &c, const MbCurve3D *spine, const LoftedValues &params, RPArray< MbCurve3D > *guideCurves, SArray< MbCartPoint3D > *ps, const MbSNameMaker &names, RPArray< MbSNameMaker > &ns, MbSolid *&result)
 Создать тело по пространственным сечениям. Подробнее...
 
MbResultType ExtrusionResult (MbSolid &solid, MbeCopyMode sameShell, const MbSweptData &sweptData, const MbVector3D &direction, const ExtrusionValues &params, OperationType oType, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело выдавливания и выполнить булеву операцию. Подробнее...
 
MbResultType RevolutionResult (MbSolid &solid, MbeCopyMode sameShell, const MbSweptData &sweptData, const MbAxis3D &axis, const RevolutionValues &params, OperationType oType, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело вращения и выполнить булеву операцию. Подробнее...
 
MbResultType EvolutionResult (MbSolid &solid, MbeCopyMode sameShell, const MbSweptData &sweptData, const MbCurve3D &spine, const EvolutionValues &params, OperationType oType, const MbSNameMaker &operNames, const RPArray< MbSNameMaker > &contoursNames, const MbSNameMaker &spineNames, MbSolid *&result)
 Создать кинематическое тело и выполнить булеву операцию. Подробнее...
 
MbResultType LoftedResult (MbSolid &solid, MbeCopyMode sameShell, SArray< MbPlacement3D > &pl, RPArray< MbContour > &c, const MbCurve3D *spine, const LoftedValues &params, OperationType oType, SArray< MbCartPoint3D > *ps, const MbSNameMaker &names, RPArray< MbSNameMaker > &ns, MbSolid *&result)
 Создать тело по плоским сечениям и выполнить булеву операцию. Подробнее...
 
MbResultType LoftedResult (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbSurface > &surfs, RPArray< MbContour > &c, const MbCurve3D *spine, const LoftedValues &params, OperationType oType, RPArray< MbCurve3D > *guideCurves, SArray< MbCartPoint3D > *ps, const MbSNameMaker &names, RPArray< MbSNameMaker > &ns, MbSolid *&result)
 Создать тело по пространственным сечениям и выполнить булеву операцию. Подробнее...
 
MbResultType BooleanResult (MbSolid &solid1, MbeCopyMode sameShell1, MbSolid &solid2, MbeCopyMode sameShell2, OperationType oType, const MbBooleanFlags &flags, const MbSNameMaker &operNames, MbSolid *&result)
 Выполнить булеву операцию. Подробнее...
 
MbResultType BooleanSolid (MbSolid &solid1, MbeCopyMode sameShell1, MbSolid &solid2, MbeCopyMode sameShell2, OperationType oType, const MbSNameMaker &names, MbSolid *&result)
 Создать тело путем булевой операции. Подробнее...
 
MbResultType BooleanShell (MbSolid &solid1, MbeCopyMode sameShell1, MbSolid &solid2, MbeCopyMode sameShell2, OperationType oType, const MbSNameMaker &names, MbSolid *&result)
 Создать тело путем булевой операции. Подробнее...
 
MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbSurface &surface, int retainedPart, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, MbSolid *&result)
 Отрезать часть тела поверхностью. Подробнее...
 
MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, const MbVector3D &direction, int retainedPart, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, MbSolid *&result)
 Отрезать часть тела выдавленным плоским контуром. Подробнее...
 
DEPRECATE_DECLARE MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbSurface &surface, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, RPArray< MbSolid > &result)
 Разрезать тело поверхностью. Подробнее...
 
DEPRECATE_DECLARE MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, const MbVector3D &direction, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, RPArray< MbSolid > &result)
 Разрезать тело выдавленным плоским контуром. Подробнее...
 
MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbShellCuttingParams &cuttingParams, RPArray< MbSolid > &results)
 Разрезать тело на части. Подробнее...
 
MbResultType SymmetrySolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbSNameMaker &names, MbSolid *&result)
 Создать симметричное тело относительно плоскости. Подробнее...
 
MbResultType MirrorSolid (const MbSolid &solid, const MbPlacement3D &place, const MbSNameMaker &names, MbSolid *&result)
 Создать зеркальную копию тела относительно плоскости. Подробнее...
 
MbResultType RibSolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbContour &contour, size_t index, RibValues &pars, const MbSNameMaker &names, MbSolid *&result)
 Создать тело с ребром жёсткости. Подробнее...
 
MbResultType RibElement (const MbSolid &solid, const MbPlacement3D &place, MbContour &contour, size_t index, RibValues &pars, const MbSNameMaker &names, MbSolid *&result)
 Создать отдельное ребро жёсткости. Подробнее...
 
MbResultType FilletSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbCurveEdge > &initCurves, RPArray< MbFace > &initBounds, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Скруглить ребра постоянным радиусом. Подробнее...
 
MbResultType FilletSolid (MbSolid &solid, MbeCopyMode sameShell, SArray< MbEdgeFunction > &initCurves, RPArray< MbFace > &initBounds, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Скруглить ребра переменным радиусом. Подробнее...
 
MbResultType FilletSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbCurveEdge > &initCurves, RPArray< MbFace > &initBounds, RPArray< MbVertex > &initVertices, const SmoothValues &params, const CornerValues &cornerData, const MbSNameMaker &names, MbSolid *&result)
 Скруглить вершины и примыкающие к ней рёбра постоянным радиусом. Подробнее...
 
MbResultType FullFilletSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbFace > &initFaces, const RPArray< MbFace > &initFacesLeft, const RPArray< MbFace > &initFacesRight, const FullFilletValues &params, const MbSNameMaker &names, MbSolid *&result)
 Скруглить цепочку граней тела. Подробнее...
 
MbResultType ChamferSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbCurveEdge > &initCurves, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Построить фаски ребер тела. Подробнее...
 
MbResultType OffsetSolid (MbSolid &solid, MbeCopyMode sameShell, double offset, const MbSNameMaker &names, MbSolid *&result)
 Создать эквидистантное тело. Подробнее...
 
MbResultType ThinSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &outFaces, SweptValues &params, const MbSNameMaker &names, bool copyFaceAttrs, MbSolid *&result)
 Создать тонкостенное тело исключением граней. Подробнее...
 
MbResultType ThinSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &outFaces, RPArray< MbFace > &offFaces, SArray< double > &offDists, SweptValues &params, const MbSNameMaker &names, bool copyFaceAttrs, MbSolid *&result)
 Создать тонкостенное тело исключением граней. Подробнее...
 
MbResultType SplitSolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &spPlace, MbeSenseValue spType, const RPArray< MbContour > &spContours, bool spSame, RPArray< MbFace > &selFaces, const MbMergingFlags &flags, const MbSNameMaker &names, MbSolid *&result)
 Выполнить разбиение граней оболочки. Подробнее...
 
MbResultType SplitSolid (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbSpaceItem > &spItems, bool spSame, RPArray< MbFace > &selFaces, const MbMergingFlags &flags, const MbSNameMaker &names, MbSolid *&result)
 Выполнить разбиение граней оболочки. Подробнее...
 
MbResultType DraftSolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &neutralPlace, double angle, const RPArray< MbFace > &faces, MbeFacePropagation fp, bool reverse, const MbSNameMaker &names, MbSolid *&result)
 Уклонить указанные грани тела. Подробнее...
 
MbResultType UnionResult (MbSolid *solid, MbeCopyMode sameShell, RPArray< MbSolid > &solids, MbeCopyMode sameShells, OperationType oType, bool checkIntersect, bool mergeFaces, const MbSNameMaker &names, bool isArray, MbSolid *&result, RPArray< MbSolid > *notGluedSolids=NULL)
 Выполнить объединение пересекающихся тел. Подробнее...
 
MbResultType UnionSolid (RPArray< MbSolid > &solids, MbeCopyMode sameShells, bool checkIntersect, const MbSNameMaker &names, bool isArray, MbSolid *&result, RPArray< MbSolid > *notGluedSolids=NULL)
 Создать одно тело из присланных тел. Подробнее...
 
MbResultType UnionSolid (const RPArray< MbSolid > &solids, const MbSNameMaker &names, MbSolid *&result)
 Создать одно тело из присланных тел. Подробнее...
 
size_t DetachParts (MbSolid &solid, RPArray< MbSolid > &parts, bool sort, const MbSNameMaker &names)
 Разделить тело на отдельные части. Подробнее...
 
size_t CreateParts (const MbSolid &solid, RPArray< MbSolid > &parts, const MbSNameMaker &names)
 Разделить тело на отдельные части. Подробнее...
 
MbResultType ThinSolid (const MbSurface &surface, bool faceSense, SweptValues &params, const MbSNameMaker &names, SimpleName name, MbSolid *&result)
 Построить оболочку тела по поверхности и толщине. Подробнее...
 
MbResultType HoleSolid (MbSolid *solid, MbeCopyMode sameShell, const MbPlacement3D &place, const HoleValues &params, const MbSNameMaker &names, MbSolid *&result)
 Cоздать отверстие, карман, фигурный паз в теле. Подробнее...
 
MbResultType ShellPart (const MbSolid &solid, size_t id, const MbPath &path, const MbSNameMaker &names, MbPartSolidIndices &partIndices, MbSolid *&result)
 Выделить в отдельное тело указанную часть распадающегося на части тела. Подробнее...
 
MbResultType DuplicationSolid (const MbSolid &solid, const DuplicationValues &params, const MbSNameMaker &names, MbSolid *&result)
 Размножить тело. Подробнее...
 
MbResultType IngotSolid (RPArray< MbItem > &solids, bool makeCopy, const MbSNameMaker &names, MbSolid *&result)
 Cоздать одно тело слиток из присланных объектов. Подробнее...
 
size_t MakeDetachShells (MbFaceShell &solid, RPArray< MbFaceShell > &partSolid, bool sort)
 Разделить несвязанные части набора граней на связанные наборы граней. Подробнее...
 
MbCreatorCreateDetach (MbFaceShell &solid, RPArray< MbFaceShell > &partSolid, bool sort, const MbSNameMaker &n, MbResultType &res)
 Разделить несвязанные части набора граней на связанные наборы граней. Подробнее...
 
MbCreatorCreateDuplication (const MbFaceShell &solid, const DuplicationValues &params, const MbSNameMaker &operNames, MbResultType &res, MbFaceShell *&shell)
 Создать оболочку размножения исходной оболочки. Подробнее...
 
MbCreatorCreateElementary (const SArray< MbCartPoint3D > &points, ElementaryShellType t, const MbSNameMaker &n, MbResultType &res, MbFaceShell *&shell)
 Создать оболочку элементарного тела. Подробнее...
 
MbCreatorCreateElementary (const MbElementarySurface &surface, const MbSNameMaker &n, MbResultType &res, MbFaceShell *&shell)
 Создать оболочку элементарного тела. Подробнее...
 
MbCreatorRestoreSideEdges (MbFaceShell &initialShell, const MbeCopyMode sameShell, const RPArray< MbFace > &outerFaces, const bool strict, RPArray< MbSheetMetalBend > &resultBends, const MbSNameMaker &nameMaker, MbResultType &res, MbFaceShell *&shell)
 Построить боковых рёбер сгибов. Подробнее...
 
bool CreateShell (MbFaceShell *&shell, const RPArray< MbCreator > &creators, MbeCopyMode copyMode)
 Создать оболочку по протоколу построения. Подробнее...
 
bool CreateShell (MbFaceShell *&shell, const std::vector< SPtr< MbCreator > > &creators, MbeCopyMode copyMode)
 Создать оболочку по протоколу построения. Подробнее...
 

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

Функции

◆ CreateFastener()

MbResultType CreateFastener ( const RPArray< MbSolid > &  solids,
MbeCopyMode  sameShell,
const MbCartPoint3D point,
const FastenersValues params,
const MbSNameMaker names,
RPArray< MbSolid > &  results 
)

Создать крепеж по трехмерной точке. НЕ ИСПОЛЬЗОВАТЬ ВНЕ ТЕСТОВОГО ПРИЛОЖЕНИЯ!!! ФУНКЦИЯ НАХОДИТСЯ В РАЗРАБОТКЕ!!!

Создать крепеж по трехмерной точке.

Аргументы
[in]solids- Множество тел для скрепления. Режим копирования тел.
[in]point- Трехмерная точка, на основе проецирования которой определяется положение крепежа.
[in]params- Параметры крепежа ( его тип, размеры и т.д. ).
[in]names- Именователь новых граней.
[out]results- Множество тел для скрепления с набором отверстий и набор тел крепежа в отверстиях.
Возвращает
Возвращает код результата операции.

◆ CreateFasteners()

MbResultType CreateFasteners ( const RPArray< MbSolid > &  solids,
MbeCopyMode  sameShell,
const MbCurve3D curve,
size_t  number,
const FastenersValues params,
const MbSNameMaker names,
RPArray< MbSolid > &  results 
)

Cоздать набор крепежных элементов по трехмерной кривой. НЕ ИСПОЛЬЗОВАТЬ ВНЕ ТЕСТОВОГО ПРИЛОЖЕНИЯ!!! ФУНКЦИЯ НАХОДИТСЯ В РАЗРАБОТКЕ!!!

Cоздать набор крепежных элементов по трехмерной кривой.

Аргументы
[in]solids- Множество тел для скрепления.
[in]sameShell- Режим копирования тел.
[in]curve- Трехмерная кривая, на основе проецирования точек которой определяются положения крепежных элементов.
[in]number- Количество точек на кривой. Точки расположены равномерно по длине кривой.
[in]params- Параметры крепежа ( его тип, размеры и т.д. ).
[in]names- Именователь новых граней.
[out]results- Множество тел для скрепления с набором отверстий и набор тел крепежа в отверстиях.
Возвращает
Возвращает код результата операции.

◆ CreateMerging()

MbResultType CreateMerging ( MbSolid solid,
MbeCopyMode  sameShell,
c3d::FacesVector &  faces,
const MbNurbsParameters uParam,
const MbNurbsParameters vParam,
const MbSNameMaker names,
bool  prolong,
MbSolid *&  result 
)

Слить несколько граней тела в одну грань.

Заменить указанные гладко стыкующиеся грани тела одной геометрически совпадающей гранью.
Исходное тело.

Аргументы
[in]sameShell- Режим копирования исходного тела.
[in]faces- Объединяемые грани тела.
[in]uParam- Параметры u направления объединяющей поверхности.
[in]vParam- Параметры v направления объединяющей поверхности.
[in]names- Именователь.
[in]prolong- Параметр добавления гладко стыкующихся граней с faces (prolong>0).
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ TouchedSolidsMerging()

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

Объединить тела, имеющие контактирующие грани.

Объединить тела, удалив контактирующие грани.

Аргументы
[in]solid1- Первое тело.
[in]sameShell1- Способ копирования граней первого тела.
[in]solid2- Второе тело.
[in]sameShell2- Способ копирования граней второго тела.
[in]precision- Точность операции.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ ElementarySolid() [1/2]

MbResultType ElementarySolid ( const SArray< MbCartPoint3D > &  points,
ElementaryShellType  solidType,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать элементарное тело.

Создать одно из элементарных тел по заданным точкам и типу:
solidType = et_Sphere - шар (3 точки),
solidType = et_Torus - тор (3 точки),
solidType = et_Cylinder - цилиндр (3 точки),
solidType = et_Cone - конус (3 точки),
solidType = et_Block - блок (4 точки),
solidType = et_Wedge - клин (4 точки),
solidType = et_Prism - призма (количество вершин основания+1 точка),
solidType = et_Pyramid - пирамида (количество вершин основания+1 точка),
solidType = et_Plate - плита (4 точки), solidType = et_Icosahedron - икосаэдр (3 точки),
solidType = et_Polyhedron - многогранник (3 точки),
solidType = et_Tetrapipe - тетра-труба (3 точки),
solidType = et_Octapipe - окта-труба (3 точки).

Аргументы
[in]points- Набор точек.
points[0] определяет начало локальной системы координат.
Для сферы, тора, цилиндра и конуса:
points[1] определяет направление оси Z локальной системы.
points[2] определяет направление оси X локальной системы.
Для блока, клина и плиты:
points[1] определяет направление оси X локальной системы.
points[2] определяет направление оси Y локальной системы.
Кроме того,
points[1] определяет высоту цилиндра, высоту конуса, большой радиус тора, длину блока, длину клина.
points[2] определяет радиус цилиндра, угол конуса как угол между векторами v1(points[0],points[1]) и v2(points[0],points[2]), радиус сферы, малый радиус тора, ширину блока, ширину клина.
В случае конуса вектора v1(points[0],points[1]) и v2(points[0],points[2]) не должны быть параллельны или перпендикулярны друг другу.
Последняя точка определяет высоту блока, клина, плиты, вершину пирамиды.
[in]solidType- Тип создаваемого тела.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ ElementarySolid() [2/2]

MbResultType ElementarySolid ( const MbSurface surface,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать тело по поверхности.

Создать тело по элементарной поверхности.
Допускается только тип поверхности - цилиндр, конус, сфера, тор.

Аргументы
[in]surface- Поверхность.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ MeshSolid()

MbResultType MeshSolid ( const MbMesh mesh,
const GridsToShellValues params,
const MbSNameMaker names,
MbSolid *&  result,
IProgressIndicator prog = NULL 
)

Создать тело на основе полигональной модели.

Создать тело MbSolid на основе полигональной модели MbMesh.

Аргументы
[in]mesh- Полигональная модель.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ GridSolid()

MbResultType GridSolid ( const MbGrid grid,
const MbSNameMaker names,
MbSolid *&  result,
IProgressIndicator prog = NULL 
)

Создать тело на основе триангуляции.

Создать тело MbSolid на основе триангуляции MbGrid.

Аргументы
[in]grid- Полигональная модель.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ CollectionSolid()

MbResultType CollectionSolid ( const MbCollection grid,
const MbSNameMaker names,
MbSolid *&  result,
IProgressIndicator progBar = NULL 
)

Создать тело на основе коллекции элементов.

Создать тело MbSolid на основе коллекции элементов MbCollection.

Аргументы
[in]grid- Коллекция элементов.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ CreateSolid()

MbSolid* CreateSolid ( MbFaceShell shell,
const MbSNameMaker names 
)

Создать тело c заданной оболочкой.

Создать тело без истории построения с заданной оболочкой.

Аргументы
[in]shell- Оболочка.
[in]names- Именователь.
Возвращает
Возвращает тело без истории.

◆ ExtrusionSolid()

MbResultType ExtrusionSolid ( const MbSweptData sweptData,
const MbVector3D direction,
const MbSolid solid1,
const MbSolid solid2,
bool  checkIntersection,
const ExtrusionValues params,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
MbSolid *&  result 
)

Создать тело выдавливания.

Создать тело выдавливания.
solid1 и solid2 используются с опцией "До ближайших граней" этих тел.

Аргументы
[in]sweptData- Данные об образующей кривой.
[in]direction- Направление выдавливания.
[in]solid1- До ближайших граней этого тела в прямом направлении.
[in]solid2- До ближайших граней этого тела в обратном направлении.
[in]checkIntersection- Объединять тела solid1 и solid2 с проверкой пересечения.
[in,out]params- Параметры выдавливания. Возвращают информацию для построения элементов массива операций до поверхности.
[in]operNames- Именователь операции.
[in]contoursNames- Именователи сегментов образующего контура.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ RevolutionSolid()

MbResultType RevolutionSolid ( const MbSweptData sweptData,
const MbAxis3D axis,
const RevolutionValues params,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
MbSolid *&  result 
)

Создать тело вращения.

Создать тело вращения по данным об образующей.

Аргументы
[in]sweptData- Данные об образующей кривой.
[in]axis- Ось вращения.
[in,out]params- Параметры вращения. Возвращают информацию для построения элементов массива операций до поверхности.
[in]operNames- Именователь операции.
[in]contoursNames- Именователи сегментов образующего контура.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ EvolutionSolid() [1/2]

MbResultType EvolutionSolid ( const MbSweptData sweptData,
const MbCurve3D spine,
const EvolutionValues params,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
const MbSNameMaker spineNames,
MbSolid *&  result 
)

Создать кинематическое тело.

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

Аргументы
[in]sweptData- Данные об образующей.
[in]spine- Направляющая кривая.
[in]params- Параметры операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователь контуров образующей.
[in]spineNames- Именователь направляющей.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ EvolutionSolid() [2/2]

MbResultType EvolutionSolid ( const MbSweptData sweptData,
const MbSpine spine,
const EvolutionValues params,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
const MbSNameMaker spineNames,
MbSolid *&  result 
)

Создать кинематическое тело.

Создать кинематическое тело путем движения образующей кривой вдоль направляющей кривой c дополнительной информацией.

Аргументы
[in]sweptData- Данные об образующей.
[in]spine- Направляющая кривая c дополнительной информацией.
[in]params- Параметры операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователь контуров образующей.
[in]spineNames- Именователь направляющей.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ LoftedSolid() [1/3]

MbResultType LoftedSolid ( SArray< MbPlacement3D > &  pl,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
RPArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

Создать тело по плоским сечениям.

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

Аргументы
[in]pl- Множество систем координат образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Направляющая кривая (может быть NULL).
[in]params- Параметры операции.
[in]ps- Множество точек на образующих контурах, задающий их начальные точки.
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ LoftedSolid() [2/3]

MbResultType LoftedSolid ( SArray< MbPlacement3D > &  pl,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
RPArray< MbCurve3D > *  guideCurves,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
RPArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

Создать тело по пространственным сечениям.

Создать тело по пространственным сечениям c направляющей линией.

Аргументы
[in]pl- Множество систем координат образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Осевая кривая (может быть NULL).
[in]params- Параметры операции.
[in]guideCurves- Множество направляющих кривых, задающих траектории соответствующих точек контуров.
[in]ps- Множество точек на образующих контурах, задающее соответствующие точки (цепочки точек).
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ LoftedSolid() [3/3]

MbResultType LoftedSolid ( RPArray< MbSurface > &  surfs,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
RPArray< MbCurve3D > *  guideCurves,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
RPArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

Создать тело по пространственным сечениям.

Создать тело по пространственным сечениям c направляющей линией.

Аргументы
[in]surfs- Множество поверхностей образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Осевая кривая (может быть NULL).
[in]params- Параметры операции.
[in]guideCurves- Множество направляющих кривых, задающих траектории соответствующих точек контуров.
[in]ps- Множество точек на образующих контурах, задающее соответствующие точки (цепочки точек).
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ ExtrusionResult()

MbResultType ExtrusionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbVector3D direction,
const ExtrusionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
MbSolid *&  result 
)

Создать тело выдавливания и выполнить булеву операцию.

Создать тело выдавливания и выполнить булеву операцию типа oType с телом solid. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.

Аргументы
[in]solid- Первое тело для булевой операции.
[in]sameShell- Режим копирования тела.
[in]sweptData- Данные об образующих кривых.
[in]direction- Направление выдавливания.
[in,out]params- Параметры выдавливания. Возвращают информацию для построения элементов массива операций до поверхности.
[in]oType- Тип булевой операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователи образующих кривых.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ RevolutionResult()

MbResultType RevolutionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbAxis3D axis,
const RevolutionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
MbSolid *&  result 
)

Создать тело вращения и выполнить булеву операцию.

Создать тело вращения и выполнить булеву операцию типа oType с телом solid. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.

Аргументы
[in]solid- Первое тело для булевой операции.
[in]sameShell- Режим копирования тела.
[in]sweptData- Данные об образующих кривых.
[in]axis- Ось вращения.
[in,out]params- Параметры вращения. Возвращают информацию для построения элементов массива операций до поверхности.
[in]oType- Тип булевой операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователи образующих кривых.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ EvolutionResult()

MbResultType EvolutionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbCurve3D spine,
const EvolutionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const RPArray< MbSNameMaker > &  contoursNames,
const MbSNameMaker spineNames,
MbSolid *&  result 
)

Создать кинематическое тело и выполнить булеву операцию.

Создать кинематическое тело и выполнить булеву операцию типа oType с телом solid. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.

Аргументы
[in]solid- Первое тело для булевой операции.
[in]sameShell- Режим копирования тела.
[in]sweptData- Данные об образующей.
[in]spine- Направляющая кривая.
[in]params- Параметры кинематической операции.
[in]oType- Тип булевой операции.
[in]operNames- Именователь.
[in]contoursNames- Именователь контуров образующей.
[in]spineNames- Именователь направляющей.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ LoftedResult() [1/2]

MbResultType LoftedResult ( MbSolid solid,
MbeCopyMode  sameShell,
SArray< MbPlacement3D > &  pl,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
OperationType  oType,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
RPArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

Создать тело по плоским сечениям и выполнить булеву операцию.

Создать тело по плоским сечениям и выполнить булеву операцию типа oType с телом solid. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.

Аргументы
[in]solid- Первое тело для булевой операции.
[in]sameShell- Режим копирования тела.
[in]pl- Множество систем координат образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Направляющая кривая (может быть NULL).
[in]params- Параметры операции.
[in]oType- Тип булевой операции.
[in]ps- Множество точек на образующих контурах, задающий их начальные точки.
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ LoftedResult() [2/2]

MbResultType LoftedResult ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbSurface > &  surfs,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
OperationType  oType,
RPArray< MbCurve3D > *  guideCurves,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
RPArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

Создать тело по пространственным сечениям и выполнить булеву операцию.

Создать тело по пространственным сечениям и выполнить булеву операцию типа oType с телом solid. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.

Аргументы
[in]solid- Первое тело для булевой операции.
[in]sameShell- Режим копирования тела.
[in]surfs- Множество поверхностей контуров.
[in]c- Множество образующих контуров.
[in]spine- Осевая кривая (может быть NULL).
[in]params- Параметры операции.
[in]oType- Тип булевой операции.
[in]guideCurves- Массив направляющих кривых.
[in]ps- Множество точек на образующих контурах, задающий их начальные точки.
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ BooleanResult()

MbResultType BooleanResult ( MbSolid solid1,
MbeCopyMode  sameShell1,
MbSolid solid2,
MbeCopyMode  sameShell2,
OperationType  oType,
const MbBooleanFlags flags,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Выполнить булеву операцию.

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

Аргументы
[in]solid1- Набор граней первого тела.
[in]sameShell1- Способ копирования граней первого тела.
[in]solid2- Набор граней второго тела.
[in]sameShell2- Способ копирования граней второго тела.
[in]oType- Тип булевой операции.
[in]flags- Управляющие флаги булевой операции.
[in]operNames- Именователь операции.
[out]result- Построенный набор граней.


Возвращает
Возвращает код результата операции.

◆ BooleanSolid()

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

Создать тело путем булевой операции.

Создать тело путем булевой операции типа oType для тел solid1 и solid2. Принимаемые значения OperationType для тел:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.
Функция работает только с замкнутыми телами, сливает подобные грани и рёбра. Функция выполняет одноимённую булеву операцию над множествами точек, расположенными внутри и на поверхности тел.

Аргументы
[in]solid1- Первое тело.
[in]sameShell1- Режим копирования первого тела.
[in]solid2- Второе тело.
[in]sameShell2- Режим копирования второго тела.
[in]oType- Тип булевой операции.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ BooleanShell()

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

Создать тело путем булевой операции.

Создать тело путем булевой операции типа oType для оболочек solid1 и solid2. Один из операндов solid1 или solid2 - незамкнутая оболочка. Принимаемые значения OperationType для оболочек:
bo_Variety - объединение,
bo_Internal - пересечение,
bo_External - вычитание.

Аргументы
[in]solid1- Первое тело.
[in]sameShell1- Режим копирования первого тела.
[in]solid2- Второе тело.
[in]sameShell2- Режим копирования второго тела.
[in]oType- Тип булевой операции.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ SolidCutting() [1/5]

MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSurface surface,
int  retainedPart,
const MbSNameMaker names,
bool  closed,
const MbMergingFlags flags,
MbSolid *&  result 
)

Отрезать часть тела поверхностью.

Отрезать часть тела пересекающей его поверхностью.
part = 1 - оставляем часть тела, расположенную сверху поверхности.
part = -1 - оставляем часть тела, расположенную снизу поверхности.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]surface- Секущая поверхность.
[in]retainedPart- Направление отсечения.
[in]names- Именователь.
[in]closed- Флаг режима отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ SolidCutting() [2/5]

MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbContour contour,
const MbVector3D direction,
int  retainedPart,
const MbSNameMaker names,
bool  closed,
const MbMergingFlags flags,
MbSolid *&  result 
)

Отрезать часть тела выдавленным плоским контуром.

Отрезать часть тела оболочкой, полученной выдавливанием плоского контура.
part = 1 - оставляем часть тела, расположенную сверху поверхности выдавливания.
part = -1 - оставляем часть тела, расположенную снизу поверхности выдавливания.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]place- Система координат образующего контура.
[in]contour- Образующий контур.
[in]direction- Направление выдавливания образующего контура.
[in]retainedPart- Направление отсечения.
[in]names- Именователь.
[in]closed- Флаг режим отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ SolidCutting() [3/5]

DEPRECATE_DECLARE MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSurface surface,
const MbSNameMaker names,
bool  closed,
const MbMergingFlags flags,
RPArray< MbSolid > &  result 
)

Разрезать тело поверхностью.

Разрезать тело поверхностью с построением всех отрезанных частей.
Исходное тело.

Аргументы
[in]sameShell- Режим копирования исходного тела. При sameShell != cm_Copy построенные тела нельзя перемещать относительно друг друга.
[in]surface- Секущая поверхность.
[in]names- Именователь.
[in]closed- Флаг режима отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенные тела.
Возвращает
Возвращает код результата операции.

◆ SolidCutting() [4/5]

DEPRECATE_DECLARE MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbContour contour,
const MbVector3D direction,
const MbSNameMaker names,
bool  closed,
const MbMergingFlags flags,
RPArray< MbSolid > &  result 
)

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

Разрезать тело оболочкой, полученной выдавливанием плоского контура, с построением всех отрезанных частей.
Исходное тело.

Аргументы
[in]sameShell- Режим копирования исходного тела. При sameShell != cm_Copy построенные тела нельзя перемещать относительно друг друга.
[in]place- Система координат образующего контура.
[in]contour- Образующий контур.
[in]direction- Направление выдавливания образующего контура.
[in]names- Именователь.
[in]closed- Флаг режим отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенные тела.
Возвращает
Возвращает код результата операции.

◆ SolidCutting() [5/5]

MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbShellCuttingParams cuttingParams,
RPArray< MbSolid > &  results 
)

Разрезать тело на части.

Разрезать тело на части.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]cuttingParams- Параметры операции.
[out]results- Построенные тела.
Возвращает
Возвращает код результата операции.

◆ SymmetrySolid()

MbResultType SymmetrySolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать симметричное тело относительно плоскости.

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

Аргументы
[in]solid- Исходная оболочка.
[in]sameShell- Режим копирования оболочки.
[in]place- Система координат плоскости симметрии.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ MirrorSolid()

MbResultType MirrorSolid ( const MbSolid solid,
const MbPlacement3D place,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Создать зеркальную копию тела относительно плоскости XY локальной системы координат.

Аргументы
[in]solid- Исходная оболочка.
[in]place- Система координат плоскости симметрии.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ RibSolid()

MbResultType RibSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbContour contour,
size_t  index,
RibValues pars,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать тело с ребром жёсткости.

Создать тело с ребром жёсткости.
По заданному контуру функция строит ребро жёсткости и объединяет его с исходным телом. Сегмент контура с указанным номером устанавливает вектор уклона.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]place- Система координат образующего контура.
[in]contour- Формообразующий контур на плоскости XY системы координат place.
[in]index- Номер сегмента в контуре.
[in]pars- Параметры ребра жёсткости.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ RibElement()

MbResultType RibElement ( const MbSolid solid,
const MbPlacement3D place,
MbContour contour,
size_t  index,
RibValues pars,
const MbSNameMaker names,
MbSolid *&  result 
)

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

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

Аргументы
[in]solid- Исходное тело.
[in]place- Система координат образующего контура.
[in]contour- Образующий контур.
[in]index- Номер сегмента в контуре.
[in]pars- Параметры ребра жёсткости.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ FilletSolid() [1/3]

MbResultType FilletSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbCurveEdge > &  initCurves,
RPArray< MbFace > &  initBounds,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Скруглить ребра постоянным радиусом.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initCurves- Множество скругляемых ребер тела.
[in]initBounds- Множество граней для обрезки торцов.
[in]params- Параметры скругления рёбер.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ FilletSolid() [2/3]

MbResultType FilletSolid ( MbSolid solid,
MbeCopyMode  sameShell,
SArray< MbEdgeFunction > &  initCurves,
RPArray< MbFace > &  initBounds,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initCurves- Множество скругляемых ребер тела с функциями изменения радиуса.
[in]initBounds- Множество граней для обрезки торцов.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ FilletSolid() [3/3]

MbResultType FilletSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbCurveEdge > &  initCurves,
RPArray< MbFace > &  initBounds,
RPArray< MbVertex > &  initVertices,
const SmoothValues params,
const CornerValues cornerData,
const MbSNameMaker names,
MbSolid *&  result 
)

Скруглить вершины и примыкающие к ней рёбра постоянным радиусом.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initCurves- Множество скругляемых ребер тела.
[in]initBounds- Множество граней для обрезки торцев.
[in]initVertices- Множество скругляемых вершин.
[in]params- Параметры скругления рёбер.
[in]cornerData- Параметры скругления вершин.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ FullFilletSolid()

MbResultType FullFilletSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  initFaces,
const RPArray< MbFace > &  initFacesLeft,
const RPArray< MbFace > &  initFacesRight,
const FullFilletValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Скруглить цепочку граней тела.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initFaces- Набор граней для скругления.
[in]initFacesLeft- Набор ограничивающих слева граней.
[in]initFacesRight- Набор ограничивающих справа граней.
[in]params- Параметры скругления.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ ChamferSolid()

MbResultType ChamferSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbCurveEdge > &  initCurves,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Построить фаски ребер тела.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initCurves- Множество скругляемых ребер тела.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ OffsetSolid()

MbResultType OffsetSolid ( MbSolid solid,
MbeCopyMode  sameShell,
double  offset,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать эквидистантное тело.

Создать эквидистантное тело или оболочку.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]offset- Расстояние смещения граней.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ ThinSolid() [1/3]

MbResultType ThinSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  outFaces,
SweptValues params,
const MbSNameMaker names,
bool  copyFaceAttrs,
MbSolid *&  result 
)

Создать тонкостенное тело исключением граней.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]outFaces- Вскрываемые грани тела.
[in]params- Параметры операции.
[in]names- Именователь.
[in]copyFaceAttrs- Копировать атрибуты из исходных граней в эквидистантные.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ ThinSolid() [2/3]

MbResultType ThinSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  outFaces,
RPArray< MbFace > &  offFaces,
SArray< double > &  offDists,
SweptValues params,
const MbSNameMaker names,
bool  copyFaceAttrs,
MbSolid *&  result 
)

Создать тонкостенное тело исключением граней.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]outFaces- Вскрываемые грани тела.
[in]offFaces- Множество граней, для которых заданы индивидуальные значения толщин.
[in]offDists- Множество индивидуальных значений толщин (должен быть синхронизирован с массивом offFaces).
[in]params- Параметры операции.
[in]names- Именователь.
[in]copyFaceAttrs- Копировать атрибуты из исходных граней в эквидистантные.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.
Предупреждения
Операция ПОЛНОЦЕННО НЕ РЕАЛИЗОВАНА!

◆ SplitSolid() [1/2]

MbResultType SplitSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D spPlace,
MbeSenseValue  spType,
const RPArray< MbContour > &  spContours,
bool  spSame,
RPArray< MbFace > &  selFaces,
const MbMergingFlags flags,
const MbSNameMaker names,
MbSolid *&  result 
)

Выполнить разбиение граней оболочки.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]spPlace- Система координат контуров.
[in]spType- Направление вытягивания.
[in]spContours- Контура разбиения.
[in]spSame- Использовать оригиналы или копии кривых.
[in]selFaces- Выбранные грани входного тела.
[in]flags- Флаги слияния элементов оболочки.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ SplitSolid() [2/2]

MbResultType SplitSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbSpaceItem > &  spItems,
bool  spSame,
RPArray< MbFace > &  selFaces,
const MbMergingFlags flags,
const MbSNameMaker names,
MbSolid *&  result 
)

Выполнить разбиение граней оболочки.

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

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]spItems- Пространственные элементы разбиения.
[in]spSame- Использовать оригиналы или копии кривых.
[in]selFaces- Выбранные грани входного тела.
[in]flags- Флаги слияния элементов оболочки.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ DraftSolid()

MbResultType DraftSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D neutralPlace,
double  angle,
const RPArray< MbFace > &  faces,
MbeFacePropagation  fp,
bool  reverse,
const MbSNameMaker names,
MbSolid *&  result 
)

Уклонить указанные грани тела.

Уклонить указанные грани тела от нейтральной изоплоскости на заданный угол.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]neutralPlace- Нейтральная плоскость.
[in]angle- Угол уклона.
[in]faces- Уклоняемые грани во входном теле.
[in]fp- Признак захвата граней, гладко стыкующихся с уклоняемыми гранями.
[in]reverse- Флаг обратного направления уклона.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ UnionResult()

MbResultType UnionResult ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbSolid > &  solids,
MbeCopyMode  sameShells,
OperationType  oType,
bool  checkIntersect,
bool  mergeFaces,
const MbSNameMaker names,
bool  isArray,
MbSolid *&  result,
RPArray< MbSolid > *  notGluedSolids = NULL 
)

Выполнить объединение пересекающихся тел.

Выполнить объединение пересекающихся тел и булеву операцию oType с телом solid, если оно не нулевое:
bo_Union - объединение,
bo_Intersect - пересечение,
bo_Difference - вычитание.
Если флаг проверки пересечения checkIntersect == true, то выполняется проверка на пересечение тел и булева операция объединения пересекающихся тел заданного множества в одно тело. В противном случае объединение тел заданного множества выполняется простым перекладыванием граней всех тел в одно новое тело.
Если флаг регулярности множества тел isArray == true, то тела множества расположены в узлах прямоугольной или круговой сетки и позиции тел заданы в именах граней.

Аргументы
[in]solid- Тело.
[in]sameShell- Режим копирования тела.
[in]solids- Множество тел.
[in]sameShells- Режим копирования тел.
[in]oType- Тип булевой операции между телом и массивом тел.
[in]checkIntersect- Проверять пересечение тел.
[in]mergeFaces- Сливать подобные грани.
[in]names- Именователь.
[in]isArray- Флаг регулярности множества тел.
[out]result- Построенное тело.
[out]notGluedSolids- Множество тел, которые не получилось приклеить.
Возвращает
Возвращает код результата операции.

◆ UnionSolid() [1/2]

MbResultType UnionSolid ( RPArray< MbSolid > &  solids,
MbeCopyMode  sameShells,
bool  checkIntersect,
const MbSNameMaker names,
bool  isArray,
MbSolid *&  result,
RPArray< MbSolid > *  notGluedSolids = NULL 
)

Создать одно тело из присланных тел.

Создать тело с объединением или без объединения пересекающихся тел.
Если флаг проверки пересечения checkIntersect == true, то выполняется проверка на пересечение тел и булева операция объединения пересекающихся тел заданного множества в одно тело. В противном случае объединение тел заданного множества выполняется простым перекладыванием граней всех тел в одно новое тело.
Если флаг регулярности множества тел isArray == true, то тела множества расположены в узлах прямоугольной или круговой сетки и позиции тел заданы в именах граней.

Аргументы
[in]solids- Множество тел.
[in]sameShells- Режим копирования тел.
[in]checkIntersect- Проверять пересечение тел.
[in]names- Именователь.
[in]isArray- Флаг регулярности множества тел.
[out]result- Построенное тело.
[out]notGluedSolids- Множество тел, которые не получилось приклеить.
Возвращает
Возвращает код результата операции.

◆ UnionSolid() [2/2]

MbResultType UnionSolid ( const RPArray< MbSolid > &  solids,
const MbSNameMaker names,
MbSolid *&  result 
)

Создать одно тело из присланных тел.

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

Аргументы
[in]solids- Множество тел.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ DetachParts()

size_t DetachParts ( MbSolid solid,
RPArray< MbSolid > &  parts,
bool  sort,
const MbSNameMaker names 
)

Разделить тело на отдельные части.

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

Аргументы
[in,out]solid- Исходное модифицируемое тело.
[out]parts- Отделённые части тела.
[in]sort- Сортировать по убыванию габарита.
[in]names- Именователь.
Возвращает
Возвращает количество отделенных частей.

◆ CreateParts()

size_t CreateParts ( const MbSolid solid,
RPArray< MbSolid > &  parts,
const MbSNameMaker names 
)

Разделить тело на отдельные части.

Если исходное тело распадается на части, то все его части будут сложены в присланный контейнер тел.
Исходное тело остаётся неизменённым.

Аргументы
[in]solid- Исходное тело.
[out]parts- Части тела.
[in]names- Именователь.
Возвращает
Возвращает количество созданных частей.

◆ ThinSolid() [3/3]

MbResultType ThinSolid ( const MbSurface surface,
bool  faceSense,
SweptValues params,
const MbSNameMaker names,
SimpleName  name,
MbSolid *&  result 
)

Построить оболочку тела по поверхности и толщине.

Выполнить построение тела путём придания толщины заданной поверхности.

Аргументы
[in]surface- Поверхность.
[in]faceSense- Ориентация нормали поверхности.
[in]params- Параметры операции.
[in]names- Именователь.
[in]name- Основное простое имя.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ HoleSolid()

MbResultType HoleSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const HoleValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Cоздать отверстие, карман, фигурный паз в теле.

Cоздать отверстие, карман, фигурный паз в теле или создать cверло, бобышку, если solid==NULL.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования тела.
[in]place- Местная система координат для операции.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ ShellPart()

MbResultType ShellPart ( const MbSolid solid,
size_t  id,
const MbPath path,
const MbSNameMaker names,
MbPartSolidIndices partIndices,
MbSolid *&  result 
)

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

Создать тело, из указанной части тела, распадающегося на части. Исходное тело должно состоять из отдельных частей.

Аргументы
[in]solid- Разделяемое на части тело.
[in]id- Номер выбранной части тела
[in]path- Идентификатор для выбранной части.
[in]names- Именователь.
[in,out]partIndices- Индексы частей тела.
[out]result- Построенная оболочка (тело).
Возвращает
Возвращает код результата операции.

◆ DuplicationSolid()

MbResultType DuplicationSolid ( const MbSolid solid,
const DuplicationValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Размножить тело.

Размножить тело согласно параметрам и объединить копии в одно тело.

Аргументы
[in]solid- Исходное тело.
[in]params- Параметры размножения.
[in]names- Именователь операции.
[out]result- Результирующее тело.
Возвращает
Возвращает код результата операции.

◆ IngotSolid()

MbResultType IngotSolid ( RPArray< MbItem > &  solids,
bool  makeCopy,
const MbSNameMaker names,
MbSolid *&  result 
)

Cоздать одно тело слиток из присланных объектов.

Cоздать одно тело слиток из присланных объектов.
Среди присланных объектов используются тела, вставки тел и сборки тел, из которых строится одно тело, которое по внешности совпадает с присланными телами и служит их упрощенным заменителем по внешним параметрам.

Аргументы
[in]solids- Множество тел.
[in]names- Именователь.
[in]makeCopy- Флаг копирования тел перед использованием: true - копировать, false - не копировать.
[out]result- Построенное тело.
Возвращает
Возвращает код результата операции.

◆ MakeDetachShells()

size_t MakeDetachShells ( MbFaceShell solid,
RPArray< MbFaceShell > &  partSolid,
bool  sort 
)

Разделить несвязанные части набора граней на связанные наборы граней.

Разделить несвязанные части набора граней на связанные наборы граней - оболочки. Одна связная оболочка (если sort=true, то наибольшая по диагонали габаритного куба) остаётся в исходном наборе граней solid. Отделенные наборы граней складываются в контейнер partSolid.

Аргументы
[in,out]solid- Исходный набор граней, на выходе - одна из связных оболочек.
[out]partSolid- Набор всех связных частей кроме одной.
[in]sort- Если true, то в partSolid сортировать оболочки по убыванию диагоналей габаритного куба.
Возвращает
Количество оболочек в контейнере partSolid.

◆ CreateDetach()

MbCreator* CreateDetach ( MbFaceShell solid,
RPArray< MbFaceShell > &  partSolid,
bool  sort,
const MbSNameMaker n,
MbResultType res 
)

Разделить несвязанные части набора граней на связанные наборы граней.

Разделить несвязанные части набора граней на связанные наборы граней - оболочки. Одновременно с построением оболочки функция создаёт её строитель.

Аргументы
[in,out]solid- Исходная оболочка.
[out]partSolid- Набор всех связных частей - оболочек.
[in]sort- Если true, то в partSolid сортировать оболочки по убыванию диагоналей габаритного куба.
[in]n- Именователь граней.
[out]res- Код результата операции.
Возвращает
Возвращает строитель.

◆ CreateDuplication()

MbCreator* CreateDuplication ( const MbFaceShell solid,
const DuplicationValues params,
const MbSNameMaker operNames,
MbResultType res,
MbFaceShell *&  shell 
)

Создать оболочку размножения исходной оболочки.

По данной оболочке и параметрам размножения построить оболочку как результат объединения копий.
Одновременно с построением оболочки функция создаёт её строитель.

Аргументы
[in]solid- Исходная оболочка.
[in]params- Параметры размножения.
[in]operNames- Именователь операции.
[out]duplSolid- Построенный набор граней.


Аргументы
[out]res- Код результата операции.
Возвращает
Возвращает строитель, если операция была выполнена успешно.

◆ CreateElementary() [1/2]

MbCreator* CreateElementary ( const SArray< MbCartPoint3D > &  points,
ElementaryShellType  t,
const MbSNameMaker n,
MbResultType res,
MbFaceShell *&  shell 
)

Создать оболочку элементарного тела.

Создать оболочку элементарного тела по набору опорных точек и типу:
solidType = et_Sphere - шар (3 точки),
solidType = et_Torus - тор (3 точки),
solidType = et_Cylinder - цилиндр (3 точки),
solidType = et_Cone - конус (3 точки),
solidType = et_Block - блок (4 точки),
solidType = et_Wedge - клин (4 точки),
solidType = et_Prism - призма (количество вершин основания+1 точка),
solidType = et_Pyramid - пирамида (количество вершин основания+1 точка),
solidType = et_Plate - плита (4 точки).
Одновременно с построением оболочки функция создаёт её строитель.

Аргументы
[in]points- Набор опорных точек.
[in]t- Тип элементарного тела.
[in]n- Именователь операции.
[out]res- Код результата операции.
[out]shell- Оболочка - результат построения.
Возвращает
Возвращает строитель.

◆ CreateElementary() [2/2]

MbCreator* CreateElementary ( const MbElementarySurface surface,
const MbSNameMaker n,
MbResultType res,
MbFaceShell *&  shell 
)

Создать оболочку элементарного тела.

Создать оболочку элементарного тела по элементарной поверхности.
Одновременно с построением оболочки функция создаёт её строитель.

Аргументы
[in]surface- Элементарная поверхность.
Допускается тип поверхности - шар, тор, цилиндр, конус.
[in]n- Именователь операции.
[out]res- Код результата операции.
[out]shell- Оболочка - результат операции.
Возвращает
Возвращает строитель.

◆ RestoreSideEdges()

MbCreator* RestoreSideEdges ( MbFaceShell initialShell,
const MbeCopyMode  sameShell,
const RPArray< MbFace > &  outerFaces,
const bool  strict,
RPArray< MbSheetMetalBend > &  resultBends,
const MbSNameMaker nameMaker,
MbResultType res,
MbFaceShell *&  shell 
)

Построить боковых рёбер сгибов.

Построить оболочку c восстановлением боковых рёбер сгибов.
Одновременно с построением оболочки функция создаёт её строитель.

Аргументы
[in]initialShell- Исходная оболочка.
[in]sameShell- Режим копирования исходной оболочки.
[in]outerFaces- Грани сгибов.
[in]strict- Восстановить все рёбра.
[in]resultBends- Имена построенных сгибов.
[in]nameMaker- Именователи граней.
[out]res- Код результата операции.
[out]shell- Построенная оболочка.
Возвращает
Возвращает строитель оболочки.

◆ CreateShell() [1/2]

bool CreateShell ( MbFaceShell *&  shell,
const RPArray< MbCreator > &  creators,
MbeCopyMode  copyMode 
)

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

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

◆ CreateShell() [2/2]

bool CreateShell ( MbFaceShell *&  shell,
const std::vector< SPtr< MbCreator > > &  creators,
MbeCopyMode  copyMode 
)

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

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