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

Функции

MbResultType ExtrusionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbVector3D &direction, const ExtrusionValues &params, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result)
 Построить оболочку выдавливанием плоских контуров. Подробнее...
 
MbResultType RevolutionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbAxis3D &axis, const RevolutionValues &params, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result)
 Построить оболочку вращением плоских контуров. Подробнее...
 
void CreateExtrusionCutSurfaces (const MbSurface &surface, const std::vector< SPtr< MbContour >> &contours, const MbVector3D &direction, ExtrusionValues &params, VERSION version, MbResultType &resType, std::vector< std::pair< SPtr< MbSurface >, int >> &surfAndDir)
 Создание поверхностей сечения выдавливания плоского контура. Подробнее...
 
MbResultType OffsetPhantom (const MbSolid &solid, RPArray< MbFace > &outFaces, RPArray< MbFace > &offFaces, SArray< double > &offDists, const SweptValues &params, const MbSNameMaker &operNames, MbFaceShell *&result, size_t *hpShellFaceInd=NULL)
 Построить фантомные эквидистантные поверхности для граней оболочки. Подробнее...
 
MbResultType LocalCubePhantom (const MbSolid &solid, const MbPlacement3D &place, bool bScale, const MbSNameMaker &operNames, MbSolid *&result)
 Построить фантом габаритного куба в локальной системе координат. Подробнее...
 
MbResultType PatchShell (const RPArray< MbPatchCurve > &initEdges, const PatchValues &p, const MbSNameMaker &n, MbSolid *&result)
 Построить заплатку. Подробнее...
 
MbResultType PatchShell (const RPArray< MbCurve3D > &initCurves, const PatchValues &p, const MbSNameMaker &n, MbSolid *&result)
 Построить заплатку. Подробнее...
 
MbResultType LoftedShell (const RPArray< SArray< MbCartPoint3D > > &points, const MbSNameMaker &names, SimpleName name, MbSolid *&result)
 Построить незамкнутое тело по множеству групп точек. Подробнее...
 
MbResultType LoftedShell (const RPArray< MbCurve3D > &curves, const MbSNameMaker &names, SimpleName name, MbSolid *&result)
 Построить незамкнутое тело по множеству кривых. Подробнее...
 
MbResultType OffsetShell (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &initFaces, bool checkFacesConnection, SweptValues &p, const MbSNameMaker &operNames, bool copyFaceAttrs, MbSolid *&result)
 Построить незамкнутое эквидистантное тело. Подробнее...
 
MbResultType NurbsSurfacesShell (NurbsSurfaceValues &params, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result, IProgressIndicator *progBar)
 Построить незамкнутое тело по множеству точек. Подробнее...
 
MbResultType MeshShell (MeshSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result)
 Построить незамкнутое тело по сети кривых. Подробнее...
 
MbResultType TruncateShell (MbSolid &initSolid, SArray< size_t > &selIndices, MbeCopyMode initCopyMode, const MbSNameMaker &operNames, RPArray< MbSpaceItem > &truncatingItems, SArray< bool > &truncatingOrients, bool truncatingSplitMode, MbeCopyMode truncatingCopyMode, const MbMergingFlags &mergeFlags, MbSolid *&result, MbPlacement3D *&resultPlace)
 Усечь (обрезать) незамкнутое тело. Подробнее...
 
MbResultType RuledShell (RuledSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result)
 Построить линейчатое незамкнутое тело. Подробнее...
 
void CheckRuledCurve (const MbCurve3D &curve0, const MbCurve3D &curve1, bool &isInverted1, bool &isShifted1, VERSION version)
 Проверить кривую для построения линейчатого тела. Подробнее...
 
bool CheckRuledParams (const MbCurve3D &curve, SArray< double > &params, bool isAscending)
 Проверить параметры кривой для построения линейчатого тела. Подробнее...
 
MbResultType ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, MbFace &face, const RPArray< MbCurveEdge > &edges, const ExtensionValues &params, const MbSNameMaker &operNames, MbSolid *&result)
 Построить продолжение незамкнутого тела выдавливанием. Подробнее...
 
