C3D Kernel  104598
Функции
Файл action.h

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

Функции

bool IsMultiShell (const MbFaceShell *shell, bool checkNesting=true)
 Проверить оболочку на предмет разделения на отдельные части.
size_t DetachShells (MbFaceShell &shell, RPArray< MbFaceShell > &parts, bool sort)
 Отделить части оболочки.
size_t CreateShells (MbFaceShell &shell, RPArray< MbFaceShell > &parts)
 Отделить части оболочки.
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)
 Построить оболочку вращением плоских контуров.
bool UnifyOwnComplanarFaces (MbFaceShell &shell, const MbSNameMaker &nameMaker, bool checkBaseSurfaces)
 Объединить компланарные грани.
bool CheckIdenticalBaseSufaces (MbFaceShell &shell)
 Найти и устранить общие поверхности-подложки в гранях.
void FacePropagate (MbeFacePropagation fp, RPArray< MbFace > &face_set, const MbVector3D &dir)
 Захватить грани одним из способов.
void MouldCavitySolids (RPArray< MbSolid > &solids, MbCartPoint3D *fixedPoint, double deltaX, double deltaY, double deltaZ)
 Масштабировать каверны литейной формы.
bool IsSolidsIntersection (const MbSolid &solid1, const MbSolid &solid2, const MbSNameMaker &snMaker)
 Проверить тела на пересечение.
bool IsSolidsIntersection (const MbSolid &solid1, const MbMatrix3D &matr1, const MbSolid &solid2, const MbMatrix3D &matr2, bool checkTangent, RPArray< MbIntersectionData > &intData)
 Oпределить пересечение тел в сборке.
void GetDistanceToSurface (const MbPlacement3D &pl, const MbCurve *curve, const MbSurface *surf, double &lPlus, double &lMinus)
 Найти расстояния от контура на плоскости до поверхности.
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)
 Создание поверхностей сечения выдавливания плоского контура.
void GetDistanceToCube (const MbSurface &surface, const MbVector3D &direction, const MbCurve &curve, const MbCube &cube, double &lPlus, double &lMinus, MbResultType &resType)
 Найти расстояния от контура на поверхности до габаритного куба оболочки.
void GetDistanceToCube (const MbSurface &surface, const MbVector3D &direction, const RPArray< MbCurve > &curves, const MbCube &cube, double &lPlus, double &lMinus, MbResultType &resType)
 Найти расстояния от набора кривых на поверхности до габаритного куба оболочки.
bool GetDistanceToCube (const MbPlacement3D &pl, const MbFaceShell *shell, double &dPlus, double &dMinus, bool findMax=true)
 Найти расстояния от плоскости до габаритного куба оболочки.
void GetRangeToCubeOrSurface (const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, bool operationDirection, const MbCube *toCube, const MbSurface *toSurface, SweptValuesAndSides &params, MbResultType &resType)
 Найти расстояния/углы от контура до куба или до поверхности.
bool GetNearestSolid (const MbPlacement3D &pl, RPArray< MbContour > &c, MbSweptLayout::Direction direction, RPArray< MbSolid > &solids, size_t &nPlus, size_t &nMinus)
 Найти ближайшие тела при выдавливании с опцией "до ближайшего объекта".
bool GetNearestSolid (RPArray< MbCurve3D > &curves, const MbVector3D &direction, MbSweptLayout::Direction operationDirection, RPArray< MbSolid > &solids, size_t &nPlus, size_t &nMinus)
 Найти ближайшие тела при выдавливании с опцией "до ближайшего объекта".
MbResultType CheckNurbsShell (const NurbsSurfaceValues &params, const MbSolid &nsSolid, IProgressIndicator *progBar)
 Проверить оболочку или тело, состоящее из NURBS поверхностей.
bool AddTruncatingSketch (const MbPlacement3D &sketchPlace, RPArray< MbCurve > &sketchCurves, RPArray< MbSpaceItem > &items)
 Положить эскиз в массив усекающих объектов.
