C3D Toolkit
Kernel - 112706, Vision - 2.6.3.0
|
Резьба. Подробнее...
#include <mb_thread.h>
Открытые члены | |
MbThread (const MbPlacement3D &place, double rObj, double rThr, double len, double ang) | |
Конструктор. Подробнее... | |
MbThread (const MbPlacement3D &place, double rObj, double rThr, double begPos, double endPos, double ang) | |
Конструктор. Подробнее... | |
virtual | ~MbThread () |
Деструктор. | |
Общие функции геометрического объекта. | |
virtual MbeSpaceType | IsA () const |
Получить тип объекта. | |
virtual MbeSpaceType | Type () const |
Получить групповой тип объекта. | |
virtual MbSpaceItem & | Duplicate (MbRegDuplicate *=c3d_null) const |
Создать копию объекта. Подробнее... | |
virtual bool | IsSame (const MbSpaceItem &, double accuracy=LENGTH_EPSILON) const |
Определить, являются ли объекты равными. Подробнее... | |
virtual bool | IsSimilar (const MbSpaceItem &) const |
Определить, являются ли объекты подобными. Подробнее... | |
virtual bool | SetEqual (const MbSpaceItem &) |
Сделать объекты равным, если они подобны. Подробнее... | |
virtual void | Transform (const MbMatrix3D &, MbRegTransform *=c3d_null) |
Преобразовать объект согласно матрице. Подробнее... | |
virtual void | Move (const MbVector3D &, MbRegTransform *=c3d_null) |
Сдвинуть объект вдоль вектора. Подробнее... | |
virtual void | Rotate (const MbAxis3D &, double, MbRegTransform *=c3d_null) |
Повернуть объект вокруг оси на заданный угол. Подробнее... | |
virtual double | DistanceToPoint (const MbCartPoint3D &) const |
Определить расстояние до точки. Подробнее... | |
virtual void | AddYourGabaritTo (MbCube &) const |
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект. Подробнее... | |
virtual void | Refresh () |
Перевести все временные (mutable) данные объекта в неопределённое (исходное) состояние. | |
virtual void | CalculateMesh (const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) const |
Построить полигональную копию mesh. Подробнее... | |
virtual MbProperty & | CreateProperty (MbePrompt) const |
Создать собственное свойство с заданием его имени. | |
virtual void | GetProperties (MbProperties &) |
Выдать свойства объекта. Подробнее... | |
virtual void | SetProperties (const MbProperties &) |
Изменить свойства объекта. Подробнее... | |
virtual void | GetBasisPoints (MbControlData3D &) const |
Выдать контрольные точки объекта. | |
virtual void | SetBasisPoints (const MbControlData3D &) |
Изменить объект по контрольным точкам. | |
Функции инициализации. | |
bool | SetThreadParams (const MbPlacement3D &place, double radObj, double radThr, double len, double ang) |
Инициализация. Подробнее... | |
bool | SetThreadParams (const MbPlacement3D &place, double diamObj, double depth, bool bOutThr, double len, double ang) |
Инициализация. Подробнее... | |
Функции работы с именами. | |
void | SetName (const MbName &n) |
Установить имя. Подробнее... | |
MbName * | GetName () const |
Получить имя. Подробнее... | |
bool | IsName () const |
Есть ли имя. Подробнее... | |
Функции работы с телами, на которых нарезана резьба. | |
template<class ConstLumps > | |
void | AddBodies (const ConstLumps &initBodies) |
Добавить тела. Подробнее... | |
bool | IsBody (const MbLump *) const |
Найти тело. Подробнее... | |
size_t | GetBodiesCount () const |
Количество тел. | |
template<class ConstLumps > | |
void | GetBodies (ConstLumps &lumps) const |
Получить тела. Подробнее... | |
void | DetachWrongBodies () |
Отцепить тела, не принадлежащие этой резьбе. Подробнее... | |
void | DetachBodies () |
Отцепить тела, на которых нарезана резьба. | |
Функции доступа к данным. Информация о резьбе. | |
bool | IsValid () const |
Корректны ли параметры. Подробнее... | |
bool | IsConical () const |
Является ли резьба конической. Подробнее... | |
bool | IsOutside () const |
Является ли резьба внешней. Подробнее... | |
bool | IsLeft () const |
Является ли резьба левой. Подробнее... | |
const MbPlacement3D & | GetPlacement () const |
Получить СК резьбы в мировой СК. | |
double | GetObjBegRadius () const |
Получить начальный радиус резьбы на поверхности. | |
double | GetObjEndRadius () const |
Получить конечный радиус резьбы на поверхности. | |
double | GetThrBegRadius () const |
Получить начальный радиус резьбы в теле. | |
double | GetThrEndRadius () const |
Получить конечный радиус резьбы в теле. | |
double | GetLength () const |
Получить длину резьбы. | |
double | GetAngle () const |
Получить угол конусности поверхности резьбы. | |
MbeThrState | GetState () const |
Узнать состояние резьбы. | |
double | GetDepth () const |
Глубина нарезки. | |
void | GetBegAxisPoint (MbCartPoint3D &) const |
Получить начальную точку резьбы на оси. | |
void | GetEndAxisPoint (MbCartPoint3D &) const |
Получить конечную точку резьбы на оси. | |
bool | IsMatedTo (const MbThread &otherThread) const |
Сопрягаются ли резьбы. Подробнее... | |
bool | IsMatedTo (const MbThread &otherThread, const MbThreadedJointCheckParameters &checkParams, ThreadedJointErrors *thrJointErrors=c3d_null) const |
Сопрягаются ли резьбы. Подробнее... | |
bool | IsFaceThread (const MbFace *, const MbMatrix3D &) const |
Принадлежит ли резьба грани. | |
bool | IsBodyThread (const MbSolid &solid, const MbMatrix3D &matrix, c3d::IndicesVector *simObjNumbers=c3d_null, c3d::IndicesVector *intObjNumbers=c3d_null) const |
Принадлежит ли резьба телу. Подробнее... | |
bool | IsBodyThread (const MbLump &lump) const |
Принадлежит ли резьба телу. Подробнее... | |
bool | AdaptToBody (const MbSolid &solid, const MbMatrix3D &matrix, MbeThrAdapt thrAdapt, const ThreadLimiters *limiters=c3d_null) |
Адаптировать начало и конец резьбы к телу. Подробнее... | |
bool | GetLimitPositions (const MbThread &thread, double &begPos, double &endPos) const |
Выдать начало и конец изменённой резьбы относительно исходной. Подробнее... | |
template<class SolidsVector , class MatricesVector , class IndicesVector > | |
bool | FindThreadBodies (const SolidsVector &solids, const MatricesVector &matrices, IndicesVector &solidsNumbers) const |
Найти тела, которым может принадлежать резьба. Подробнее... | |
const MbCube & | CalculateGabarit () const |
Рассчитать габаритный куб резьбы. | |
void | CalculateLocalGabarit (const MbMatrix3D &mIntoLocal, MbCube &cubeLocal) const |
Рассчитать габаритный куб резьбы. Подробнее... | |
void | Init (const MbThread &) |
![]() | |
virtual | ~MbLegend () |
Деструктор. | |
virtual MbeSpaceType | Family () const |
Получить семейство объекта. | |
![]() | |
virtual | ~MbSpaceItem () |
Деструктор. | |
void | PrepareWrite () const |
Регистрация объекта. Подробнее... | |
virtual MbeRefType | RefType () const |
Получить регистрационный тип (для копирования, дублирования). | |
virtual bool | IsFamilyRegistrable () const |
Принадлежит ли объект к регистрируемому семейству. | |
void | CalculateWire (const MbStepData &stepData, MbMesh &mesh) const |
void | CalculateWire (double sag, MbMesh &mesh) const |
virtual void | GetBasisItems (RPArray< MbSpaceItem > &) |
Выдать базовые объекты в присланный контейнер. | |
![]() | |
TapeBase (RegistrableRec regs=noRegistrable) | |
Конструктор. | |
TapeBase (const TapeBase &) | |
Конструктор копирования | |
virtual | ~TapeBase () |
Деструктор. | |
RegistrableRec | GetRegistrable () const |
Является ли потоковый класс регистрируемым. | |
void | SetRegistrable (RegistrableRec regs=registrable) const |
Установить состояние регистрации потокового класса. | |
virtual ClassDescriptor | GetClassDescriptor (const VersionContainer &) const =0 |
Получить дескриптор класса | |
virtual const char * | GetPureName (const VersionContainer &) const |
Получить имя класса. | |
![]() | |
MbRefItem () | |
Конструктор без параметров. | |
refcount_t | GetUseCount () const |
Выдать количество ссылок (выдать количество владельцев объекта). | |
refcount_t | AddRef () const |
Увеличить количество ссылок на единицу. | |
refcount_t | DecRef () const |
Уменьшить количество ссылок на единицу. | |
refcount_t | Release () const |
Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя. | |
Защищенные данные | |
MbPlacement3D | place |
Система координат резьбы (в мировой системе координат). | |
double | radObj |
Начальный радиус резьбы на поверхности. | |
double | radThr |
Начальный радиус резьбы в теле. | |
double | length |
Длина резьбы. | |
double | angle |
Угол конусности поверхности резьбы. | |
Дополнительные унаследованные члены | |
![]() | |
MbLegend () | |
Конструктор. | |
![]() | |
MbSpaceItem () | |
Конструктор без параметров. | |
Резьба.
Резьба отверстий и валов.
MbThread::MbThread | ( | const MbPlacement3D & | place, |
double | rObj, | ||
double | rThr, | ||
double | len, | ||
double | ang | ||
) |
Конструктор.
Конструктор.
[in] | place | - Система координат. |
[in] | rObj | - Начальный радиус резьбы на поверхности. |
[in] | rThr | - Начальный радиус резьбы в теле. |
[in] | len | - Длина резьбы. |
[in] | ang | - Угол конусности поверхности резьбы. |
MbThread::MbThread | ( | const MbPlacement3D & | place, |
double | rObj, | ||
double | rThr, | ||
double | begPos, | ||
double | endPos, | ||
double | ang | ||
) |
Конструктор.
Конструктор.
[in] | place | - Система координат. |
[in] | rObj | - Начальный радиус резьбы на поверхности. |
[in] | rThr | - Начальный радиус резьбы в теле. |
[in] | begPos | - Положение начала резьбы вдоль оси Z системы координат. |
[in] | begPos | - Положение конца резьбы вдоль оси Z системы координат. |
[in] | ang | - Угол конусности поверхности резьбы. |
|
virtual |
Создать копию объекта.
Создать копию объекта с использованием регистратора. Регистратор используется для предотвращения многократного копирования объекта. Если объект содержит ссылки на другие объекты, то вложенные объекты так же копируются. Допустимо не передавать регистратор в функцию. Тогда будет создана новая копия объекта. При копировании одиночного объекта или набора не связанных между собой объектов допустимо не использовать регистратор. Регистратор необходимо использовать, если надо последовательно копировать несколько взаимосвязанных объектов. Возможно, что связь объектов обусловлена наличием в них ссылок на общие объекты. Тогда, при копировании без использования регистратора, можно получить набор копий, содержащих ссылки на разные копии одного и того же вложенного объекта, что ведет к потере связи между копиями.
[in] | iReg | - Регистратор. |
Замещает MbLegend.
|
virtual |
Определить, являются ли объекты равными.
Равными считаются однотипные объекты, все данные которых одинаковы (равны).
[in] | item | - Объект для сравнения. |
[in] | accuracy | - Точность сравнения. |
Замещает MbLegend.
|
virtual |
Определить, являются ли объекты подобными.
Подобными считаются однотипные объекты, данные которых можно приравнять или данные так же являются подобными (указатели). Подобный объект можно инициализировать по данным подобного ему объекта (приравнять один другому без изменения адресов).
[in] | item | - Объект для сравнения. |
Замещает MbLegend.
|
virtual |
Сделать объекты равным, если они подобны.
Равными можно сделать только подобные объекты. Подобный объект приравнивается присланному путем изменения численных данных.
[in] | item | - Объект для инициализации. |
Замещает MbLegend.
|
virtual |
Преобразовать объект согласно матрице.
Преобразовать исходный объект согласно матрице c использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то вложенные объекты так же преобразуются согласно матрице. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих трансформации.
[in] | matr | - Матрица преобразования. |
[in] | iReg | - Регистратор. |
Замещает MbLegend.
|
virtual |
Сдвинуть объект вдоль вектора.
Сдвинуть геометрический объект вдоль вектора с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция сдвига. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих сдвигу.
[in] | to | - Вектор сдвига. |
[in] | iReg | - Регистратор. |
Замещает MbLegend.
|
virtual |
Повернуть объект вокруг оси на заданный угол.
Повернуть объект вокруг оси на заданный угол с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция поворота. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих повороту.
[in] | axis | - Ось поворота. |
[in] | angle | - Угол поворота. |
[in] | iReg | - Регистратор. |
Замещает MbLegend.
|
virtual |
Определить расстояние до точки.
Определить расстояние до точки.
[in] | point | - Точка. |
Замещает MbLegend.
|
virtual |
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
[in,out] | cube | - Принимающий габаритный куб с информацией по габаритам. |
Замещает MbLegend.
|
virtual |
Построить полигональную копию mesh.
Построить полигональную копию данного объекта, представленную полигонами, или/и плоскими пластинами.
[in] | stepData | - Данные для вычисления шага при построении полигонального. |
[in] | note | - Способ построения полигонального объекта. |
[in,out] | mesh | - Построенный полигональный объект. |
Замещает MbLegend.
|
virtual |
Выдать свойства объекта.
Выдать внутренние данные (свойства) объекта для их просмотра и модификации.
[in] | properties | - Контейнер для внутренних данных объекта. |
Замещает MbLegend.
|
virtual |
Изменить свойства объекта.
Изменение внутренних данных (свойств) объекта выполняется копированием соответствующих значений из присланного объекта.
[in] | properties | - Контейнер для внутренних данных объекта. |
Замещает MbLegend.
bool MbThread::SetThreadParams | ( | const MbPlacement3D & | place, |
double | radObj, | ||
double | radThr, | ||
double | len, | ||
double | ang | ||
) |
Инициализация.
Инициализация.
[in] | place | - Система координат. |
[in] | radObj | - Начальный радиус резьбы (на поверхности). |
[in] | radThr | - Конечный радиус резьбы. |
[in] | len | - Длина резьбы. |
[in] | ang | - Угол. |
bool MbThread::SetThreadParams | ( | const MbPlacement3D & | place, |
double | diamObj, | ||
double | depth, | ||
bool | bOutThr, | ||
double | len, | ||
double | ang | ||
) |
Инициализация.
Инициализация.
[in] | place | - Система координат. |
[in] | diamObj | - Начальный диаметр. |
[in] | depth | - Глубина нарезки |
[in] | bOutThr | - Признак внешней резьбы. если true - резьба внешняя, если false - резьба внутренняя. |
[in] | len | - Длина резьбы. |
[in] | ang | - Угол. |
|
inline |
Установить имя.
Установить имя резьбы.
[in] | n | - Новое имя. |
|
inline |
Получить имя.
Получить имя резьбы.
|
inline |
Есть ли имя.
Есть ли имя у резьбы.
|
inline |
Добавить тела.
Добавить тела, на которых нарезана резьба.
Не добавляются нулевые указатели из присланного массива, не добавляются повторяющиеся объекты.
[in] | lumps | - Набор тел. |
bool MbThread::IsBody | ( | const MbLump * | ) | const |
Найти тело.
Найти тело в массиве.
|
inline |
Получить тела.
Получить массив тел.
[out] | lumps | - Результат - набор тел. |
void MbThread::DetachWrongBodies | ( | ) |
Отцепить тела, не принадлежащие этой резьбе.
Отцепить тела, не принадлежащие этой резьбе.
bool MbThread::IsValid | ( | ) | const |
Корректны ли параметры.
Корректны ли параметры резьбы:
bool MbThread::IsConical | ( | ) | const |
Является ли резьба конической.
Является ли резьба конической.
bool MbThread::IsOutside | ( | ) | const |
Является ли резьба внешней.
Является ли резьба внешней.
Резьба внешняя, если начальный радиус резьбы больше конечного.
|
inline |
Является ли резьба левой.
Является ли резьба левой.
bool MbThread::IsMatedTo | ( | const MbThread & | otherThread | ) | const |
Сопрягаются ли резьбы.
Сопрягаются ли резьбы (внутренняя с внешней.
1) Резьбы должны иметь одинаковый угол.
2) Одна резьба должна быть внутренней, другая внешней.
3) У обоих объектов должны быть корректные параметры.
4) Оси резьб должны быть параллельны.
[in] | otherThread | - Вторая резьба. |
bool MbThread::IsMatedTo | ( | const MbThread & | otherThread, |
const MbThreadedJointCheckParameters & | checkParams, | ||
ThreadedJointErrors * | thrJointErrors = c3d_null |
||
) | const |
Сопрягаются ли резьбы.
Сопрягаются ли резьбы (внутренняя с внешней.
1) Резьбы должны иметь одинаковый угол.
2) Одна резьба должна быть внутренней, другая внешней.
3) У обоих объектов должны быть корректные параметры.
4) Оси резьб должны быть параллельны.
[in] | otherThread | - Вторая резьба. |
[in] | checkParams | - Параметры проверки резьбовых соединений. |
bool MbThread::IsBodyThread | ( | const MbSolid & | solid, |
const MbMatrix3D & | matrix, | ||
c3d::IndicesVector * | simObjNumbers = c3d_null , |
||
c3d::IndicesVector * | intObjNumbers = c3d_null |
||
) | const |
Принадлежит ли резьба телу.
Принадлежит ли резьба телу.
[in] | solid | - Тело. |
[in] | matrix | - Матрица преобразования в мировую систему координат. |
[out] | simObjNumbers | - Индексы граней, которым может принадлежать резьба. |
[out] | intObjNumbers | - Индексы граней, c которым может пересекаться резьба. |
|
inline |
Принадлежит ли резьба телу.
Принадлежит ли резьба телу.
[in] | solid | - Тело с матрицей преобразования в мировую систему координат. |
bool MbThread::AdaptToBody | ( | const MbSolid & | solid, |
const MbMatrix3D & | matrix, | ||
MbeThrAdapt | thrAdapt, | ||
const ThreadLimiters * | limiters = c3d_null |
||
) |
Адаптировать начало и конец резьбы к телу.
Адаптировать начало и конец резьбы к телу, если резьба может принадлежать телу.
[in] | solid | - Тело. |
[in] | matrix | - Матрица преобразования в мировую систему координат. |
[in] | thrAdapt | - Метод подгонки резьбы. |
[in] | limiters | - Начальный и конечный ограничители резьбы. |
bool MbThread::GetLimitPositions | ( | const MbThread & | thread, |
double & | begPos, | ||
double & | endPos | ||
) | const |
Выдать начало и конец изменённой резьбы относительно исходной.
Выдать начало и конец изменённой резьбы относительно исходной вдоль оси Z системы координат исходной резьбы.
[in] | thread | - Исходная резьба. |
[out] | begPos | - Положение начала резьбы. |
[out] | endPos | - Положение конца резьбы. |
bool MbThread::FindThreadBodies | ( | const SolidsVector & | solids, |
const MatricesVector & | matrices, | ||
IndicesVector & | solidsNumbers | ||
) | const |
Найти тела, которым может принадлежать резьба.
Найти тела, которым может принадлежать резьба.
[in] | solids | - Набор тел. |
[in] | matrices | - Набор матриц преобразования тел в мировую систему координат. Количество должно соответствовать количеству тел. |
[out] | solidsNumbers | - Номера тел, которым может принадлежать резьба. |
|
virtual |
Рассчитать габаритный куб резьбы.
Рассчитать габаритный куб резьбы в локальной системе координат.
[in] | mIntoLocal | - Локальная система координат. |
[out] | cubeLocal | - Результат - посчитанный габарит. |
Переопределяет метод предка MbLegend.