Files
kompas-plugin/plugin/skills/kompas-3d/reference/fragments.md
T

2.8 KiB
Raw Blame History

Фрагмент — переиспользуемый чертёж, а не сечение

Дополнение к SKILL.md. Эскиз живёт внутри дерева построения и вне его не существует; фрагмент (*.frw) — самостоятельный файл, который переживает деталь. fragment_create его пишет, fragment_place кладёт в активный чертёж или другой фрагмент, а mode решает, чем он там станет — и это разные объекты, а не оттенки одного:

  • reference — вставка-ссылка: содержимым владеет файл, правка файла меняет все документы, куда он вставлен. Ради этого фрагменты и заводят: одна заготовка на десять чертежей.
  • copy — копия внутри документа, живёт своей жизнью; файл потом можно удалить.
  • local — вставка, переиспользуемая только внутри этого документа.
  • explode — россыпь обычных примитивов: правится по одному, но связи с файлом уже нет.

angle (градусы), scale и mirror задают размещение; зеркалить можно только вставку — у россыпи отражать нечего. Зеркало отражает относительно вертикали через точку вставки, поэтому контур уходит в другую сторону от неё: вставка в x=220 после mirror занимает 160…220, а не 220…280.

Проверять результат — list_drawing_objects: он показывает состав по типам, габарит и все вставки с их файлами. Вставка, чей файл потерялся, рисуется пустым местом — в списке она помечена недействительной, и это единственный способ отличить её от удавшейся, не глядя на экран.

Контур, который переживёт конкретную деталь (логотип, шаблон, профиль), клади во фрагмент — fragment_create(path, entities) тем же списком примитивов. Активный документ он не подменяет, поэтому фрагмент можно снять посреди построения детали; габарит в ответе снят с самого документа — сверяй его с задуманным.