MbResultType JoinShell (MbSurfaceCurve &curve1, MbSurfaceCurve &curve2, JoinSurfaceValues &parameters, const MbSNameMaker &operNames, MbSolid *&result)
 Построить тело соединения по двум кривым. Подробнее...
 
MbResultType JoinShell (const RPArray< MbCurveEdge > &edges1, const SArray< bool > &orients1, const RPArray< MbCurveEdge > &edges2, const SArray< bool > &orients2, const MbMatrix3D &matr1, const MbMatrix3D &matr2, JoinSurfaceValues &parameters, const MbSNameMaker &operNames, MbSolid *&result, bool isPhantom=false)
 Построить тело соединения по двум множествам рёбер. Подробнее...
 
MbResultType DivideShell (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbCurveEdge > &edges, const MbSNameMaker &operNames, MbSolid *&result)
 Разделить оболочку на части по заданному набору ребер. Подробнее...
 
void CheckJoinedCurve (const MbCurve3D &curve1, const MbCurve3D &curve2, bool &isInverted1, bool &isShifted1, VERSION version)
 Проверить кривую для построения тела соединения. Подробнее...
 
MbResultType FacesFillet (const MbSolid &solid1, const MbFace &face1, const MbSolid &solid2, const MbFace &face2, const SmoothValues &params, const MbSNameMaker &names, MbSolid *&result)
 Построить тело сопряжения несвязанных граней. Подробнее...
 
MbResultType ElementaryShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result)
 Построить тело на базе элементарной поверхности. Подробнее...
 
MbResultType SurfaceShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result)
 Построить тело на базе поверхности. Подробнее...
 
MbResultType CutShellSilhouetteContour (MbSolid &solid, MbeCopyMode sameShell, const MbVector3D &eye, const VERSION version, RPArray< MbCurve3D > &outlineCurves, RPArray< MbSolid > &result)
 Разрезать тело силуэтным контуром. Подробнее...
 
MbeStitchResType StitchToOneSheetSolid (const RPArray< const MbSolid > &initialSolids, const MbSNameMaker &operNames, bool formSolidBody, double stitchPrecision, MbSolid *&resultSolid)
 Сшить грани нескольких тел в одно тело. Подробнее...
 
MbResultType LatheCurves (const MbSolid &solid, const MbAxis3D *axis, double angle, MbPlacement3D &position, RPArray< MbCurve > &curves)
 Определение оси токарного сечения и построение кривых сечения для тела. Подробнее...
 
MbResultType LatheCurve (const MbCurve3D &generatrix, const MbPlacement3D &position, RPArray< MbCurve > &curves)
 Построение следа кривой при её вращении вокруг оси токарного сечения. Подробнее...
 
MbResultType MedianShell (MbSolid &solid, MbeCopyMode sameShell, const c3d::IndicesPairsVector &faceIndexes, const MedianShellValues &params, const MbSNameMaker &operNames, MbSolid *&result)
 Построить срединную оболочку по граням тела, основанным на эквидистантных поверхностях. Подробнее...
 
bool GetSweptValue (const MbSweptData &sweptData, const MbAxis3D &axis, const MbVector3D &direction, const bool rotation, const bool operationDirection, const MbCartPoint3D &point, double &value)
 Рассчитать глубину выдавливания или угол вращения. Подробнее...
 
void GetSweptImagePosition (const MbCurve3D &generatrix, const MbSurface &surface, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, MbCartPoint &imagePosition, MbResultType &resType)
 Получить начальное приближение для нахождения образа при вращении/выдавливании. Подробнее...
 
void GetRangeToSurface (const MbSurface &surface, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, const bool operationDirection, const MbCartPoint &imagePosition, double range[2], MbRect &rectOnSurface, MbResultType &resType)
 Найти расстояния/углы от образующей до поверхности при вращении/выдавливании. Подробнее...
 
void AnalyzeSurfaceRelationToSweptOperation (const MbSurface &cuttingSurface, const MbCartPoint &imagePosition, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, bool operationDirection, bool &relativeSense, MbResultType &resType)
 Определить ориентацию секущей грани относительно тела выдавливания/вращения. Подробнее...
 
