Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
API на основе объектов предоставляет более «питоновский» интерфейс. Этот интерфейс поддерживается и тестируется. Существуют методы модификации объектов, которые здесь не документированы. Эти методы устарели и не находятся в стадии текущей разработки.

Конечные объекты соответствуют сущностям в Fidesys. Они являются производными от GeomEntity и Entity. Все методы, определенные в базовых классах, доступны в конечных классах.
Сущности Fidesys должны быть созданы с помощью метода cmd. Существуют операторы для преобразования идентификатора в объект и обратно. Например,
#!python
import numpy as np
cubit.cmd('brick x 5')
id = cubit.get_last_id('volume')
box = cubit.body(id)
surfaces = box.surfaces()
x_norm = np.array([1, 0, 0])
for surf in surfaces:
normal = np.array(surf.normal_at(surf.center_point()))
if np.dot(normal,x_norm) != 0:
print(f"Found +x surface id: {surf.id()}")
break
Объекты могут быть полезны для отслеживания и хранения идентификаторов и состояний.
Объекты Fidesys создаются из идентификатора и возвращают объект заданного типа
cubit.body(id_in) Создает объект тела по ID Параметры: id_in (int) – ID тела Возвращает: Объект тело Возвращает тип: Body |
cubit.volume(id_in) Создает объект объема по ID Параметры: id_in (int) – ID объема Возвращает: Объект объем Возвращает тип: Volume |
cubit.surface(id_in) Создает объект поверхности по ID Parameters: id_in (int) – ID поверхности Возвращает: Объект поверхность Возвращает тип: Surface |
cubit.curve(id_in) Создает объект кривой по ID Параметры: id_in (int) – ID кривой Возвращает: Объект кривая Возвращает тип: Curve |
cubit.vertex(id_in) Создает объект вершины по ID Параметры: id_in (int) – ID вершины Возвращает: Объект вершина Возвращает тип: Vertex |
class cubit.Entity Базовый класс всех типов геометрии и сеток
import cubit
cubit.cmd('brick x 1 y 1 z 1')
br = cubit.volume(1)
bbox = br.bounding_box()
cubit.cmd('delete body 1')
|
entity.bounding_box() Получить ограничивающую рамку сущности b_box = entity.bounding_box() Возвращает: Ограничивающий прямоугольник как вектор (или список), где индексы соответствуют значениям следующим образом:
Возвращаемый тип: tuple[float] length 6 |
entity.center_point() Получите центральную точку Entity. Обратите внимание, что это приблизительный центр center = entity.center_point() Возвращает: Центральная точка представляет собой список длиной 3, где индексы соответствуют следующим значениям:
Возвращаемый тип: tuple[float], length 3 |
entity.id() Получить идентификатор сущности id = entity.id() Возвращает: Идентификатор сущности Возвращаемый тип: int |
entity.is_visible() Получить состояние видимости сущности vis = entity.is_visible() Возвращает:Текущее состояние видимости сущности (1, если видно, 0, если нет) Возвращаемый тип: int |
entity.is_transparent() Получить состояние прозрачности сущности trans = entity.is_transparent() Возвращает: Текущее состояние прозрачности сущности (1, если прозрачна, 0, если нет) Возвращаемый тип: int |
class cubit.GeomEntity(*args, **kwargs) Базовый класс специально для типов геометрии (Body, Surface и т.д.) |
GeomEntity.mesh() Сетка GeomEntity geomEntity.mesh() |
GeomEntity.is_meshed() Возвращает текущее состояние сетки GeomEntity mesh = geomEntity.is_meshed() Возвращает: Является ли GeomEntity сеткой или нет Возвращаемый тип: boolean |
GeomEntity.smooth() Сглаживает сетку на GeomEntity geomEntity.smooth() |
|
GeomEntity.remove_mesh() Удаляет сетку на GeomEntity geomEntity.remove_mesh() |
|
GeomEntity.entity_name() Верните первое имя GeomEntity name = geomEntity.entity_name() Возвращает: Первое имя GeomEntit Возвращаемый тип: string |
GeomEntity.entity_names() Вернуть все имена GeomEntity names = geomEntity.entity_names() Возвращает: Кортеж строк, содержащий все имена GeomEntity |
GeomEntity.dimension() Получить размеры GeomEntity dim = geomEntity.dimension() Возвращает: Размерность GeomEntity Возвращаемый тип: int |
GeomEntity.bodies() Получить тела в GeomEntity bodies = geomEntity.bodies() Возвращает: Кортеж тел, содержащихся в GeomEntity |
GeomEntity.volumes() Получить объемы в GeomEntity volumes = geomEntity.volumes() Возвращает: Кортеж томов, содержащихся в GeomEntity |
GeomEntity.surfaces() Получить поверхности в GeomEntity surfaces = geomEntity.surfaces() Возвращает: Кортеж поверхностей, содержащихся в GeomEntity |
GeomEntity.curves() Получить кривые в GeomEntity curves = geomEntity.curves() Возвращает: Кортеж кривых, содержащихся в GeomEntity |
GeomEntity.vertices() Получить вершины в GeomEntity vertices = geomEntity.vertices() Возвращает: Кортеж вершин, содержащийся в GeomEntity |
Класс Body содержит тип тело Fidesys и предоставляет методы для запроса тел
class cubit.Body(*args, **kwargs) Определяет объект body, который в основном соответствует классу Body Fidesys |
body.get_mass_props() Получите массовые свойства тела, в частности центр тяжести props = body.get_mass_props() Возвращает: Кортеж числовых данных, соответствующих центру тяжести тела со следующими индексами:
Возвращаемый тип: tuple[float] |
body.point_containment(loc_in) Узнать, находится ли точка внутри, на или снаружи тела Body on_out_in = body.point_containment([0,0,0]) Возвращает: Является ли точка неизвестной (-1), находится вне (0), внутри (1) или на (2) теле Body Возвращаемый тип: int |
body.volume() Получите объем тела Body vol = body.volume() Возвращает: Объем тела Body Возвращаемый тип: float |
body.is_sheet_body() Определите, является ли тело Body листовым или нет is_sheet = body.is_sheet_body() Возвращает: Является ли тело Body листовым телом или нет Возвращаемый тип: boolean |
Класс Volume содержит объем Fidesys и предоставляет методы для запроса объема
class cubit.Volume(*args, **kwargs) Определяет объект объема, который в основном соответствует классу RefVolume Fidesys |
volume() Получить объем Volume vol = volume.volume() Возвращает: Получить объем Volume Возвращаемый тип: float |
volume.color() Получить цвет объема Volume col = volume.color() Возвращает: Значение цвета, связанное с текущим цветом объема. Примечание (0.,0.,0.,0.) обозначает цвет по умолчанию без назначенного значения цвета |
volume.principal_axes() Получить главные оси объема Volume axes = volume.principal_axes() Возвращает: Вектор (или список) главных осей объема с индексами вектора, соответствующими следующим значениям:
Возвращаемый тип: tuple[float], length 9 |
volume.principal_moments() Получить гавные моменты объема Volume moments = volume.principal_moments() Возвращает: Вектор (или список) главных моментов объема с индексами вектора, соответствующими значениям следующим образом:
Возвращаемый тип: tuple[float], length 3 |
volume.centroid() Получить центр объема Volume centroid = volume.centroid() Возвращает: Кортеж координат центра тяжести объема с индексами кортежа, соответствующими следующим значениям:
Возвращаемый тип: tuple[float], length 3 |
Класс Surface содержит поверхность Fidesys и предоставляет методы для запроса поверхности
class cubit.Surface(*args, **kwargs) Определяет объект поверхности, который в основном соответствует классу RefFace Fidesys |
surface.color() Получить цвет поверхности Surface col = surface.color() Возвращает: Значение цвета, связанное с текущим цветом тома. Примечание (0.,0.,0.,0.) обозначает цвет по умолчанию без назначенного значения цвета Возвращаемый тип: tuple[float], length 4 (r, g, b, a). |
surface.ordered_loops() Получить упорядоченные контуры поверхности, где первый контур является внешним loops = surface.ordered_loops() Возвращает: Кортеж кортежей контуров кривых Возвращаемый тип: tuple[tuple[float]]
|
surface.normal_at(location) Получить нормаль в определенной точке поверхности Surface norm = surface.normal_at([0,0,0]) Параметры: location – Список или кортеж, содержащий три значения, которые являются координатами точки Возвращает: Кортеж чисел с плавающей точкой, представляющих значения нормального вектора следующим образом Возвращаемый тип: tuple[float]
|
surface.closest_point_trimmed(location) Получить ближайшую точку на поверхности Surface к указанной точке nearest = surface.closest_point_trimmed([0,0,0]) Параметры: location – Кортеж, содержащий три значения, которые являются координатами точки Возвращает: Вектор (или список) чисел двойной точности, представляющих значения ближайшей точки следующим образом Возвращаемый тип: tuple[float]
|
surface.closest_point_along_vector(location, along_vector) Получить ближайшую точку на поверхности к указанной точке вдоль указанного вектора nearest = surface.closest_point_along_vector([0,0,0], [1,1,1]) Параметры: location – Список или кортеж, содержащий три значения, которые являются координатами точки Возвращает: Кортеж чисел двойной точности, представляющих значения ближайшей точки следующим образом Возвращаемый тип: tuple[float]
|
surface.point_containment(point_in) Узнать, находится ли точка на поверхности или нет on_off = surface.point_containment([0,0,0]) Параметры: point_in (tuple[float] length 3, in) – Вектор, содержащий три значения, которые являются координатами точки Возвращает: Логическое значение Python, представляющее, находится ли точка вне (0) или на (1) поверхности Surface Возвращаемый тип: int |
surface.principal_curvatures(point) Получить основные кривизны поверхности Surface curvatures = surface.principal_curvatures([0,0,0]) Параметры: point (tuple[float], in) – Вектор, содержащий три значения, которые являются координатами точки Возвращает: Список из двух float-ов, представляющих кривизны Возвращаемый тип: tuple[float], length 2
|
surface.position_from_u_v(u, v) Получить декартовы координаты из uv-координат на поверхности pos = surface.position_from_u_v(0, 0) Параметры:
Возвращает: Декартовы координаты предоставленных uv-координат как вектор Возвращаемый тип: tuple[float], length 3
|
surface.u_v_from_position(location) Получить uv-координаты из предоставленных декартовых координат на поверхности uv = surface.position_from_u_v([0,0,0]) Параметры: location (list[float] in) Вектор, содержащий декартовы координаты Возвращает: Значения кривизны Возвращаемый тип: tuple[float] length 2
|
surface.get_param_range_U() Получить диапазон u для поверхности Surface bounds = surface.get_param_range_U() Возвращает: Значения кривизны Возвращаемый тип: tuple[float], length 2
|
surface.get_param_range_V() Получить диапазон v для поверхности Surface lower_bound, upper_bound = surface.get_param_range_V() Возвращает: Значения кривизны Возвращаемый тип: tuple[float], length 2
|
surface.area() Получить площадь поверхности Surface area = surface.area() Возвращает: Площадь поверхности Surface Возвращаемый тип: float |
surface.is_planar() Узнать, является ли поверхность плоской или нет planar = surface.is_planar() Возвращает: Является ли поверхность плоской или нет Возвращаемый тип: boolean |
surface.is_cylindrical() Узнать, является ли поверхность цилиндрической или нет cyl = surface.is_cylindrical() Возвращает:Является ли поверхность цилиндрической или нет Возвращаемый тип: boolean |
surface.dihedral_angle(other, fraction) Найдите двугранный угол между этой поверхностью и другой поверхностью, взятой из дроби вдоль общей кривой между ними Параметры:
Возвращает: двугранный угол между поверхностями, в радианах Возвращаемый тип: float |
Класс Curve содержит кривую Fidesys и предоставляет методы для запроса кривой
class cubit.Curve(*args, **kwargs) Определяет объект кривой, который в основном соответствует классу RefEdge Fidesys |
curve.color() Получить цвет кривой Curve col = curve.color() Возвращает: Значение цвета, связанное с текущим цветом тома. Примечание (0.,0.,0.,0.) обозначает цвет по умолчанию без назначенного значения цвета |
curve.tangent(point) Получить касательную к кривой Curve в определенной точке tan = curve.tangent([0,0,0]) Параметры: point (tuple[float], length 3 , in) – Вектор, содержащий 3 числа двойной точности, представляющие координаты местоположения на кривой Curve Возвращает:Касательная к кривой Curve в указанном месте Возвращаемый тип: tuple[float], length 3 |
curve.curvature(point) Получите кривизну кривой Curve в определенной точке curvature = curve.curvature([0,0,0]) Параметры: point (tuple[float], length 3, in) - Вектор, содержащий 3 числа двойной точности, представляющие координаты местоположения на кривой Curve Возвращает: Кривизна кривой в указанном месте Возвращаемый тип: tuple[float], length 3 |
curve.closest_point(point) Получите кривизну кривой Curve в определенной точке close = curve.closest_point([0,0,0]) Параметры: point (tuple[float], length 3, in) – Вектор, содержащий 3 числа двойной точности, представляющие координаты местоположения на кривой Curve Возвращает: Ближайшая точка к кривой Curve от указанного местоположения |
curve.closest_point_trimmed(point) Получите кривизну кривой Curve в определенной точке close = curve.closest_point([0,0,0]) Параметры: point (tuple[float], length 3, in) – Вектор, содержащий 3 числа двойной точности, представляющие координаты местоположения на кривой Curve Возвращает: Ближайшая точка к кривой Curve от указанного местоположения Возвращаемый тип: tuple[float] |
curve.length() Получить длину кривой Curve len = curve.length() Возвращает: Длина кривой Curve Возвращаемый тип: float |
curve.curve_center() Получить центральную точку кривой Curve center = curve.curve_center() Возвращает: Вектор, содержащий координаты центра кривой согласно следующему:
Возвращаемый тип: tuple[float], length 3 |
curve.position_from_fraction(fraction_along_curve) Получить положение точки указанной дроби вдоль кривой Curve pos = curve.position_from_fraction(0.5) Параметры: fraction_along_curve (float, in) – Десятичное значение от 0 до 1 для определения конкретного положения на кривой Curve Возвращает: Вектор, содержащий координаты положения указанной фракции вдоль кривой Curve:
Возвращаемый тип: tuple[float] |
curve.start_param() Получить наименьшее значение кривой Curve в uv пространстве start = curve.start_param() Возвращает: Начальное значение параметра Возвращаемый тип: float |
curve.end_param() Получите наибольшее значение кривой Curve в uv пространстве end = curve.end_param() Возвращает: Конечное значение параметра Возвращаемый тип: float |
curve.u_from_position(position) Получить значение u для определенной позиции на кривой u = curve.u_from_position([0,0,0]) Параметры: position (tuple[float], length 3, in) – Вектор, содержащий координаты входной позиции Возвращает: Значение u положения вдоль кривой Curve Возвращаемый тип: float |
curve.position_from_u(u_value) Получить положение конкретного значения u для кривой Curve position = curve.position_from_u(0.5) Параметры: u_value (float, in) – Значение u положения вдоль кривой Curve Возвращает: Вектор, содержащий координаты выходной позиции Возвращаемый тип: tuple[float] |
curve.u_from_arc_length(root_param, arc_length) Получить значение u для точки, находящейся на указанной длине дуги от указанного корневого параметра на кривой Curve. u = curve.u_from_arc_length(0, 0.5) Параметры:
Возвращает: Значение u кривой - длина дуги от корневого параметра Возвращаемый тип: float |
curve.fraction_from_arc_length(root_vertex, length) Получить дробь вдоль кривой Curve, на которой указанная длина дуги находится от заданной вершины Vertex fraction = curve.fraction_from_arc_length(vertex, 0.5) Параметры:
Возвращает: Часть кривой Curve, которая находится на указанной длине от указанной вершины Vertex Возвращаемый тип: float |
curve.point_from_arc_length(root_param, arc_length) Получить положение на кривой Curve, которое находится на указанной длине дуги от указанного корневого параметра position = curve.point_from_arc_length(0, 0.5) Параметры:
Возвращает: Вектор, содержащий координаты позиции, находящейся на указанной длине дуги от корневого параметра Возвращаемый тип: tuple[float] |
curve.length_from_u(parameter1, parameter2) Получить длину между двумя указанными параметрами на кривой Curve length = curve.length_from_u(0, 0.5) Параметры:
Возвращает: Длина между двумя указанными параметрами вдоль кривой Возвращаемый тип: float |
curve.is_periodic() Определите, является ли кривая Curve периодической или нет periodic = curve.is_periodic() Возвращает: Является ли кривая Curve периодической или нет Возвращаемый тип: boolean |
curve.dihedral_angle(other, common_surface) Получите двугранный угол между этой кривой Curve и другой кривой Curve, относящейся к данной поверхности Параметры:
Возвращает: Двугранный угол между кривыми, в радианах Возвращаемый тип: float |
Класс Vertex содержит вершину Fidesys и предоставляет методы для запроса вершины
class cubit.Vertex(*args, **kwargs) Определяет объект вершины, который в основном соответствует классу RefVertex Fidesys |
vertex.color() Получить цвет вершины Vertex col = vertex.color() Возвращает: Значение цвета, связанное с текущим цветом вершины Возвращаемый тип tuple[float], length 4 |
vertex.coordinates() Получить декартовы координаты вершины position = vertex.coordinates() Возвращает: Вектор, содержащий координаты вершины Vertex с индексами, соответствующими координатам следующим образом:
Возвращаемый тип: tuple[float] |
Класс Dir хранит и обрабатывает вектор, используемый в качестве направления
class cubit.Dir(x, y, z) Определяет объект направления |
vertex.x() Получить местоположение точки по оси x Возвращает: Значение x Возвращаемый тип: float |
vertex.y() Получить местоположение точки по оси y Возвращает: Значение y Возвращаемый тип: float |
vertex.z() Получить местоположение точки по оси z Возвращает: Значение z Возвращаемый тип: float |
vertex.set_x(x_in) Установить x координату точки Параметры: x_in (float) – новое значение x |
vertex.set_y(y_in) Установить y координату точки Параметры: y_in (float) – новое значение y |
vertex.set_z(z_in) Установить z координату точки Параметры: z_in (float) – новое значение z |
vertex.get_xyz() Получить массив вектора |
vertex.normalize() Нормализовать ‘this’ вектор |
vertex.set(x, y, z) Установить значения xyz вектора Возвращает: None Возвращаемый тип: None |
vertex.cross(vec2) Возвращает векторное произведение этого X vec2 Возвращает: Векторное произведение Возвращаемый тип: Dir |
vertex.dot(vec2) Возвращает скалярное произведение Возвращает: Скалярное произведение Возвращаемый тип: float |
vertex.length() Возвращает длину Возвращает: Длина Возвращаемый тип: float |
vertex.distance(vec_in) Получить расстояние между двумя точками Возвращает: Расстояние (дистанция) Возвращаемый тип: float |
vertex.angle(vec_in) Возвращает внутренний угол двух векторов. Возвращает угол в радианах. a = cubit.Dir(1,0,0) angle = a.angle(cubit.Dir(1,1,0)) Возвращает: Угол Возвращаемый тип: float |
vertex.dir_print() Напечатать вывод |
vertex.orthogonal_vectors() Находит 2 (произвольных) вектора, ортогональных данному |