kompas 0.3.0 (из fcedb44f5661313ffd0570e3808a5309f6ae8cb7)

This commit is contained in:
gitea-actions
2026-08-16 10:02:12 +00:00
parent c62794b415
commit 94e044bd03
21 changed files with 762 additions and 433 deletions
@@ -0,0 +1,25 @@
# Фрагмент — переиспользуемый чертёж, а не сечение
Дополнение к 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)` тем же списком примитивов. Активный документ он не подменяет,
поэтому фрагмент можно снять посреди построения детали; габарит в ответе снят с самого документа —
сверяй его с задуманным.