void FindPolesAndSeamsInContour (const MbSurface &surface, const MbContour &contour, c3d::IndicesVector &seamsAndPoles)
 Найти сегменты контура на поверхности, соответствующие швам и полюсам. Подробнее...
 
MbResultType EvolutionNormalize (const MbSurface &surface, const RPArray< MbContour > &contours, const MbCurve3D &guide, const EvolutionValues &parameters, MbAxis3D &axis, double &angle, VERSION version)
 Сориентировать образующий контур и направляющую кинематики. Подробнее...
 

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

Функции

◆ ExtrusionShell()

MbResultType ExtrusionShell ( const MbSurface surface,
RPArray< MbContour > &  contours,
const MbVector3D direction,
const ExtrusionValues params,
const MbSNameMaker operNames,
RPArray< MbSNameMaker > &  cNames,
MbFaceShell *&  result 
)

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

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

Аргументы
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]direction- Направление выдавливания.
[in]params- Параметры построения.
[in]operNames- Именователь операции.
[in]cNames- Набор именователей контуров.
[out]result- Результат операции - оболочка.
Возвращает
Возвращает код результата операции.

◆ RevolutionShell()

MbResultType RevolutionShell ( const MbSurface surface,
RPArray< MbContour > &  contours,
const MbAxis3D axis,
const RevolutionValues params,
const MbSNameMaker operNames,
RPArray< MbSNameMaker > &  cNames,
MbFaceShell *&  result 
)

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

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

Аргументы
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]axis- Ось вращения.
[in]params- Параметры построения.
[in]operNames- Именователь операции.
[in]cNames- Набор именователей контуров.
[out]result- Результат операции - оболочка.
Возвращает
Возвращает код результата операции.

◆ CreateExtrusionCutSurfaces()

void CreateExtrusionCutSurfaces ( const MbSurface surface,
const std::vector< SPtr< MbContour >> &  contours,
const MbVector3D direction,
ExtrusionValues params,
VERSION  version,
MbResultType resType,
std::vector< std::pair< SPtr< MbSurface >, int >> &  surfAndDir 
)

Создание поверхностей сечения выдавливания плоского контура.

Создание поверхностей сечения выдавливания плоского контура и определение направлений выдавливаний.

Аргументы
[in]surface- Поверхность контуров.
[in]contours- Набор двумерных контуров.
[in]direction- Направление выдавливания.
[in]params- Параметры построения.
[in]version- Версия построения.
[out]resType- Код результата операции.
[out]surfAndDir-Результат операции - поверхности и направление отсносительно direction.

◆ OffsetPhantom()

MbResultType OffsetPhantom ( const MbSolid solid,
RPArray< MbFace > &  outFaces,
RPArray< MbFace > &  offFaces,
SArray< double > &  offDists,
const SweptValues params,
const MbSNameMaker operNames,
MbFaceShell *&  result,
size_t *  hpShellFaceInd = NULL 
)

Построить фантомные эквидистантные поверхности для граней оболочки.

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

Аргументы
[in]solid- Исходное тело.
[in]outFaces- Множество вскрываемых граней тела.
[in]offFaces- Множество граней, для которых заданы индивидуальные значения толщин.
[in]offDists- Множество индивидуальных значений толщин (должен быть синхронизирован с массивом offFaces).
[in]params- Параметры операции.
[in]operNames- Именователь.
[out]result- Результат операции.
[out]hpShellFaceInd- Номер грани в исходной оболочки для построения хот-точки.
Возвращает
Возвращает код результата построения.

◆ LocalCubePhantom()

