C3D Toolkit
Kernel - 105435, Vision - 121811.105435
|
Функции работы с кривыми, поверхностями, оболочками, телами. Подробнее...
#include <templ_s_array.h>
#include <templ_rp_array.h>
#include <mb_cart_point3d.h>
#include <space_item.h>
#include <model_item.h>
#include <op_shell_parameter.h>
#include <op_swept_parameter.h>
#include <mb_operation_result.h>
#include <check_geometry.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 ¶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) |
Построить оболочку вращением плоских контуров. Подробнее... | |
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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, RPArray< MbFace > &faces) |
Проверить корректность вскрываемых граней для создания тонкостенного тела. Подробнее... | |
bool | ProjectVectorOn (const MbVector3D &v3d, const MbSurface &surface, const MbCartPoint &p2d, MbVector &v2d) |
Вычислить компоненты проекции вектора, заданного в точке на поверхности. Подробнее... | |
MbSurface * | GetExtendedSurfaceCopy (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) |
Оценить параметры выдавливания для ребра жёсткости. Подробнее... | |
MbCurve * | GetProjCurveOnSurface (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) |
Создать грань по произвольной поверхности. Подробнее... | |
MbGrid * | SpaceGrid (const MbPlacement3D &place, const MbPlanarGrid &planarGrid, bool exact=false) |
Создание трёхмерной сетки по двумерной сетке. Подробнее... | |
MbItem * | ReplaceByInstance (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 «залитого» объема, расположенного между внутренней поверхностью сосуда и ограничивающей поверхностью или телом. Подробнее... | |
Функции работы с кривыми, поверхностями, оболочками, телами.