C3D Toolkit  Kernel - 107186, Vision - 190715.107186
+ Граф связей класса Прямое редактирование тел:

Функции

MbResultType TransformedSolid (MbSolid &solid, MbeCopyMode sameShell, const TransformValues &p, const MbSNameMaker &names, MbSolid *&result)
 Модифицировать тело по матрице. Подробнее...
 
MbResultType CollectFacesForModification (MbFaceShell *shell, MbeModifyingType way, double radius, RPArray< MbFace > &faces)
 Собрать грани оболочки для методов прямого моделирования. Подробнее...
 
MbResultType FaceModifiedSolid (MbSolid &solid, MbeCopyMode sameShell, const ModifyValues &params, const RPArray< MbFace > &faces, const MbSNameMaker &names, MbSolid *&result)
 Модифицировать оболочку методами прямого моделирования. Подробнее...
 
MbResultType ModifiedNurbsItem (MbSolid &solid, MbeCopyMode sameShell, const NurbsValues &p, const RPArray< MbFace > &faces, const MbSNameMaker &names, MbSolid *&result)
 Заменить выбранные грани тела деформируемыми гранями. Подробнее...
 
MbResultType ModifiedNurbsItem (MbSolid &solid, MbeCopyMode sameShell, const NurbsValues &p, const MbFace &face, const MbSNameMaker &names, MbSolid *&result)
 Заменить выбранную грань тела деформируемой гранью. Подробнее...
 
MbSurfaceGetControlSurface (const MbFace &face)
 Получить NURBS-поверхности грани. Подробнее...
 
MbResultType FaceControlPoints (const MbFace &face, Array2< MbCartPoint3D > &controlPoints, Array2< double > &result)
 Получить контрольные точки NURBS-поверхности грани. Подробнее...
 
MbResultType NurbsModification (MbSolid &solid, MbeCopyMode sameShell, MbFace *face, MbSurface &faceSurface, Array2< bool > &fixedPoints, const MbSNameMaker &names, MbSolid *&result)
 Деформировать грань тела. Подробнее...
 
MbResultType NurbsModification (MbSolid &solid, MbeCopyMode sameShell, MbFace *face, const Array2< MbCartPoint3D > &controlPoints, const Array2< double > &weights, Array2< bool > *fixedPoints, const MbSNameMaker &names, MbSolid *&result)
 Деформировать грань тела. Подробнее...
 
MbResultType NurbsBlockSolid (const MbPlacement3D &place, double ax, double ay, double az, bool outDir, const MbSNameMaker &names, SimpleName name, NurbsBlockValues &param, MbSolid *&result)
 Построить деформируемую призму. Подробнее...
 
MbResultType NurbsFaceConjugation (const MbSurfaceIntersectionCurve &curve, bool sences, bool faceSences, const MbSplineSurface &surface, double tension, MbeConjugationType conType, size_t insertNum, MbSplineSurface *&result)
 Построить согласованную поверхность. Подробнее...
 
MbResultType NurbsFaceSimilarity (const MbSurface &originSurface, const MbSplineSurface &surface, bool uToU, bool normSence, MbSplineSurface *&result)
 Построить подобную поверхность. Подробнее...
 
MbResultType SplineSurfaceSmoothing (const MbSplineSurface &surface, size_t udegree, size_t vdegree, MbSplineSurface *&result)
 Построить сглаженную поверхность. Подробнее...
 

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

Функции

◆ TransformedSolid()

MbResultType TransformedSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const TransformValues p,
const MbSNameMaker names,
MbSolid *&  result 
)

Модифицировать тело по матрице.

Выполнить трансформацию копии исходного тела по матрице, рассчитанной по габаритному кубу.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]p- Параметры трансформации.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ CollectFacesForModification()

MbResultType CollectFacesForModification ( MbFaceShell shell,
MbeModifyingType  way,
double  radius,
RPArray< MbFace > &  faces 
)

Собрать грани оболочки для методов прямого моделирования.