MbResultType LocalCubePhantom ( const MbSolid solid,
const MbPlacement3D place,
bool  bScale,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить фантом габаритного куба в локальной системе координат.

Построить фантом габаритного куба в локальной системе координат.

Аргументы
[in]solid- Исходное тело.
[in]place- Локальная система координат (ЛСК).
[in]bScale- Является ли ЛСК масштабирующей.
[in]operNames- Именователь.
[out]result- Фантом локального куба.
Возвращает
Возвращает код результата построения.

◆ PatchShell() [1/2]

MbResultType PatchShell ( const RPArray< MbPatchCurve > &  initEdges,
const PatchValues p,
const MbSNameMaker n,
MbSolid *&  result 
)

Построить заплатку.

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

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

◆ PatchShell() [2/2]

MbResultType PatchShell ( const RPArray< MbCurve3D > &  initCurves,
const PatchValues p,
const MbSNameMaker n,
MbSolid *&  result 
)

Построить заплатку.

Построить заплатку по выбранным кривым.

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

◆ LoftedShell() [1/2]

MbResultType LoftedShell ( const RPArray< SArray< MbCartPoint3D > > &  points,
const MbSNameMaker names,
SimpleName  name,
MbSolid *&  result 
)

Построить незамкнутое тело по множеству групп точек.

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

Аргументы
[in]points- Набор точек.
[in]names- Именователь.
[in]name- Идентификатор.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ LoftedShell() [2/2]

MbResultType LoftedShell ( const RPArray< MbCurve3D > &  curves,
const MbSNameMaker names,
SimpleName  name,
MbSolid *&  result 
)

Построить незамкнутое тело по множеству кривых.

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

Аргументы
[in]curves- Набор кривых.
[in]names- Именователь.
[in]name- Идентификатор.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ OffsetShell()

MbResultType OffsetShell ( MbSolid solid,
MbeCopyMode  sameShell,
RPArray< MbFace > &  initFaces,
bool  checkFacesConnection,
SweptValues p,
const MbSNameMaker operNames,
bool  copyFaceAttrs,
MbSolid *&  result 
)

Построить незамкнутое эквидистантное тело.

Построить незамкнутое эквидистантное тело на базе указанных в initFaces граней.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования тела.
[in]initFaces- Грани исходного тела для построения.
[in]checkFacesConnection- Необходимость проверки связности выбранных граней.
[in]p- Параметры операции.
[in]operNames- Именователь.
[in]copyFaceAttrs- Копировать атрибуты из исходных граней в эквидистантные.
[out]result- Эквидистантная оболочка.
Возвращает
Возвращает код результата операции.

◆ NurbsSurfacesShell()

MbResultType NurbsSurfacesShell ( NurbsSurfaceValues params,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result,
IProgressIndicator progBar 
)

Построить незамкнутое тело по множеству точек.

Построить незамкнутое тело по множеству точек, заданных в параметрах построения.

Аргументы
[in]params- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
[in,out]progBar- Индикатор прогресса выполнения операции.
Возвращает
Возвращает код результата операции.

◆ MeshShell()

MbResultType MeshShell ( MeshSurfaceValues pars,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result 
)

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

Построить незамкнутое тело по сети кривых, заданных в параметрах построения.

Аргументы
[in]pars- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ TruncateShell()

MbResultType TruncateShell ( MbSolid initSolid,
SArray< size_t > &  selIndices,
MbeCopyMode  initCopyMode,
const MbSNameMaker operNames,
RPArray< MbSpaceItem > &  truncatingItems,
SArray< bool > &  truncatingOrients,
bool  truncatingSplitMode,
MbeCopyMode  truncatingCopyMode,
const MbMergingFlags mergeFlags,
MbSolid *&  result,
MbPlacement3D *&  resultPlace 
)

Усечь (обрезать) незамкнутое тело.

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

Аргументы
[in]initSolid- Исходная оболочка.
[in]selIndices- Номера выбранных граней (если массив пуст, то вся оболочка).
[in]initCopyMode- Режим копирования исходных оболочек.
[in]operNames- Именователь.
[in]truncatingItems- Усекающие объекты.
[in]truncatingOrients- Ориентация усекающих объектов.
[in]truncatingSplitMode- Кривые используются как линии разъема.
[in]truncatingCopyMode- Режим копирования усекающих оболочек.
[in]mergeFlags- Флаги слияния элементов оболочки.
[out]result- Усеченная оболочка.
[out]resultPlace- Фантомное направление усечения.
Возвращает
Возвращает код результата операции.

◆ RuledShell()

MbResultType RuledShell ( RuledSurfaceValues pars,
const MbSNameMaker operNames,
bool  isPhantom,
MbSolid *&  result 
)

Построить линейчатое незамкнутое тело.

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

Аргументы
[in]pars- Параметры операции.
[in]operNames- Именователь.
[in]isPhantom- Режим создания фантома.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ CheckRuledCurve()

void CheckRuledCurve ( const MbCurve3D curve0,
const MbCurve3D curve1,
bool &  isInverted1,
bool &  isShifted1,
VERSION  version 
)

Проверить кривую для построения линейчатого тела.

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

Аргументы
[in]curve0- Первая кривая.
[in]curve1- Вторая кривая.
[out]isInverted1- Была ли вторая кривая инвертирована.
[out]isShifted1- Было ли смещено начало второй кривой.
[in]version- Версия операции.
Предупреждения
Вспомогательная функция операции RuledShell.

◆ CheckRuledParams()

bool CheckRuledParams ( const MbCurve3D curve,
SArray< double > &  params,
bool  isAscending 
)

Проверить параметры кривой для построения линейчатого тела.

Проверить параметры кривой и выполнить нормализацию параметров замкнутой кривой.

Аргументы
[in]curve- Кривая.
[in,out]params- Множество параметров кривой.
[in]isAscending- Будет ли порядок параметров возрастающим.
Возвращает
Возвращает true, если удалось нормализовать массив параметров.
Предупреждения
Вспомогательная функция операции RuledShell.

◆ ExtensionShell()

MbResultType ExtensionShell ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
const RPArray< MbCurveEdge > &  edges,
const ExtensionValues params,
const MbSNameMaker operNames,
MbSolid *&  result 
)

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

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

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

