Skip to content

RU docs advanced solid modeling

rkfsociety edited this page Oct 21, 2026 · 1 revision

Сложное твердотельное моделирование

Эти операции на базе OCCT расширяют модель элементов документа v8; они выполняются в текущем документе v12 и предназначены, например, для сложных литых корпусов, деталей мехобработки и других моделей из одной детали. В контракте рабочих плоскостей указано, какие операции принимают эскизы YZ/CUSTOM/привязанные к грани, а какие требуют прежние плоскости. Браузер предназначен для наблюдения; агент создаёт элементы через cadyx_execute_command / Agent API.

Loft по непосредственно созданным сечениям

Используйте create_section_sketch, чтобы создать редактируемые сечения XZ с явными смещениями по Y. Нарисуйте замкнутые профили обычными командами эскиза, затем вызовите loft_profiles, передав ID эскизов по порядку и соответствующий список строго возрастающих смещений. В отличие от loft_sketches, этот процесс не требует, чтобы эскизы были получены сечением импортированного STEP.

Команда create_sketch_from_body_section извлекает замкнутые сечения из любой редактируемой B-rep по плоскостям X, Y или Z для последующей реконструкции и создания элементов.

Операции со стенками и формой

  • shell_body: удаляет выбранные грани и создаёт полое тело с заданной толщиной и знаком направления.
  • offset_body: смещает всю поверхность тела.
  • draft_faces: добавляет литейный уклон относительно направления извлечения и нейтральной плоскости.
  • chamfer_edges: создаёт фаску постоянной ширины на рёбрах.
  • variable_fillet_edges: создаёт линейно изменяющееся скругление с начальным и конечным радиусом.
  • fillet_edges по-прежнему поддерживает скругление с постоянным радиусом.

Инспекция топологии возвращает грани наряду с рёбрами. У каждой грани/ребра есть semantic_key, рассчитанный по текущим геометрическим свойствам. Сложные команды принимают face_keys / edge_keys вместо индексов. Ключи защищают от выбора по устаревшему индексу наугад; это не постоянные имена элементов топологии. В сохранённых элементах фаски/скругления также записываются геометрические ссылки на рёбра, чтобы последующие перестроения могли найти изменившееся ребро и обновить его индекс. Перед созданием нового элемента с выбором по топологии повторно осмотрите топологию. Неоднозначная или неразрешимая ссылка приводит к отказу атомарного перестроения. См. Document Model v8.

Ответ топологии является также средством измерения для агента. Помимо объёма тела, площади поверхности, габаритов и количества элементов топологии, текущая нативная среда возвращает аналитические данные, если OCCT может их предоставить:

  • рёбра-прямые: концы, начало и направление прямой;
  • окружные рёбра: радиус и ось;
  • эллиптические рёбра: большая/малая полуоси и ось;
  • плоские грани: начало и нормаль плоскости;
  • цилиндрические грани: радиус и ось;
  • конические грани: опорный радиус, половина угла при вершине и ось;
  • сферические и тороидальные грани: центр/ось и радиусы.

Поэтому диаметр отверстия, признаки соосности, ориентацию грани, габариты тела и радиусы рёбер можно проверять через существующий MCP-инструмент cadyx_inspect_topology. Семантические отпечатки учитывают эти аналитические свойства, когда они доступны.

Конструктивные элементы

  • hole / boss: цилиндрические вырез или бобышка вдоль произвольной оси.
  • through_hole: сквозное отверстие произвольной оси; режущий цилиндр автоматически продлевается за пределы текущих габаритов тела.
  • counterbore_hole: сквозное или глухое основное отверстие с соосным цилиндрическим углублением большего диаметра.
  • countersink_hole: сквозное или глухое основное отверстие с аналитической конической зенковкой; угол при вершине по умолчанию 90°.
  • threaded_hole: внутренняя однозаходная ISO-метрическая резьба произвольной оси, создаваемая вычитанием точной B-rep наружной метрической резьбы CADYX.
  • pad_sketch_to_body: выдавливает замкнутый эскиз и объединяет результат с существующим телом.
  • rib_from_sketch: создаёт тонкое добавляемое ребро жёсткости по профилю эскиза.
  • pocket_sketch: выдавливает замкнутый эскиз и вычитает результат из тела.
  • mirror_body: зеркально отражает всё тело относительно произвольной плоскости.
  • linear_pattern_body / circular_pattern_body: преобразует и объединяет повторяющиеся экземпляры; результат должен оставаться одним корректным телом.

