Repository navigation
RU docs advanced solid modeling
Эти операции на базе OCCT расширяют модель элементов документа v8; они выполняются в текущем документе v12 и предназначены, например, для сложных литых корпусов, деталей мехобработки и других моделей из одной детали. В контракте рабочих плоскостей указано, какие операции принимают эскизы YZ/CUSTOM/привязанные к грани, а какие требуют прежние плоскости. Браузер предназначен для наблюдения; агент создаёт элементы через cadyx_execute_command / Agent API.
Используйте 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 самостоятельно не определяет физический масштаб по пикселям.