◆ JoinShell() [1/2]

MbResultType JoinShell ( MbSurfaceCurve curve1,
MbSurfaceCurve curve2,
JoinSurfaceValues parameters,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить тело соединения по двум кривым.

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

Аргументы
[in]curve1- Первая поверхностная кривая.
[in]curve2- Вторая поверхностная кривая.
[in]parameters- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ JoinShell() [2/2]

MbResultType JoinShell ( const RPArray< MbCurveEdge > &  edges1,
const SArray< bool > &  orients1,
const RPArray< MbCurveEdge > &  edges2,
const SArray< bool > &  orients2,
const MbMatrix3D matr1,
const MbMatrix3D matr2,
JoinSurfaceValues parameters,
const MbSNameMaker operNames,
MbSolid *&  result,
bool  isPhantom = false 
)

Построить тело соединения по двум множествам рёбер.

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

Аргументы
[in]edges1- Первая группа ребер.
[in]orients1- Ориентации ребер в первой группе.
[in]edges2- Вторая группа ребер.
[in]orients2- Ориентация ребер во второй группе.
[in]matr1- Матрица преобразования первой группы ребер в единую систему координат.
[in]matr2- Матрица преобразования второй группы ребер в единую систему координат.
[in]parameters- Параметры операции.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
[in]isPhantom- Режим фантома операции.
Возвращает
Возвращает код результата операции.

◆ DivideShell()

MbResultType DivideShell ( MbSolid solid,
MbeCopyMode  sameShell,
const RPArray< MbCurveEdge > &  edges,
const MbSNameMaker operNames,
MbSolid *&  result 
)

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

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

Аргументы
[in]solid- Оболочка.
[in]sameShell- Режим копирования оболочки.
[in]edges- Набор ребер.
[in]operNames- Именователь.
[out]result- Результирующая оболочка.
Возвращает
Возвращает код результата операции.

◆ CheckJoinedCurve()

void CheckJoinedCurve ( const MbCurve3D curve1,
const MbCurve3D curve2,
bool &  isInverted1,
bool &  isShifted1,
VERSION  version 
)

Проверить кривую для построения тела соединения.

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

Аргументы
[in]curve1- Первая кривая.
[in]curve2- Вторая кривая.
[out]isInverted1- Была ли вторая кривая инвертирована.
[out]isShifted1- Было ли смещено начало второй кривой.
[in]version- Версия операции.
Предупреждения
Вспомогательная функция операции JoinShell.

◆ FacesFillet()

MbResultType FacesFillet ( const MbSolid solid1,
const MbFace face1,
const MbSolid solid2,
const MbFace face2,
const SmoothValues params,
const MbSNameMaker names,
MbSolid *&  result 
)

Построить тело сопряжения несвязанных граней.

Построить незамкнутое тело, состоящее из грани скругления между двумя несвязанными гранями.

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

◆ ElementaryShell()

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

Построить тело на базе элементарной поверхности.

Построить тело, состоящее из одной грани, на базе исходной элементарной поверхности.

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

◆ SurfaceShell()

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

Построить тело на базе поверхности.

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

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

◆ CutShellSilhouetteContour()

MbResultType CutShellSilhouetteContour ( MbSolid solid,
MbeCopyMode  sameShell,
const MbVector3D eye,
const VERSION  version,
RPArray< MbCurve3D > &  outlineCurves,
RPArray< MbSolid > &  result 
)

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

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

Аргументы
[in]shell- Исходное тело.
[in]sameShell- Способ передачи данных при копировании оболочек.
[in]eye- Направление взгляда.
[out]outlineCurves- Кривые, входящие в силуэтный контур.
[out]result- Тела, полученные в результате применения операции.
Возвращает
Возвращает код результата операции.

◆ StitchToOneSheetSolid()

MbeStitchResType StitchToOneSheetSolid ( const RPArray< const MbSolid > &  initialSolids,
const MbSNameMaker operNames,
bool  formSolidBody,
double  stitchPrecision,
MbSolid *&  resultSolid 
)

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

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

Аргументы
[in]initialSolids- Множество тел для сшивки.
[in]operNames- Именователь операции.
[in]formSolidBody- Флаг формирования твердого тела из результирующей оболочки.
[in]stitchPrecision- Точность сшивки.
[out]resultSolid- Результирующая оболочка или тело (в зависимости от флага).
Возвращает
Возвращает код результата операции.

◆ LatheCurves()

MbResultType LatheCurves ( const MbSolid solid,
const MbAxis3D axis,
double  angle,
MbPlacement3D position,
RPArray< MbCurve > &  curves 
)

Определение оси токарного сечения и построение кривых сечения для тела.

Функция выполняет поиск токарной оси граней вращения и строит токарное сечение в некоторой плоскости.

Аргументы
[in]solid- Тело.
[in]axis- Ось токарного сечения может быть нуль).
[in]angle- Угол, управляющий построением перпендикулярных оси сечения отрезками, рекомендуется M_PI_4-M_PI.
[out]position- Плоскость, в плоскости XY которой лежат кривые сечения, а ось X является осью токарного сечения.
[out]curves- Кривые токарного сечения располагаются в плоскости XY position.
Возвращает
Возвращает код результата операции.

