C3D Kernel  102057
Классы | Функции
Вычисление инерционных характеристик
Методы геометрических вычислений
Граф связей класса Вычисление инерционных характеристик:

Классы

class  MIProperties
 Массо-центровочные характеристики кривой. Подробнее...
class  MI3DProperties
 Oбъемные массо-центровочные характеристки. Подробнее...
struct  FormDefinition
 Oписание формы контура. Подробнее...
class  InertiaProperties
 Инерционные характеристики тела. Подробнее...
class  SolidMIAttire
 Тело, его характеристики и матрицы преобразования копий тела. Подробнее...
class  AssemblyMIAttire
 Сборка. Подробнее...

Функции

void MassInertiaProperties (const MbCurve *curve, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Определение массо-центровочных характеристик.
void MassInertiaProperties (const RPArray< MbCurve > &curves, const SArray< bool > &bodies, MIProperties &mp, double deviateAngle=Math::deviateSag)
 Определение массо-центровочных характеристик.
void MassInertia3DProperties (bool revolution, const RPArray< MbCurve > &curves, const SArray< FormDefinition > &formes, MI3DProperties &mp, double deviateAngle=Math::deviateSag)
 Расчет объемных массо-центровочных характеристик.
double CalculateArea (const MbSurface &surface, double angle=Math::deviateSag)
 Определить площадь.
double CalculateVolume (const MbSolid &solid, double angle)
 Определить объем.
double CalculateAreaCentre (const MbFaceShell &shell, double angle, MbCartPoint3D &centre)
 Определить площадь и центр масс.
double CalculateAreaCentre (const MbFace &face, double angle, bool byOuter, VERSION version, MbCartPoint3D &centre)
 Определить площадь и центр масс.
double CalculateArea (const RPArray< MbFace > &faces, double deviateAngle)
 Определение площади поверхности граней.
double CalculateArea (const MbFace &face, double deviateAngle)
 Определение площади.
void MassInertiaProperties (const MbSolid *solid, double density, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление массо-центровочных характеристик.
void MassInertiaProperties (const RPArray< MbSolid > &solids, const SArray< double > &densities, const SArray< MbMatrix3D > &matrs, const PArray< InertiaProperties > &mpSolids, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление массо-центровочных характеристик.
void MassInertiaProperties (const AssemblyMIAttire &assembly, double deviateAngle, InertiaProperties &mp, IfProgressIndicator *progress=NULL)
 Вычисление массо-центровочных характеристик.

Функции

void MassInertiaProperties ( const MbCurve curve,
MIProperties mp,
double  deviateAngle = Math::deviateSag 
)

Определение массо-центровочных характеристик кривой.
x0, y0 - координаты центра тяжести,
f - площадь,
mxx, myy - моменты инерции относительно осей, параллельных осям x и y и проходящих через центр тяжести,
mxy - центробежный момент инерции относительно осей, параллельных осям x и y и проходящих через центр тяжести,
mxx0, myy0 - главные центральные моменты инерции,
a - угол между первой главной осью и осью x.

Аргументы:
[in]curve- Кривая.
[out]- Результат - массоцентровочные характеристики кривой.
[in]deviateAngle- Угловое отклонение касательных кривой в соседних точках на участке численного интегрирования.
void MassInertiaProperties ( const RPArray< MbCurve > &  curves,
const SArray< bool > &  bodies,
MIProperties mp,
double  deviateAngle = Math::deviateSag 
)

Определение массо-центровочных характеристик кривых.

Аргументы:
[in]curves- Набор кривых.
[in]bodies- Набор флагов для каждой кривой:
если true - массо-центровочные характеристики кривой прибавляются к общему результату,
если false - массо-центровочные характеристики кривой вычитаются из общего результата.
Количество флагов должно совпадать с количеством кривых.
[out]mp- Результат - суммарные массо-центровочные характеристики.
[in]deviateAngle- Угловое отклонение касательных кривой в соседних точках на участке численного интегрирования.
void MassInertia3DProperties ( bool  revolution,
const RPArray< MbCurve > &  curves,
const SArray< FormDefinition > &  formes,
MI3DProperties mp,
double  deviateAngle = Math::deviateSag 
)

Расчет объемных массо-центровочных характеристик.

Аргументы:
[in]revolution- Если true - параметр описания формы контура считается углом,
если false - толщиной.
[in]curves- Набор кривых.
[in]formes- Описание формы для каждой кривой.
Количество элементов должно совпадать с количеством кривых.
[out]mp- Результат - массо-центровочные характеристики.
[in]deviateAngle- Угловое отклонение касательных кривой в соседних точках на участке численного интегрирования.
double CalculateArea ( const MbSurface surface,
double  angle = Math::deviateSag 
)

Определить площадь поверхности.

Аргументы:
[in]surface- Поверхность.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
Возвращает:
Площадь поверхности.
double CalculateVolume ( const MbSolid solid,
double  angle 
)

Определить объем тела.

Аргументы:
[in]solid- Тело.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
Возвращает:
Значение объема тела.
double CalculateAreaCentre ( const MbFaceShell shell,
double  angle,
MbCartPoint3D centre 
)

Определить площадь поверхности оболочки и центр масс этой поверхности.
В общем случае центр масс объёма объекта не совпадает с центром масс его поверхности.

Аргументы:
[in]shell- Оболочка.
[in]angle- Ограничение углового отклонения при аппроксимации оболочки треугольными пластинами.
[out]centre- Центр масс площади оболочки.
Возвращает:
Площадь поверхности оболочки.
double CalculateAreaCentre ( const MbFace face,
double  angle,
bool  byOuter,
VERSION  version,
MbCartPoint3D centre 
)

Определить площадь поверхности грани и центр масс этой поверхности.
В общем случае центр масс объёма объекта не совпадает с центром масс его пловерхности.

Аргументы:
[in]face- Грань.
[in]angle- Ограничение углового отклонения при аппроксимации грани треугольными пластинами.
[in]byOuter- При true расчет выполняется только по внешней границе без учёта внутренних вырезов грани.
[in]version- Версия, по умолчанию - последняя.
[out]centre- Центр масс площади грани.
Возвращает:
Площадь поверхности грани.
double CalculateArea ( const RPArray< MbFace > &  faces,
double  deviateAngle 
)

Определение площади поверхности граней. Определение выполняется методом вычисления массо-центровочных характеристик набора граней.

Заметки:
В многопоточном режиме выполняется параллельно.
Аргументы:
[in]faces- Набор граней.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормпли поверхности или касательных кривой на участке численного интегрирования.
Возвращает:
Площадь граней.
double CalculateArea ( const MbFace face,
double  deviateAngle 
)

Определение площади поверхности грани.

Аргументы:
[in]face- Грань.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормпли поверхности или касательных кривой на участке численного интегрирования.
Возвращает:
Площадь грани.
void MassInertiaProperties ( const MbSolid solid,
double  density,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление массо-центровочных характеристик тела.

Заметки:
В многопоточном режиме mtm_Items выполняется параллельно.
Аргументы:
[in]solid- Тело.
[in]density- Плотность (solid->IsClosed()) или удельная масса на единицу площади (!solid->IsClosed()).
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормпли поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Расчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.
void MassInertiaProperties ( const RPArray< MbSolid > &  solids,
const SArray< double > &  densities,
const SArray< MbMatrix3D > &  matrs,
const PArray< InertiaProperties > &  mpSolids,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление массо-центровочных характеристик тел.

Заметки:
В многопоточном режиме выполняется параллельно.
Аргументы:
[in]solids- Тела.
[in]densities- Плотности тел или удельная масса на единицу площади.
Количество элементов в массиве должно совпадать с количеством тел.
[in]matrs- Матрицы преобразования тел.
Количество элементов в массиве должно совпадать с количеством тел.
[in]mpSolids- Имеющиеся характеристики тел. Может содержать NULL.
Количество элементов в массиве должно совпадать с количеством тел.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормпли поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Рассчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.
void MassInertiaProperties ( const AssemblyMIAttire assembly,
double  deviateAngle,
InertiaProperties mp,
IfProgressIndicator progress = NULL 
)

Вычисление массо-центровочных характеристик сборки.

Заметки:
В многопоточном режиме m_Items выполняется параллельно.
Аргументы:
[in]assembly- Сборка.
[in]deviateAngle- Параметр управления точностью расчёта - угловое отклонение нормпли поверхности или касательных кривой на участке численного интегрирования.
[out]mp- Рассчитанные инерционные характеристики.
[in]progress- Индикатор прогресса выполнения.
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы