2.8 KiB
Фрагмент — переиспользуемый чертёж, а не сечение
Дополнение к 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) тем же списком примитивов. Активный документ он не подменяет,
поэтому фрагмент можно снять посреди построения детали; габарит в ответе снят с самого документа —
сверяй его с задуманным.