◆ LatheCurve()

MbResultType LatheCurve ( const MbCurve3D generatrix,
const MbPlacement3D position,
RPArray< MbCurve > &  curves 
)

Построение следа кривой при её вращении вокруг оси токарного сечения.

Функция выполняет построение следа ребра в плоскости XY локальной системы координат при его вращении вокруг оси X.

Аргументы
[in]generatrix- Кривая.
[in]position- Плоскость, ось X которой является осью токарного сечения.
[out]curves- Контейр кривых, в который будет добавлен след в плоскости XY position от вращения кривой generatrix вокруг оси X.
Возвращает
Возвращает код результата операции.

◆ MedianShell()

MbResultType MedianShell ( MbSolid solid,
MbeCopyMode  sameShell,
const c3d::IndicesPairsVector faceIndexes,
const MedianShellValues params,
const MbSNameMaker operNames,
MbSolid *&  result 
)

Построить срединную оболочку по граням тела, основанным на эквидистантных поверхностях.

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

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

◆ GetSweptValue()

bool GetSweptValue ( const MbSweptData sweptData,
const MbAxis3D axis,
const MbVector3D direction,
const bool  rotation,
const bool  operationDirection,
const MbCartPoint3D point,
double &  value 
)

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

Рассчитать value - глубину выдавливания или угол вращения (0.0 : M_PI2) для последующего построения тела путем выдавливания или вращения образующей кривой.

