FreeCAD: Workbench Refactor
This commit is contained in:
parent
037827669a
commit
a58dcdafb1
386 changed files with 997 additions and 64533 deletions
BIN
docs/img/qXX7sBMbsvA.jpg
Normal file
BIN
docs/img/qXX7sBMbsvA.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
60
docs/Модуль технологической подготовки.md
Normal file
60
docs/Модуль технологической подготовки.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
|
||||
|
||||
# Модуль технологической подготовки
|
||||
|
||||
На вход: - step-модель описываемого оборудования.
|
||||
|
||||
1. Описание имеющихся сущностей:
|
||||
- Мы можем создать описание действий со станком и его состояниями для связи с окружающим миром нужен некий обобщенный объект
|
||||
его свойством будет возможность воздействовать на состояния, но сам он будет любым. Думаю, нужно описать сами рычаги, а не того, кто будет их нажимать.
|
||||
|
||||
- Описать объекты можно созданием зон вокруг них и/или созданием призрака геометрии оборудования (может быть сложно и избыточно).
|
||||
- Для этого возможно создать параллелепипед/цилиндр, сопоставимый по габаритам с рассматриваемой зоной. С помощью инструментов верстака Part создается объект, имеющий желаемое название (Станок, рабочая зона, etc). Эта зона с помощью отношений parent привязана к геометрии станка.
|
||||
|
||||
2. Описание действий
|
||||
- Создается папка actions, в которую сохраняются создаваемые действия
|
||||
- Интерфейс создания действий аналогичен интерфейсу задания других сущностей. Через него мы задаем ссылки на существующие действия и элементы и указываем их тип: триггеры, рабочие органы, конечные состояния, начальные состояния. Указываем их статус (выбор "да/нет")
|
||||
- Указываем ссылки на привязываемую к этим действиям геометрию. (катушки, статоры, расходники и тд) Для этого их геометрия должна быть импортирована в модель. Ссылка будет указывать на конкретный импортированный файл. Если существует идентификатор детали, можно ссылаться на него.
|
||||
|
||||
3. Задание состояний и переменных
|
||||
- Переменные задаются средствами параметризации FreeCAD, инструменты для этого можно взять из ASM4, используя функционал переменных (Variables) и панели конфигураций.
|
||||
- Для состояний переменных аналогично создается (в ASM4 уже имеется при создании модели) отдельная директория.
|
||||
|
||||
4. Результатом описания будет модель, имеющая дерево объектов, в свойствах которых мы имеем всю необходимую информацию. Геометрические характеристики мы сохраняем как json и отправляем в среды, работающие с геометрией и физикой. Действия и геометрия подставляются в шаблон pddl в соответствующие абзацы.
|
||||
|
||||
## Пример описания объекта
|
||||
|
||||
Action - "Заправка 3д-принтера пластиком"
|
||||
|
||||
- |- Объекты:
|
||||
- - 3d-принтер [printer_id] /прямоугольная зона по габаритам принтера. Зона привязана к геометрии оборудования
|
||||
- Workzone [printer_id] / прямоугольная зона. Указание на объект workzone, который содержит в себе габариты и позиционирование рабочей зоны относительно 3d-принтера.
|
||||
- Wirenest [printer_id] /цилиндрическая зона. Указание на объект wirenest (цилиндр), хранящий информацию об ориентации и положении гнезда для катушки с пластиком
|
||||
- Filament [filament_id] /катушка с пластиком требуемой модели, формы и габаритов.
|
||||
- Observer [observer_id] / некая сущность(манипулятор, человек, камера), к которой обращается станок, чтобы с ним провели внешние манипуляции
|
||||
- |- Длительность действия, с
|
||||
|
||||
|
||||
- |- Стартовые состояния:
|
||||
- Пластика достаточно (нет)
|
||||
- Наблюдатель свободен (да)
|
||||
- |- Во время действия:
|
||||
- Наблюдатель[observer_id] свободен (нет)
|
||||
- Катушка пластика установлена (нет)
|
||||
- |- После окончания:
|
||||
- Катушка пластика установлена (да)
|
||||
- Наблюдатель [observer_id] свободен (да)
|
||||
- Пластика достаточно (да)
|
||||
|
||||
|
||||
--В раздел Variables мы можем (должны ли?) полуавтоматически/автоматически указать подобные состояния, привязанные к значениям да/нет.-- (Указывать стартовые значения по умолчанию?)
|
||||
|
||||
|
||||
Указанные отдельно состояния пригодились бы, чтобы ссылаться на них при задавании действий, поскольку действия сообщаются между собой не напрямую, а через выполнение определенного набора состояний.
|
||||
|
||||
|
||||
|
||||
|
||||
Пример размеченной модели:
|
||||
|
||||

|
Loading…
Add table
Add a link
Reference in a new issue