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