Аргументы
[in]sweptData- Данные об образующей.
[in]axis- Ось вращения.
[in]direction- Направление выдавливания.
[in]rotation- Вращение или выдавливание.
[in]operationDirection- Вперед\назад.
[in]point- Точка, до которой требуется вращать или выдавливать поверхность.
[out]value- Глубина выдавливания или угол вращения.
Возвращает
Возвращает true, если расчет выполнен успешно.
Предупреждения
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.

◆ GetSweptImagePosition()

void GetSweptImagePosition ( const MbCurve3D generatrix,
const MbSurface surface,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
MbCartPoint imagePosition,
MbResultType resType 
)

Получить начальное приближение для нахождения образа при вращении/выдавливании.

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

Аргументы
[in]generatrix- Кривая.
[in]surface- Поверхность, до которой строим операцию.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false)
[out]imagePosition- Точка образа на поверхности.
[out]resType- Код результата операции.
Предупреждения
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.

◆ GetRangeToSurface()

void GetRangeToSurface ( const MbSurface surface,
const MbCurve3D curve,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
const bool  operationDirection,
const MbCartPoint imagePosition,
double  range[2],
MbRect rectOnSurface,
MbResultType resType 
)

Найти расстояния/углы от образующей до поверхности при вращении/выдавливании.

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

Аргументы
[in]surface- Поверхность, до которой строим операцию.
[in]curve- Образующая кривая.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false).
[in]operationDirection- Направление движения: вперед (true) или назад (false).
[out]imagePosition- Точка на части поверхности, в которой лежит образ.
[out]range- Расстояния до поверхности в обратном и прямом направлениях.
[out]rectOnSurface- Габарит образа на поверхности.
[out]resType- Код результата операции.
Предупреждения
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.

◆ AnalyzeSurfaceRelationToSweptOperation()

void AnalyzeSurfaceRelationToSweptOperation ( const MbSurface cuttingSurface,
const MbCartPoint imagePosition,
const MbCurve3D curve,
const MbVector3D direction,
const MbAxis3D axis,
const bool  rotation,
bool  operationDirection,
bool &  relativeSense,
MbResultType resType 
)

Определить ориентацию секущей грани относительно тела выдавливания/вращения.

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

Аргументы
[in]cuttingSurface- Поверхность для анализа.
[in]imagePosition- Место образа на поверхности.
[in]curve- Образующая кривая.
[in]direction- Направление выдавливания.
[in]axis- Ось вращения.
[in]rotation- Вращение (true) или выдавливание (false).
[in]operationDirection- Направление движения: вперед (true) или назад (false).
[out]relativeSense- Ориентация поверхности по отношению к операции.
[out]resType- Код результата операции.
Предупреждения
Вспомогательная функция операций ExtrusionSolid, RevolutionSolid, ExtrusionResult и RevolutionResult.

◆ FindPolesAndSeamsInContour()

void FindPolesAndSeamsInContour ( const MbSurface surface,
const MbContour contour,
c3d::IndicesVector seamsAndPoles 
)

Найти сегменты контура на поверхности, соответствующие швам и полюсам.

Найти сегменты контура на поверхности, соответствующие швам и полюсам.

Аргументы
[in]surface- Поверхность.
[in]contour- Контур.
[out]seamsAndPoles- Номера сегментов, соответствующих швам и полюсам.

◆ EvolutionNormalize()

MbResultType EvolutionNormalize ( const MbSurface surface,
const RPArray< MbContour > &  contours,
const MbCurve3D guide,
const EvolutionValues parameters,
MbAxis3D axis,
double &  angle,
VERSION  version 
)

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

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

Аргументы
[in]surface- Поверхность.
[in]contours- Образующие контуры.
[in]guide- Направляющая кривая.
[in]parameters- Параметры операции.
[out]axis- Ось доворота образующей.
[out]angle- Угол доворота образующей.
[in]version- Версия операции.
Возвращает
Возвращает код результата операции.
Предупреждения
Вспомогательная функция операций EvolutionSolid и EvolutionResult.