Функция собирает грани оболочки для методов прямого моделирования:
удаление из тела выбранных граней с окружением (way==dmt_Remove),
удаление выбранных граней скругления тела (way==dmt_Purify).
Для удаления граней собираются замкнутые цилиндрические, конические, тороидальные, сферические грани тела, а также грани вращения, радиус которых не превосходит указанный радиус. Для удаления граней скругления собираются незамкнутые цилиндрические, тороидальные, сферические грани, а также грани скругления, радиус которых не превосходит указанный радиус.

Аргументы
[in]shell- Исходная оболочка тела.
[in]way- Способ модификации.
[in]radius- Радиус собираемых граней.
[in]faces- Найденные грани для дальнейшей модификации.
Возвращает
Возвращает код результата действий.

◆ FaceModifiedSolid()

MbResultType FaceModifiedSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const ModifyValues params,
const RPArray< MbFace > &  faces,
const MbSNameMaker names,
MbSolid *&  result 
)

Модифицировать оболочку методами прямого моделирования.

В зависимости от параметров модификации метод выполняет одно из следующих действий:

  1. Удаление из тела выбранных граней с окружением (param.way==dmt_Remove).
  2. Создание тела из выбранных граней с окружением (param.way==dmt_Create).
  3. Перемещение выбранных граней с окружением относительно оставшихся граней тела (param.way==dmt_Action).
  4. Замена выбранных граней тела эквидистантными гранями (param.way==dmt_Offset).
  5. Изменение радиуса выбранных граней скругления (param.way==dmt_Fillet).
  6. Замена выбранных граней тела деформируемыми гранями для редактирования (param.way==dmt_Supple).
  7. Удаление выбранных граней скругления тела (param.way==dmt_Purify).
Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]params- Параметры модификации.
[in]faces- Изменяемые грани тела.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ ModifiedNurbsItem() [1/2]

MbResultType ModifiedNurbsItem ( MbSolid solid,
MbeCopyMode  sameShell,
const NurbsValues p,
const RPArray< MbFace > &  faces,
const MbSNameMaker names,
MbSolid *&  result 
)

Заменить выбранные грани тела деформируемыми гранями.

Заменить выбранные грани тела деформируемыми гранями (превращение в NURBS для редактирования).

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]p- Параметры преобразования.
[in]faces- Заменяемые грани тела.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ ModifiedNurbsItem() [2/2]

MbResultType ModifiedNurbsItem ( MbSolid solid,
MbeCopyMode  sameShell,
const NurbsValues p,
const MbFace face,
const MbSNameMaker names,
MbSolid *&  result 
)

Заменить выбранную грань тела деформируемой гранью.

Заменить выбранную грань тела деформируемой гранью (превращение в NURBS для редактирования).

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]p- Параметры преобразования.
[in]face- Заменяемая грань тела.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ GetControlSurface()

MbSurface* GetControlSurface ( const MbFace face)

Получить NURBS-поверхности грани.

Выполнить построение деформируемой поверхности для исходной грани.

Аргументы
[in]face- Исходная грань.
Возвращает
Возвращает NURBS-поверхности грани.

◆ FaceControlPoints()

MbResultType FaceControlPoints ( const MbFace face,
Array2< MbCartPoint3D > &  controlPoints,
Array2< double > &  result 
)

Получить контрольные точки NURBS-поверхности грани.

Получить множество контрольных точек NURBS-поверхности грани и множества их весов.

Аргументы
[in]face- Исходная грань.
[out]controlPoints- Контрольные точки NURBS-поверхности грани.
[out]result- Веса контрольных точек.
Возвращает
Возвращает код результата операции.

◆ NurbsModification() [1/2]

MbResultType NurbsModification ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
MbSurface faceSurface,
Array2< bool > &  fixedPoints,
const MbSNameMaker names,
MbSolid *&  result 
)

Деформировать грань тела.

Деформировать грань тела путём подстановки присланных контрольных точек NURBS-поверхности грани.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]face- Изменяемая грань тела.
[in]faceSurface- Новая NURBS-поверхность для грани.
[in]fixedPoints- Неподвижные узлы.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ NurbsModification() [2/2]