Специализированные команды отверстий оставляют простую существующую команду hole обратно совместимой. Сквозной режущий инструмент рассчитывается при исполнении на основе проверенных габаритов тела; его итоговые начало и глубина сохраняются в параметрах элемента для аудита. Команды зенковки и цековки отклоняют операцию без фактического удаления материала и требуют, чтобы результат оставался одним замкнутым телом.

Создание тела на произвольной рабочей плоскости

extrude_profile_on_plane создаёт отдельную точную B-rep по замкнутому локальному профилю 2D на произвольной плоскости 3D. Команда принимает:

  • profile: упорядоченные точки профиля {x, y} в локальных координатах;
  • origin: начало рабочей плоскости в мировых координатах;
  • normal: нормаль и положительное направление выдавливания;
  • x_axis: направление X локального профиля; оно не должно быть параллельно normal;
  • depth и необязательное centered.

CADYX ортонормирует заданную систему координат, создаёт выдавливание локального профиля XY, затем применяет точное жёсткое преобразование OCCT. Нормализованное определение плоскости сохраняется вместе с элементом. Так поддерживается создание тела на произвольной плоскости без изменения сохраняемой схемы эскизов v7: обычные редактируемые эскизы остаются XY/XZ, а новая операция использует непосредственно локальный профиль для агентской реконструкции и построения по референсному изображению.

История элементов и отображение

Сложные команды сохраняют исходное тело и добавляют новое тело/элемент результата, оставляя операцию доступной для аудита. В живом viewport скрываются исходные тела, потреблённые операциями shell, offset, chamfer, draft, вариантами fillet, зеркальным отображением/массивом тел, площадками, рёбрами, карманами и высокоуровневыми командами отверстий. Благодаря этому историческая B-rep-основа не закрывает результат вычитания, например отверстие.

Результаты сложных операций сохраняются как проверенная геометрия OCCT (обычно imported_brep на границе расширения). Поэтому для рендеринга, инспекции топологии, булевых операций и проверенной передачи STEP/STL используется тот же путь нативного ядра.

Нативная среда

Сложный мост компилируется в cadyx_kernel из native/advanced.cpp, native/advanced_topology.cpp и native/agent_features.cpp. После получения коммита, меняющего эти файлы, пересоберите среду Windows:

.\scripts\setup-runtime.ps1

Хост со старой DLL намеренно отклоняет команды, которым нужен новый мост создания тел, с ошибкой устаревшей среды; операция не подменяется молча упрощённым поведением. Простые прежние операции остаются доступны, если соответствующие старые символы присутствуют.

Область моделирования

Эти возможности рассчитаны на точные B-rep-процессы, создающие одно тело: например, loft основного корпуса по сечениям, shell/offset для толщины стенок, draft/fillet/chamfer для переходов и pad/rib/pocket/boss/hole для внутренних и монтажных элементов. Отдельная модель поверхностей без тела и операции обрезки/сшивки поверхностей не добавлены: рабочий процесс остаётся в рамках проверенных замкнутых тел, чтобы сохранить гарантии передачи и ревизий CADYX.

Абсолютные размеры должны поступать от агента/пользователя или из другого откалиброванного источника. Референсное изображение может подсказывать элементы конструкции и пропорции, но CADYX самостоятельно не определяет физический масштаб по пикселям.

Clone this wiki locally