C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122
Файл 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 «залитого» объема, расположенного между внутренней поверхностью сосуда и ограничивающей поверхностью или телом. Подробнее...
 

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

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