kompas 0.3.0 (из fcedb44f5661313ffd0570e3808a5309f6ae8cb7)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Исполнения: одна модель — несколько геометрий
|
||||
|
||||
Дополнение к SKILL.md. Типоразмеры (профиль на 100, 200, 500 мм), правое и левое зеркало, версии с
|
||||
отверстием и без часто живут **в одном файле** исполнениями. Тогда всё, что ты меришь и
|
||||
экспортируешь, относится к **текущему** исполнению — не к «детали вообще».
|
||||
|
||||
- **Признак замечаешь не ты, а ответ.** У модели с несколькими исполнениями `describe_model` сам
|
||||
пишет, сколько их и какое сейчас текущее. Увидел эту строку — прежде чем считать массу или резать
|
||||
чертёж, посмотри `describe_model(sections=embodiments)`: там габарит и масса **каждого**, и это
|
||||
чтение ничего не переключает.
|
||||
- **Переключение равно смене документа.** `embodiment(action="set", target="L200")` обнуляет
|
||||
сессию построения: хендлы `sk_…`/`op_…` после него мертвы. Сохраняй документ до переключения.
|
||||
- **Индекс живёт до первой правки дерева**: после `delete` индексы смещаются. Адресуй обозначением
|
||||
(«L500»), а индексом — только сразу после того, как увидел список. У **варианта** обозначение
|
||||
родительское, и адресовать его номером нельзя вовсе — под «-01» подходят двое; зови его по имени
|
||||
(«M5-01») или индексом.
|
||||
- **Исполнения делай ПОСЛЕДНИМ шагом.** Переключение убивает хендлы, и дальнейшая правка дерева
|
||||
идёт уже через `feature_delete(featureIndex=…)` по `describe_model(sections=tree)` — путь рабочий,
|
||||
но менее удобный. Сначала доведи базовую геометрию и параметризацию, потом размножай.
|
||||
- **Строишь новое исполнение** — `embodiment(action="add", number="02")`; оно сразу становится
|
||||
текущим, строй в нём немедленно. `depended=false` нужен, когда правки НЕ должны наследоваться от
|
||||
родителя, — иначе изменение уедет и в него.
|
||||
- **В сборку исполнение выбирается явно**: `assembly_add_component(embodiment="L500")`. Без
|
||||
параметра встанет **базовое** исполнение, а не то, что сохранено в файле текущим. Обозначение
|
||||
нужно ПОЛНОЕ («ПРОБА.001-01», а не «-01»); сервер откажет, если КОМПАС подсунет базовое.
|
||||
- **«Удлинить эти профили с 500 до 600» — это смена исполнения экземпляра, а не новая вставка**:
|
||||
`embodiment(action="set", target="L600", component=N)` и затем `rebuild`. Сопряжения при этом
|
||||
**сохраняются** — пересоздание вставки, наоборот, порвало бы их все. Какие исполнения есть у
|
||||
конкретного экземпляра, показывает `describe_model(sections="embodiments", component=N)`.
|
||||
- **Выгнать всю линейку на печать** — `export_model(embodiment="all")`: каждое исполнение в свой
|
||||
файл с суффиксом обозначения.
|
||||
- **После смены исполнения в собранном узле проверь сопряжения** (`sections="mates"`): если у нового
|
||||
исполнения нет объекта, на который опиралась связь, она рвётся — «ССЫЛКА ПОТЕРЯНА», `valid: false`,
|
||||
компонент недоопределён. Что было потеряно, хранит имя сопряжения; `assembly_delete` сотрёт и его.
|
||||
|
||||
Подробности и границы — `help(topic="embodiments")`.
|
||||
Reference in New Issue
Block a user