void AddTruncatingCurve (MbCurve3D &curve, RPArray< MbSpaceItem > &items)
 Положить кривую в массив усекающих объектов.
void CheckShellingFaces (const SweptValues &params, RPArray< MbFace > &faces)
 Проверить корректность вскрываемых граней для создания тонкостенного тела.
bool ProjectVectorOn (const MbVector3D &v3d, const MbSurface &surface, const MbCartPoint &p2d, MbVector &v2d)
 Вычислить компоненты проекции вектора, заданного в точке на поверхности.
MbSurfaceGetExtendedSurfaceCopy (MbCube &gabarit, const MbSurface &surf, VERSION version)
 Расширить поверхность для резки тела.
void CreateFaces (const MbPlacement3D &place, const MbContour &contour, const MbVector3D &der, bool sense, const MbSNameMaker &n, RPArray< MbFace > &initFaces, bool useAddCount=false)
 Построить набор граней с топологией призмы.
void GetAutoReference (MbFaceShell &shell, const MbPlacement3D &place, const MbContour &contour, ptrdiff_t index, RibValues::ExtrudeSide &side, MbCartPoint3D &origin, MbVector3D &dir3D)
 Оценить параметры выдавливания для ребра жёсткости.
MbCurveGetProjCurveOnSurface (const MbSurfaceIntersectionCurve &intersectCurve, bool first)
 Создать кривую в параметрах поверхности.
bool IsSameSpineDirection (const MbCurve3D &curve, VERSION srcVersion, VERSION dstVersion)
 Проверить неизменность вектора кинематической направляющий в разных версиях.
bool CalculateExtremeCurvatures (const MbSurface &surf, double &d_max, double &d_min, SArray< MbCartPoint > &maxPoints, SArray< MbCartPoint > &minPoints)
 Вычислить экстремали нормальной кривизны к поверхности.
bool FacesMaxMinCurvature (const RPArray< MbFace > &faces, double &d_max, double &d_min)
 Определить максимальную и минимальную нормальные кривизны для оболочки.
MbeItemLocation SecondContourLocation (const MbContour &contour1, const MbContour &contour2, double xEpsilon, double yEpsilon)
 Классифицировать положения второго контура относительно первого.
bool IsSpaceNear (const MbCurve &curve1, const MbCurve &curve2, double xEpsilon, double yEpsilon, double devSag=5.0 *Math::deviateSag)
 Определить, близка ли первая кривая ко второй кривой.
bool IsSpaceNear (const MbCurve3D &curv, const MbSurface &surf, bool surfExt, double mEps, double devSag=5.0 *Math::deviateSag)
 Определить, близка ли кривая к поверхности.
bool SurfaceFace (const MbSurface &surface, SPtr< MbFace > &face)
 Создать грань по произвольной поверхности.
MbGridSpaceGrid (const MbPlacement3D &place, const MbPlanarGrid &planarGrid, bool exact=false)
 Создание трёхмерной сетки по двумерной сетке.
MbItemReplaceByInstance (MbItem *item, double ratioThreashhold=-1.0, bool makeCopy=false)
 Заменить элемент на вставку, если расстояние от начала координат до центра его габарита, превышает размер габаритного куба в заданное число раз Объект или его копия смещается на вектор из начала координат до центра габаритного куба объекта и размещается во вставке, обеспечивающей смещение на вектор противоположного направления. Обрабатываются только объекты, не являющиеся вставками. Нулевое или отрицательное значение параметра ratioThreashhold запрещает преобразование.Function processes objects of all types except for instances. Null or negative value of the ratioThreashhold parameter blocks the transformation.
MbResultType FloodFillResult (MbSolid &vessel, MbeCopyMode sameShell, const MbSweptData &bungData, const MbCartPoint3D &origin, const MbSNameMaker &names, MbSolid *&result)
 Построениe «залитого» объема, расположенного между внутренней поверхностью сосуда и ограничивающей поверхностью или телом.

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

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