C3D Kernel  102057
Функции
Построение тел
Методы геометрических построений
Граф связей класса Построение тел:

Функции

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 PArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело выдавливания.
MbResultType RevolutionSolid (const MbSweptData &sweptData, const MbAxis3D &axis, const RevolutionValues &params, const MbSNameMaker &operNames, const PArray< MbSNameMaker > &contoursNames, MbSolid *&result)
 Создать тело вращения.
MbResultType EvolutionSolid (const MbSweptData &sweptData, const MbCurve3D &spine, const EvolutionValues &params, const MbSNameMaker &operNames, const PArray< MbSNameMaker > &contoursNames, const MbSNameMaker &spineNames, MbSolid *&result)
 Создать кинематическое тело.
MbResultType EvolutionSolid (const MbSweptData &sweptData, const MbSpine &spine, const EvolutionValues &params, const MbSNameMaker &operNames, const PArray< 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, PArray< 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, PArray< 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, PArray< 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 PArray< 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 PArray< 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 PArray< 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, PArray< 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, PArray< 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 part, 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 part, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, MbSolid *&result)
 Отрезать часть тела выдавленным плоским контуром.
MbResultType SolidCutting (MbSolid &solid, MbeCopyMode sameShell, const MbSurface &surface, const MbSNameMaker &names, bool closed, const MbMergingFlags &flags, RPArray< MbSolid > &result)
 Разрезать тело поверхностью.
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 SymmetrySolid (MbSolid &solid, MbeCopyMode sameShell, const MbPlacement3D &place, const MbSNameMaker &names, MbSolid *&result)
 Cоздать симметричное тело относительно плоскости.
MbResultType MirrorSolid (const MbSolid &solid, const MbPlacement3D &place, const MbSNameMaker &names, MbSolid *&result)
 Cоздать зеркальную копию тела относительно плоскости.
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 FullFilletValues &params, const MbSNameMaker &names, MbSolid *&result)
 Скруглить цепочку граней тела.
MbResultType ChamferSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbCurveEdge > &initCurves, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Построить фаски ребeр тела.
MbResultType ThinSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &outFaces, SweptValues &params, const MbSNameMaker &names, MbSolid *&result)
 Создать тонкостенное тело исключением граней.
MbResultType ThinSolid (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &outFaces, RPArray< MbFace > &offFaces, SArray< double > &offDists, SweptValues &params, const MbSNameMaker &names, 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)
 Cоздать одно тело из присланных тел.
MbResultType UnionSolid (const RPArray< MbSolid > &solids, const MbSNameMaker &names, MbSolid *&result)
 Cоздать одно тело из присланных тел.
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оздать одно тело слиток из присланных объектов.
MbResultType CreateFastener (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCartPoint3D &point, const FastenersValues &params, const MbSNameMaker &names, RPArray< MbSolid > &results)
 Cоздать крепеж по трехмерной точке. НЕ ИСПОЛЬЗОВАТЬ ВНЕ ТЕСТОВОГО ПРИЛОЖЕНИЯ!!! ФУНКЦИЯ НАХОДИТСЯ В РАЗРАБОТКЕ!!!
MbResultType CreateFasteners (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCurve3D &curve, size_t number, const FastenersValues &params, const MbSNameMaker &names, RPArray< MbSolid > &results)
 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, PArray< 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)
 Создать оболочку по протоколу построения.

Функции

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 точки).

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

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

Аргументы:
[in]surface- Поверхность.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType GridSolid ( const MbGrid grid,
const MbSNameMaker names,
MbSolid *&  result,
IProgressIndicator prog = NULL 
)

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

Аргументы:
[in]grid- Полигональная модель.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType CollectionSolid ( const MbCollection grid,
const MbSNameMaker names,
MbSolid *&  result,
IProgressIndicator progBar = NULL 
)

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

Аргументы:
[in]grid- Коллекция элементов.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbSolid* CreateSolid ( MbFaceShell shell,
const MbSNameMaker names 
)

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