MbResultType NurbsModification ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
const Array2< MbCartPoint3D > &  controlPoints,
const Array2< double > &  weights,
Array2< bool > *  fixedPoints,
const MbSNameMaker names,
MbSolid *&  result 
)

Деформировать грань тела.

Деформировать грань тела путём подстановки присланных контрольных точек NURBS-поверхности грани.

Аргументы
[in]solid- Исходное тело.
[in]sameShell- Режим копирования исходного тела.
[in]face- Изменяемая грань тела.
[in]controlPoints- Контрольные точки NURBS-поверхности грани.
[in]weights- Веса контрольных точек.
[in]fixedPoints- Неподвижные узлы.
[in]names- Именователь.
[out]result- Модифицированное тело.
Возвращает
Возвращает код результата операции.

◆ NurbsBlockSolid()

MbResultType NurbsBlockSolid ( const MbPlacement3D place,
double  ax,
double  ay,
double  az,
bool  outDir,
const MbSNameMaker names,
SimpleName  name,
NurbsBlockValues param,
MbSolid *&  result 
)

Построить деформируемую призму.

Построить тело в форме прямого параллелепипеда с деформируемыми гранями.

Аргументы
[in]place- Локальная система координат.
[in]ax- Размер по X.
[in]ay- Размер по Y.
[in]az- Размер по Z.
[in]outDir- Ориентация нормалей наружу.
[in]names- Именователь.
[in]name- Главное имя.
[in]param- Параметры NURBS-поверхностей граней параллелепипеда.
[out]result- Тело из NURBS-поверхностей.
Возвращает
Возвращает код результата операции.

◆ NurbsFaceConjugation()

MbResultType NurbsFaceConjugation ( const MbSurfaceIntersectionCurve curve,
bool  sences,
bool  faceSences,
const MbSplineSurface surface,
double  tension,
MbeConjugationType  conType,
size_t  insertNum,
MbSplineSurface *&  result 
)

Построить согласованную поверхность.

Для исходной поверхности выполнить построение изменённой поверхности путем выставления сопряжения вдоль кривой.

Аргументы
[in]curve- Кривая пересечения поверхностей ребра.
[in]sences- Ориентация кривой ребра в цикле.
[in]faceSences- Ориентация нормали на смежной грани.
[in]surface- Исходная сплайновая поверхность для изменяемой грани.
[in]tension- Натяжение.
[in]conType- Тип сопряжения.
[in]insertNum- Вставляемый ряд.
[out]result- NURBS-поверхность, полученная в результате преобразований.
Возвращает
Возвращает код результата операции.

◆ NurbsFaceSimilarity()

MbResultType NurbsFaceSimilarity ( const MbSurface originSurface,
const MbSplineSurface surface,
bool  uToU,
bool  normSence,
MbSplineSurface *&  result 
)

Построить подобную поверхность.

Для исходной поверхности выполнить построение подобной поверхности по указанной поверхности-образцу.

Аргументы
[in]originSurface- Поверхность-образец.
[in]surface- Исходная сплайновая поверхность для изменяемой грани.
[in]uToU- Флаг сохранения параметрического направления как у поверхности-образца.
[in]normSence- Флаг сохранения направления нормали поверхности-образца.
[out]result- NURBS-поверхность, полученная в результате преобразований.
Возвращает
Возвращает код результата операции.

◆ SplineSurfaceSmoothing()

MbResultType SplineSurfaceSmoothing ( const MbSplineSurface surface,
size_t  udegree,
size_t  vdegree,
MbSplineSurface *&  result 
)

Построить сглаженную поверхность.

Выполнить сглаживание копии исходной поверхности не изменяя ее порядок и количество контрольных точек.

Аргументы
[in]surface- Исходная сплайновая поверхность для изменяемой грани.
[in]udegree- Параметр сглаживания по первому параметру поверхности.
[in]vdegree- Параметр сглаживания по второму параметру поверхности.
[out]result- NURBS-поверхность, полученная в результате преобразований.
Возвращает
Возвращает код результата операции.