C3D Toolkit
Kernel - 117936, Vision - 2.7.0.41
|
Функции | |
MbResultType | ExtrusionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbVector3D &direction, const ExtrusionValues ¶ms, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result) |
Построить оболочку выдавливанием плоских контуров. Подробнее... | |
MbResultType | RevolutionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbAxis3D &axis, const RevolutionValues ¶ms, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result) |
Построить оболочку вращением плоских контуров. Подробнее... | |
void | CreateExtrusionCutSurfaces (const MbSurface &surface, const c3d::PlaneContoursSPtrVector &contours, const MbVector3D &direction, ExtrusionValues ¶ms, VERSION version, MbResultType &resType, std::vector< std::pair< c3d::SurfaceSPtr, int >> &surfAndDir) |
Создание поверхностей сечения выдавливания плоского контура. Подробнее... | |
MbResultType | OffsetPhantom (const MbSolid &solid, RPArray< MbFace > &outFaces, RPArray< MbFace > &offFaces, SArray< double > &offDists, const SweptValues ¶ms, const MbSNameMaker &operNames, MbFaceShell *&result, size_t *hpShellFaceInd=nullptr) |
Построить фантомные эквидистантные поверхности для граней оболочки. Подробнее... | |
MbResultType | LocalCubePhantom (const MbSolid &solid, const MbPlacement3D &place, bool bScale, const MbSNameMaker &operNames, MbSolid *&result) |
Построить фантом габаритного куба в локальной системе координат. Подробнее... | |
MbResultType | LocalCubePhantom (const MbSolid &solid, const MbLocalCubePhantomParams ¶ms, c3d::SolidSPtr &result) |
Построить фантом габаритного куба в локальной системе координат. Подробнее... | |
MbResultType | PatchShell (const MbPatchShellParams ¶ms, c3d::SolidSPtr &result) |
Построить заплатку. Подробнее... | |
MbResultType | LoftedShell (const MbLoftedPointsShellParams ¶ms, c3d::SolidSPtr &result) |
Построить незамкнутое тело по множеству групп точек. Подробнее... | |
MbResultType | LoftedShell (const MbLoftedCurvesShellParams ¶ms, c3d::SolidSPtr &result) |
Построить незамкнутое тело по множеству кривых. Подробнее... | |
MbResultType | OffsetShell (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &initFaces, bool checkFacesConnection, SweptValues &p, const MbSNameMaker &operNames, bool copyFaceAttrs, MbSolid *&result) |
Построить незамкнутое эквидистантное тело. Подробнее... | |
MbResultType | NurbsSurfacesShell (NurbsSurfaceValues ¶ms, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result, IProgressIndicator *progBar) |
Построить незамкнутое тело по множеству точек. Подробнее... | |
MbResultType | NurbsSurfacesShell (MbNurbsSurfacesShellParams ¶ms, c3d::SolidSPtr &result, IProgressIndicator *progBar) |
Построить незамкнутое тело по множеству точек. Подробнее... | |
MbResultType | MeshShell (MeshSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result) |
Построить незамкнутое тело по сети кривых. Подробнее... | |
MbResultType | MeshShell (const MbMeshShellParameters ¶ms, c3d::SolidSPtr &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 | ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, MbFace &face, const RPArray< MbCurveEdge > &edges, const ExtensionValues ¶ms, const MbSNameMaker &operNames, MbSolid *&result) |
Построить продолжение незамкнутого тела выдавливанием. Подробнее... | |
MbResultType | ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, const MbExtensionShellParams ¶ms, c3d::SolidSPtr &result) |
Построить продолжение незамкнутого тела выдавливанием. Подробнее... | |
MbResultType | RuledShell (RuledSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result) |
Построить линейчатое незамкнутое тело. Подробнее... | |
MbResultType | RuledShell (const MbRuledShellParams &ruledParams, MbRuledShellResult &outParams) |
Построить линейчатое незамкнутое тело. Подробнее... | |
void | CheckRuledCurve (const MbCurve3D &curve0, const MbCurve3D &curve1, bool &isInverted1, bool &isShifted1, VERSION version) |
Проверить кривую для построения линейчатого тела. Подробнее... | |
bool | CheckRuledParams (const MbCurve3D &curve, SArray< double > ¶ms, bool isAscending) |
Проверить параметры кривой для построения линейчатого тела. Подробнее... | |
MbResultType | JoinShell (MbSurfaceCurve &curve1, MbSurfaceCurve &curve2, JoinSurfaceValues ¶meters, 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 ¶meters, const MbSNameMaker &operNames, MbSolid *&result, bool isPhantom=false) |
Построить тело соединения по двум множествам рёбер. Подробнее... | |
MbResultType | JoinShell (const MbJoinShellParams ¶meters, MbJoinShellResults &result) |
Построить тело соединения по параметрам. Подробнее... | |
MbResultType | DivideShell (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbCurveEdge > &edges, const MbSNameMaker &operNames, MbSolid *&result) |
Разделить оболочку на части по заданному набору ребер. Подробнее... | |
MbResultType | DivideShell (MbSolid &solid, MbeCopyMode sameShell, const MbDivideShellParams ¶ms, c3d::SolidSPtr &resSolid) |
Разделить оболочку на части по заданному набору ребер. Подробнее... | |
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 ¶ms, const MbSNameMaker &names, MbSolid *&result) |
Построить тело сопряжения несвязанных граней. Подробнее... | |
MbResultType | FacesFillet (const MbFacesFilletParams ¶ms, c3d::SolidSPtr &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 MbSNameMaker &operNames, c3d::SpaceCurvesSPtrVector &outlineCurves, RPArray< MbSolid > &cutSolids) |
Разрезать тело силуэтным контуром. Подробнее... | |
MbResultType | CutShellSilhouetteContour (const MbCutShellSilhouetteParams ¶ms, MbCutShellSilhouetteResult &result) |
Разрезать тело силуэтным контуром. Подробнее... | |
MbeStitchResType | StitchShells (const c3d::SolidsSPtrVector &initialSolids, const MbShellStitchParams &stitchParams, c3d::SolidSPtr &resultSolid) |
Сшить грани нескольких тел в одно тело. Подробнее... | |
MbResultType | LatheCurves (const MbLatheCurvesParams ¶ms, MbLatheCurvesResult &result) |
Определение оси токарного сечения и построение кривых сечения для тела. Подробнее... | |
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 MbMedianShellParams ¶ms, MbMedianShellResults &result) |
Построить срединную оболочку по граням тела, основанным на эквидистантных поверхностях. Подробнее... | |
MbResultType | OctaLattice (const MbCartPoint3D &point0, const MbCartPoint3D &point1, const MbCartPoint3D &point2, double xRadius, double yRadius, double zRadius, size_t xCount, size_t yCount, size_t zCount, const MbSNameMaker &names, MbSolid *&result) |
Создать решетчатую оболочку. Подробнее... | |
MbResultType | OctaLattice (const MbOctaLatticeParams ¶ms, c3d::SolidSPtr &result) |
Создать решетчатую оболочку. Подробнее... | |
MbResultType | SectionShell (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSectionData &data, c3d::SolidSPtr &result) |
Построить оболочку на поверхности переменного сечения. Подробнее... | |
MbResultType | SectionShell (MbSolid *solid, MbeCopyMode sameShell, const MbSectionData &data, 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 ¶meters, MbAxis3D &axis, double &angle, VERSION version) |
Сориентировать образующий контур и направляющую кинематики. Подробнее... | |
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 | - Результат операции - оболочка. |
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 | - Результат операции - оболочка. |
void CreateExtrusionCutSurfaces | ( | const MbSurface & | surface, |
const c3d::PlaneContoursSPtrVector & | contours, | ||
const MbVector3D & | direction, | ||
ExtrusionValues & | params, | ||
VERSION | version, | ||
MbResultType & | resType, | ||
std::vector< std::pair< c3d::SurfaceSPtr, int >> & | surfAndDir | ||
) |
Создание поверхностей сечения выдавливания плоского контура.
Создание поверхностей сечения выдавливания плоского контура и определение направлений выдавливаний.
[in] | surface | - Поверхность контуров. |
[in] | contours | - Набор двумерных контуров. |
[in] | direction | - Направление выдавливания. |
[in] | params | - Параметры построения. |
[in] | version | - Версия построения. |
[out] | resType | - Код результата операции. |
[out] | surfAndDir- | Результат операции - поверхности и направление относительно direction. |
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 = nullptr |
||
) |
Построить фантомные эквидистантные поверхности для граней оболочки.
Построить фантомные эквидистантные поверхности для граней оболочки,
кроме имеющих перечислены кроме имеющих перечисленные индексы, и сложить в массив surfaces.
По окончании работ поверхности можно и нужно удалить.
[in] | solid | - Исходное тело. |
[in] | outFaces | - Множество вскрываемых граней тела. |
[in] | offFaces | - Множество граней, для которых заданы индивидуальные значения толщин. |
[in] | offDists | - Множество индивидуальных значений толщин (должен быть синхронизирован с массивом offFaces). |
[in] | params | - Параметры операции. |
[in] | operNames | - Именователь. |
[out] | result | - Результат операции. |
[out] | hpShellFaceInd | - Номер грани в исходной оболочки для построения хот-точки. |
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 | - Фантом локального куба. |
MbResultType LocalCubePhantom | ( | const MbSolid & | solid, |
const MbLocalCubePhantomParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Построить фантом габаритного куба в локальной системе координат.
Построить фантом габаритного куба в локальной системе координат.
[in] | solid | - Исходное тело. |
[in] | params | - Список параметров MbLocalCubePhantomParams. |
[out] | result | - Фантом локального куба. |
MbResultType PatchShell | ( | const MbPatchShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Построить заплатку.
Построить заплатку по указанным параметрам.
[in] | params | - Параметры операции. |
[out] | result | - Построенная заплатка. |
MbResultType LoftedShell | ( | const MbLoftedPointsShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Построить незамкнутое тело по множеству групп точек.
Построить незамкнутое тело по сечениям, образованным сплайнами, построенными по группе контрольных точек.
[in] | params | - Параметры операции. Содержат информацию о наборе точек, именователе, идентификаторе. |
[out] | result | - Результирующая оболочка. |
MbResultType LoftedShell | ( | const MbLoftedCurvesShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Построить незамкнутое тело по множеству кривых.
Построить незамкнутое тело по сечениям, образованным кривыми.
[in] | params | - Параметры операции. Содержат информацию о наборе кривых, именователе, идентификаторе. |
[out] | result | - Результирующая оболочка. |
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 | - Эквидистантная оболочка. |
MbResultType NurbsSurfacesShell | ( | NurbsSurfaceValues & | params, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result, | ||
IProgressIndicator * | progBar | ||
) |
Построить незамкнутое тело по множеству точек.
Построить незамкнутое тело по множеству точек, заданных в параметрах построения.
[in,out] | params | - Параметры операции. |
[in] | operNames | - Именователь. |
[in] | isPhantom | - Режим создания фантома. |
[out] | result | - Результирующая оболочка. |
[in,out] | progBar | - Индикатор прогресса выполнения операции. |
MbResultType NurbsSurfacesShell | ( | MbNurbsSurfacesShellParams & | params, |
c3d::SolidSPtr & | result, | ||
IProgressIndicator * | progBar | ||
) |
Построить незамкнутое тело по множеству точек.
Построить незамкнутое тело по множеству точек, заданных в параметрах построения.
[in,out] | params | - Параметры операции. |
[out] | result | - Результирующая оболочка. |
[in,out] | progBar | - Индикатор прогресса выполнения операции. |
MbResultType MeshShell | ( | MeshSurfaceValues & | pars, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result | ||
) |
Построить незамкнутое тело по сети кривых.
Построить незамкнутое тело по сети кривых, заданных в параметрах построения.
[in] | pars | - Параметры операции. |
[in] | operNames | - Именователь. |
[in] | isPhantom | - Режим создания фантома. |
[out] | result | - Результирующая оболочка. |
MbResultType MeshShell | ( | const MbMeshShellParameters & | params, |
c3d::SolidSPtr & | result | ||
) |
Построить тело по сети кривых.
Построить тело по сети кривых, заданных в параметрах построения.
[in] | params | - Параметры операции. |
[out] | 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 | ||
) |
Усечь (обрезать) незамкнутое тело.
Выполнить построение незамкнутого тела путём усечения исходного тела.
[in] | initSolid | - Исходная оболочка. |
[in] | selIndices | - Номера выбранных граней (если массив пуст, то вся оболочка). |
[in] | initCopyMode | - Режим копирования исходных оболочек. |
[in] | operNames | - Именователь. |
[in] | truncatingItems | - Усекающие объекты. |
[in] | truncatingOrients | - Ориентация усекающих объектов. |
[in] | truncatingSplitMode | - Кривые используются как линии разъема. |
[in] | truncatingCopyMode | - Режим копирования усекающих оболочек. |
[in] | mergeFlags | - Флаги слияния элементов оболочки. |
[out] | result | - Усеченная оболочка. |
[out] | resultPlace | - Фантомное направление усечения. |
MbResultType ExtensionShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
MbFace & | face, | ||
const RPArray< MbCurveEdge > & | edges, | ||
const ExtensionValues & | params, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Построить продолжение незамкнутого тела выдавливанием.
Построить продолжение незамкнутого тела путём продления указанных краевых рёбер тела.
Продление может быть выполнено следующими способами. Может быть удлинена на заданное расстояние указанная грань. К указанной грани может быть добавлена гладко стыкующаяся с ней грань. К указанной грани может быть добавлена грань, полученная выдавливанием крайнего ребра в заданном направлении.
An extension can be performed in the following ways: The specified faces can be extended on the given distance. A smoothly connected face can be added to the given face. A face obtained by extrusion of a boundary edge in the given direction can be added to the specified face.
[in] | solid | - Исходная оболочка. |
[in] | sameShell | - Режим копирования оболочки. |
[in] | face | - Одна из продляемых граней в исходной оболочке. |
[in] | edges | - Множество краевых ребер, через которые выполняется продление. |
[in] | params | - Параметры операции. |
[in] | operNames | - Именователь. |
[out] | result | - Результирующая оболочка. |
MbResultType ExtensionShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbExtensionShellParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Построить продолжение незамкнутого тела выдавливанием.
Построить продолжение незамкнутого тела путём продления указанных краевых рёбер тела.
Продление может быть выполнено следующими способами. Может быть удлинена на заданное расстояние указанная грань. К указанной грани может быть добавлена гладко стыкующаяся с ней грань. К указанной грани может быть добавлена грань, полученная выдавливанием крайнего ребра в заданном направлении.
An extension can be performed in the following ways: The specified faces can be extended on the given distance. A smoothly connected face can be added to the given face. A face obtained by extrusion of a boundary edge in the given direction can be added to the specified face.
[in] | solid | - Исходная оболочка. |
[in] | sameShell | - Режим копирования оболочки. |
[in] | params | - Параметры продления оболочки (MbExtensionShellParams). |
[out] | result | - Результирующая оболочка. |
MbResultType RuledShell | ( | RuledSurfaceValues & | pars, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result | ||
) |
Построить линейчатое незамкнутое тело.
Построить линейчатое незамкнутое тело по двум кривым, заданным в параметрах.
[in,out] | pars | - Параметры операции. |
[in] | operNames | - Именователь. |
[in] | isPhantom | - Режим создания фантома. |
[out] | result | - Результирующая оболочка. |
MbResultType RuledShell | ( | const MbRuledShellParams & | ruledParams, |
MbRuledShellResult & | outParams | ||
) |
Построить линейчатое незамкнутое тело.
Построить линейчатое незамкнутое тело по двум кривым, заданным в параметрах.
[in] | ruledParams | - Параметры для построения линейчатого незамкнутого тела. |
[out] | outParams | - Выходные параметры операции. |
void CheckRuledCurve | ( | const MbCurve3D & | curve0, |
const MbCurve3D & | curve1, | ||
bool & | isInverted1, | ||
bool & | isShifted1, | ||
VERSION | version | ||
) |
Проверить кривую для построения линейчатого тела.
Проверить вторую кривую на согласованность с первой кривой для построения линейчатого незамкнутого тела и выполнить необходимую модификацию второй кривой.
[in] | curve0 | - Первая кривая. |
[in] | curve1 | - Вторая кривая. |
[out] | isInverted1 | - Была ли вторая кривая инвертирована. |
[out] | isShifted1 | - Было ли смещено начало второй кривой. |
[in] | version | - Версия операции. |
Проверить параметры кривой для построения линейчатого тела.
Проверить параметры кривой и выполнить нормализацию параметров замкнутой кривой.
[in] | curve | - Кривая. |
[in,out] | params | - Множество параметров кривой. |
[in] | isAscending | - Будет ли порядок параметров возрастающим. |
MbResultType JoinShell | ( | MbSurfaceCurve & | curve1, |
MbSurfaceCurve & | curve2, | ||
JoinSurfaceValues & | parameters, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Построить тело соединения по двум кривым.
Построить незамкнутое тело соединения по двум кривым на поверхности.
[in] | curve1 | - Первая поверхностная кривая. |
[in] | curve2 | - Вторая поверхностная кривая. |
[in] | parameters | - Параметры операции. |
[in] | operNames | - Именователь. |
[out] | 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 |
||
) |
Построить тело соединения по двум множествам рёбер.
Построить незамкнутое тело соединения по двум множествам ребер.
[in] | edges1 | - Первая группа ребер. |
[in] | orients1 | - Ориентации ребер в первой группе. |
[in] | edges2 | - Вторая группа ребер. |
[in] | orients2 | - Ориентация ребер во второй группе. |
[in] | matr1 | - Матрица преобразования первой группы ребер в единую систему координат. |
[in] | matr2 | - Матрица преобразования второй группы ребер в единую систему координат. |
[in] | parameters | - Параметры операции. |
[in] | operNames | - Именователь. |
[out] | result | - Результирующая оболочка. |
[in] | isPhantom | - Режим фантома операции. |
MbResultType JoinShell | ( | const MbJoinShellParams & | parameters, |
MbJoinShellResults & | result | ||
) |
Построить тело соединения по параметрам.
Построить незамкнутое тело соединения по параметрам.
[in] | parameters | - Параметры операции. |
[out] | result | - Результаты операции. |
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 | - Результирующая оболочка. |
MbResultType DivideShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbDivideShellParams & | params, | ||
c3d::SolidSPtr & | resSolid | ||
) |
Разделить оболочку на части по заданному набору ребер.
Разделить оболочку на части по заданному набору ребер.
Разделение тела\оболочки выполняется путем удаления в ребрах топологических связей между смежными гранями. После выполнения операции весь результат будет в находится в результирующей оболочке. Для разделения оболочки на части, далее используйте функции CreateParts или DetachParts
[in] | solid | - Оболочка. |
[in] | params | - Параметры деления оболочки. |
[out] | resSolid | - Результирующая оболочка. |
void CheckJoinedCurve | ( | const MbCurve3D & | curve1, |
const MbCurve3D & | curve2, | ||
bool & | isInverted1, | ||
bool & | isShifted1, | ||
VERSION | version | ||
) |
Проверить кривую для построения тела соединения.
Проверить вторую кривую на согласованность с первой кривой для построения незамкнутого тела соединения и выполнить необходимую модификацию второй кривой.
[in] | curve1 | - Первая кривая. |
[in] | curve2 | - Вторая кривая. |
[out] | isInverted1 | - Была ли вторая кривая инвертирована. |
[out] | isShifted1 | - Было ли смещено начало второй кривой. |
[in] | version | - Версия операции. |
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 | - Построенная оболочка (тело). |
MbResultType FacesFillet | ( | const MbFacesFilletParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Построить тело сопряжения несвязанных граней.
Построить незамкнутое тело, состоящее из грани скругления между двумя несвязанными гранями.
[in] | params | - Параметры операции. |
[out] | result | - Построенная оболочка (тело). |
MbResultType ElementaryShell | ( | const MbSurface & | surface, |
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Построить тело на базе элементарной поверхности.
Построить тело, состоящее из одной грани, на базе исходной элементарной поверхности.
[in] | surface | - Поверхность. |
[in] | names | - Именователь. |
[out] | result | - Построенная оболочка. |
MbResultType SurfaceShell | ( | const MbSurface & | surface, |
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Построить тело на базе поверхности.
Построить тело, состоящее из одной грани, на базе исходной поверхности. Поверхность должна быть без самопересечений, с корректной ориентацией ограничивающих кривых в случае поверхности MbCurveBoundedSurface.
[in] | surface | - Поверхность. |
[in] | names | - Именователь. |
[out] | result | - Построенная оболочка. |
MbResultType CutShellSilhouetteContour | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbVector3D & | eye, | ||
const MbSNameMaker & | operNames, | ||
c3d::SpaceCurvesSPtrVector & | outlineCurves, | ||
RPArray< MbSolid > & | cutSolids | ||
) |
Разрезать тело силуэтным контуром.
Построить оболочки, полученные в результате разрезания тела его силуэтным контуром.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Способ передачи данных при копировании оболочек. |
[in] | eye | - Направление взгляда. |
[in] | operNames | - Именователь с версией. |
[out] | outlineCurves | - Кривые, входящие в силуэтный контур. |
[out] | cutSolids | - Тела, полученные в результате применения операции. |
MbResultType CutShellSilhouetteContour | ( | const MbCutShellSilhouetteParams & | params, |
MbCutShellSilhouetteResult & | result | ||
) |
Разрезать тело силуэтным контуром.
Построить тела, полученные в результате разрезания тела его силуэтным контуром.
[in] | params | - Исходное тело, способ копирования оболочки, направление взгляда, именователь с версией. Кривые, входящие в силуэтный контур и тела, полученные в результате применения операции. |
MbeStitchResType StitchShells | ( | const c3d::SolidsSPtrVector & | initialSolids, |
const MbShellStitchParams & | stitchParams, | ||
c3d::SolidSPtr & | resultSolid | ||
) |
Сшить грани нескольких тел в одно тело.
Сшить стыкующиеся друг с другом грани нескольких тел в одно тело. Ориентация граней может быть изменена.
[in] | initialSolids | - Множество тел для сшивки. |
[in] | stitchParams | - Параметры сшивки оболочек. |
[out] | resultSolid | - Результирующая оболочка или тело (в зависимости от флага). |
MbResultType LatheCurves | ( | const MbLatheCurvesParams & | params, |
MbLatheCurvesResult & | result | ||
) |
Определение оси токарного сечения и построение кривых сечения для тела.
Функция выполняет поиск токарной оси граней вращения и строит токарное сечение в некоторой плоскости.
[in] | params | - Параметры для определения оси токарного сечения и построения кривых сечения для тела. |
[out] | result | - Построенные двумерные кривые сечения, расположенные в плоскости XY локальной системы координат. |
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. |
MbResultType LatheCurve | ( | const MbCurve3D & | generatrix, |
const MbPlacement3D & | position, | ||
RPArray< MbCurve > & | curves | ||
) |
Построение следа кривой при её вращении вокруг оси токарного сечения.
Функция выполняет построение следа ребра в плоскости XY локальной системы координат при его вращении вокруг оси X.
[in] | generatrix | - Кривая. |
[in] | position | - Плоскость, ось X которой является осью токарного сечения. |
[out] | curves | - Контейнер кривых, в который будет добавлен след в плоскости XY position от вращения кривой generatrix вокруг оси X. |
MbResultType MedianShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbMedianShellParams & | params, | ||
MbMedianShellResults & | result | ||
) |
Построить срединную оболочку по граням тела, основанным на эквидистантных поверхностях.
Построить срединную оболочку по парам граней тела, основанным на эквидистантных поверхностях. Пары граней либо выбираются пользователем, либо находятся автоматически по заданному расстоянию между гранями. Грани должны принадлежать одному и тому же телу.
[in] | solid | - Исходное тело. |
[in] | sameShell | - Режим копирования тела. |
[in] | params | - Параметры построения срединной оболочки. |
[out] | result | - Результаты операции. |
MbResultType OctaLattice | ( | const MbCartPoint3D & | point0, |
const MbCartPoint3D & | point1, | ||
const MbCartPoint3D & | point2, | ||
double | xRadius, | ||
double | yRadius, | ||
double | zRadius, | ||
size_t | xCount, | ||
size_t | yCount, | ||
size_t | zCount, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Создать решетчатую оболочку.
Создать решетчатую оболочку по трем управляющим точкам, параметрам решетки и количеству элементов.
[in] | point0 | - Точка, определяющая начало локальной системы координат поверхности. |
[in] | point1 | - Точка, определяющая направление оси X локальной системы и размер элемента. |
[in] | point2 | - Точка, определяющая направление оси Y локальной системы. |
[in] | xRadius | - Шаг вдоль первой оси локальной системы координат. |
[in] | yRadius | - Шаг вдоль второй оси локальной системы координат. |
[in] | zRadius | - Шаг вдоль третьей оси локальной системы координат. |
[in] | xCount | - Количество ячеек вдоль первой оси локальной системы координат. |
[in] | yCount | - Количество ячеек вдоль второй оси локальной системы координат. |
[in] | zCount | - Количество ячеек вдоль третьей оси локальной системы координат. |
[out] | result | - Построенное тело. |
MbResultType OctaLattice | ( | const MbOctaLatticeParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Создать решетчатую оболочку.
Создать решетчатую оболочку по трем управляющим точкам, параметрам решетки и количеству элементов.
[in] | params | - Параметры операции. |
[out] | result | - Построенное тело. |
MbResultType SectionShell | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSectionData & | data, | ||
c3d::SolidSPtr & | result | ||
) |
Построить оболочку на поверхности переменного сечения.
Построить грань тела путём движения образующей кривой по направляющей кривой и выполнить булеву операцию с оболочкой, если последняя задана.
Одновременно с построением оболочки функция создаёт её строитель.
[in] | solid | - Оболочка, к которой дополняется построение. |
[in] | sameShell | - Способ копирования граней оболочки. |
[in] | data | - Данные о поверхности переменного сечения. |
[out] | result | - Построенная оболочка. |
MbResultType SectionShell | ( | MbSolid * | solid, |
MbeCopyMode | sameShell, | ||
const MbSectionData & | data, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Построить оболочку на поверхности переменного сечения.
Построить грань тела путём движения образующей кривой по направляющей кривой и выполнить булеву операцию с оболочкой, если последняя задана.
Одновременно с построением оболочки функция создаёт её строитель.
[in] | solid | - Оболочка, к которой дополняется построение. |
[in] | sameShell | - Способ копирования граней оболочки. |
[in] | data | - Данные о поверхности переменного сечения. |
[in] | operNames | - Именователь новой грани оболочки. |
[out] | result | - Построенная оболочка. |
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 | - Глубина выдавливания или угол вращения. |
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 | - Код результата операции. |
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 | - Код результата операции. |
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 | - Код результата операции. |
void FindPolesAndSeamsInContour | ( | const MbSurface & | surface, |
const MbContour & | contour, | ||
c3d::IndicesVector & | seamsAndPoles | ||
) |
Найти сегменты контура на поверхности, соответствующие швам и полюсам.
Найти сегменты контура на поверхности, соответствующие швам и полюсам.
[in] | surface | - Поверхность. |
[in] | contour | - Контур. |
[out] | seamsAndPoles | - Номера сегментов, соответствующих швам и полюсам. |
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 | - Версия операции. |