Аргументы:
[in]shell- Оболочка.
[in]names- Именователь.
Возвращает:
Возвращает тело без истории.
MbResultType ExtrusionSolid ( const MbSweptData sweptData,
const MbVector3D direction,
const MbSolid solid1,
const MbSolid solid2,
bool  checkIntersection,
const ExtrusionValues params,
const MbSNameMaker operNames,
const PArray< 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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType RevolutionSolid ( const MbSweptData sweptData,
const MbAxis3D axis,
const RevolutionValues params,
const MbSNameMaker operNames,
const PArray< MbSNameMaker > &  contoursNames,
MbSolid *&  result 
)

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

Аргументы:
[in]sweptData- Данные об образующей кривой.
[in]axis- Ось вращения.
[in,out]params- Параметры вращения. Возвращают информацию для построения элементов массива операций до поверхности.
[in]operNames- Именователь операции.
[in]contoursNames- Именователи сегментов образующего контура.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType EvolutionSolid ( const MbSweptData sweptData,
const MbCurve3D spine,
const EvolutionValues params,
const MbSNameMaker operNames,
const PArray< MbSNameMaker > &  contoursNames,
const MbSNameMaker spineNames,
MbSolid *&  result 
)

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

Аргументы:
[in]sweptData- Данные об образующей.
[in]spine- Направляющая кривая.
[in]params- Параметры операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователь контуров образующей.
[in]spineNames- Именователь направляющей.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType EvolutionSolid ( const MbSweptData sweptData,
const MbSpine spine,
const EvolutionValues params,
const MbSNameMaker operNames,
const PArray< MbSNameMaker > &  contoursNames,
const MbSNameMaker spineNames,
MbSolid *&  result 
)

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

Аргументы:
[in]sweptData- Данные об образующей.
[in]spine- Направляющая кривая c дополнительной информацией.
[in]params- Параметры операции.
[in]operNames- Именователь операции.
[in]contoursNames- Именователь контуров образующей.
[in]spineNames- Именователь направляющей.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType LoftedSolid ( SArray< MbPlacement3D > &  pl,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
PArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

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

Аргументы:
[in]pl- Множество систем координат образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Направляющая кривая (может быть NULL).
[in]params- Параметры операции.
[in]ps- Множество точек на образующих контурах, задающий их начальные точки.
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType LoftedSolid ( SArray< MbPlacement3D > &  pl,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
RPArray< MbCurve3D > *  guideCurves,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
PArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

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

Аргументы:
[in]pl- Множество систем координат образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Осевая кривая (может быть NULL).
[in]params- Параметры операции.
[in]guideCurves- Множество направляющих кривых, задающих траектории соответствующих точек контуров.
[in]ps- Множество точек на образующих контурах, задающее соответствующие точки (цепочки точек).
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType LoftedSolid ( RPArray< MbSurface > &  surfs,
RPArray< MbContour > &  c,
const MbCurve3D spine,
const LoftedValues params,
RPArray< MbCurve3D > *  guideCurves,
SArray< MbCartPoint3D > *  ps,
const MbSNameMaker names,
PArray< MbSNameMaker > &  ns,
MbSolid *&  result 
)

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

Аргументы:
[in]surfs- Множество поверхностей образующих контуров.
[in]c- Множество образующих контуров.
[in]spine- Осевая кривая (может быть NULL).
[in]params- Параметры операции.
[in]guideCurves- Множество направляющих кривых, задающих траектории соответствующих точек контуров.
[in]ps- Множество точек на образующих контурах, задающее соответствующие точки (цепочки точек).
[in]names- Именователь операции.
[in]ns- Именователи образующих контуров.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType ExtrusionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbVector3D direction,
const ExtrusionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const PArray< 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- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType RevolutionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbAxis3D axis,
const RevolutionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const PArray< 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- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType EvolutionResult ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSweptData sweptData,
const MbCurve3D spine,
const EvolutionValues params,
OperationType  oType,
const MbSNameMaker operNames,
const PArray< 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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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,
PArray< 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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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,
PArray< 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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенный набор граней.
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbSurface surface,
int  part,
const MbSNameMaker names,
bool  closed,
const MbMergingFlags flags,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]surface- Секущая поверхность.
[in]part- Направление отсечения.
[in]names- Именователь.
[in]closed- Флаг режима отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType SolidCutting ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbContour contour,
const MbVector3D direction,
int  part,
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]part- Направление отсечения.
[in]names- Именователь.
[in]closed- Флаг режим отсечения: true - сечем как тело, false - сечем как оболочку.
[in]flags- Флаги слияния элементов оболочки.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенные тела.
Возвращает:
Возвращает код результата операции.
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- Построенные тела.
Возвращает:
Возвращает код результата операции.
MbResultType SymmetrySolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const MbSNameMaker names,
MbSolid *&  result 
)

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

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

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

Аргументы:
[in]solid- Исходная оболочка.
[in]place- Система координат плоскости симметрии.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType FullFilletSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbFace > &  initFaces,
const FullFilletValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initFaces- Набор граней для скругления.
[in]dir- Вектор направления вдоль скругления.
[in]prolong- Признак продолжения по касательной.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType ChamferSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbCurveEdge > &  initCurves,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]initCurves- Множество скругляемых ребер тела.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType ThinSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  outFaces,
SweptValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]outFaces- Вскрываемые грани тела.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType ThinSolid ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  outFaces,
RPArray< MbFace > &  offFaces,
SArray< double > &  offDists,
SweptValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]outFaces- Вскрываемые грани тела.
[in]offFaces- Множество граней, для которых заданы индивидуальные значения толщин.
[in]offDists- Множество индивидуальных значений толщин (должен быть синхронен с массивом offFaces).
[in]params- Параметры операции.
[in]names- Именователь.
[out]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 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования входного тела.
[in]spPlace- Cистема координат контуров.
[in]spType- Направление вытягивания.
[in]spContours- Контура разбиения.
[in]spSame- Использовать оригиналы или копии кривых.
[in]selFaces- Выбранные грани входного тела.
[in]flags- Флаги слияния элементов оболочки.
[in]names- Именователь.
[out]result- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Множество тел, которые не получилось приклеить.
Возвращает:
Возвращает код результата операции.
MbResultType UnionSolid ( RPArray< MbSolid > &  solids,
MbeCopyMode  sameShells,
bool  checkIntersect,
const MbSNameMaker names,
bool  isArray,
MbSolid *&  result,
RPArray< MbSolid > *  notGluedSolids = NULL 
)

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

Аргументы:
[in]solids- Множество тел.
[in]sameShells- Режим копирования тел.
[in]checkIntersect- Проверять пересечение тел.
[in]names- Именователь.
[in]isArray- Флаг регулярности множества тел.
[out]result- Построенное тело.
[out]notGluedSolids- Множество тел, которые не получилось приклеить.
Возвращает:
Возвращает код результата операции.
MbResultType UnionSolid ( const RPArray< MbSolid > &  solids,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solids- Множество тел.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
size_t DetachParts ( MbSolid solid,
RPArray< MbSolid > &  parts,
bool  sort,
const MbSNameMaker names 
)

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

Аргументы:
[in,out]solid- Исходное модифицируемое тело.
[out]parts- Отделённые части тела.
[in]sort- Сортировать по убыванию габарита.
[in]names- Именователь.
Возвращает:
Возвращает количество отделенных частей.
size_t CreateParts ( const MbSolid solid,
RPArray< MbSolid > &  parts,
const MbSNameMaker names 
)

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

Аргументы:
[in]solid- Исходное тело.
[out]parts- Части тела.
[in]names- Именователь.
Возвращает:
Возвращает количество созданных частей.
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- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType HoleSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const MbPlacement3D place,
const HoleValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]sameShell- Режим копирования тела.
[in]place- Местная система координат для операции.
[in]params- Параметры операции.
[in]names- Именователь.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
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- Построенная оболочка (тело).
Возвращает:
Возвращает код результата операции.
MbResultType DuplicationSolid ( const MbSolid solid,
const DuplicationValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solid- Исходное тело.
[in]params- Параметры размножения.
[in]names- Именователь операции.
[out]result- Результирующее тело.
Возвращает:
Возвращает код результата операции.
MbResultType IngotSolid ( RPArray< MbItem > &  solids,
bool  makeCopy,
const MbSNameMaker names,
MbSolid *&  result 
)

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

Аргументы:
[in]solids- Множество тел.
[in]names- Именователь.
[in]makeCopy- Флаг копирования тел перед использованием: true - копировать, false - не копировать.
[out]result- Построенное тело.
Возвращает:
Возвращает код результата операции.
MbResultType CreateFastener ( const RPArray< MbSolid > &  solids,
MbeCopyMode  sameShell,
const MbCartPoint3D point,
const FastenersValues params,
const MbSNameMaker names,
RPArray< MbSolid > &  results 
)

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

Аргументы:
[in]solids- Множество тел для скрепления. Режим копирования тел.
[in]point- Трехмерная точка, на основе проецирования которой определяется положение крепежа.
[in]params- Параметры крепежа ( его тип, размеры и т.д. ).
[in]names- Именователь новых ганей.
[out]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оздать набор крепежных элементов по трехмерной кривой.

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

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

Аргументы:
[in,out]solid- Исходный набор граней, на выходе - одна из связных оболочек.
[out]partSolid- Набор всех связных частей кроме одной.
[in]sort- Если true, то в partSolid сортировать оболочки по убыванию диагоналей габаритного куба.
Возвращает:
Количество оболочек в контейнере partSolid.
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- Код результата операции.
Возвращает:
Возвращает строитель.
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- Код результата операции.
Возвращает:
Возвращает строитель, если операция была выполнена успешно.
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- Оболочка - результат построения.
Возвращает:
Возвращает строитель.
MbCreator* CreateElementary ( const MbElementarySurface surface,
const MbSNameMaker n,
MbResultType res,
MbFaceShell *&  shell 
)

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

Аргументы:
[in]surface- Элементарная поверхность.
Допускается тип поверхности - шар, тор, цилиндр, конус.
[in]n- Именователь операции.
[out]res- Код результата операции.
[out]shell- Оболочка - результат операции.
Возвращает:
Возвращает строитель.
MbCreator* RestoreSideEdges ( MbFaceShell initialShell,
const MbeCopyMode  sameShell,
const RPArray< MbFace > &  outerFaces,
const bool  strict,
PArray< 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- Построенная оболочка.
Возвращает:
Возвращает строитель оболочки.
bool CreateShell ( MbFaceShell *&  shell,
const RPArray< MbCreator > &  creators,
MbeCopyMode  copyMode 
)

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

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

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

 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы