6f7697efd6cd996f9df3315bd40481467792f080
- ОКПД2 автоматически по типу изделия (Болт/Гайка/Шайба/Шпилька/Саморез/Винт) - поле product_type для ведомости ВЗ (элементы) - render_markdown_full: таблица со всеми графами ГОСТ 2.119 (ОКПД2, масса) - CLI: опция --full для полной спецификации - CLI: unicode-safe source (no em-dash in code) - парсится на Python 3.10 - тесты: +3 (ОКПД2 автозаполнение, product_type, full render) -> 10 всего
fastengen
Генератор параметрического крепёжа со сравнительной базой и STEP-библиотекой.
Self-contained Python-решение — ** без КОМПАСА и других CAD-систем**: каталог изделий и генерация 3D-моделей в STEP через CadQuery.
Что делает
Создаёт:
- Каталог (
catalog.json) с параметрами изделий — обозначение, стандарт, материал, атрибуты, имя STEP-модели. - STEP-модели (
out/*.step) — параметрическая геометрия болтов, гаек, шайб.
Установить
pip install cadquery # тяжёлый пакет (OCP/OCCT), ставится ~1-2 мин
pip install -e .
Применение
Сгенерировать одну деталь
fastengen bolt-gen M10 40 --dir out
fastengen nut-gen M12 --dir out
fastengen washer-gen M8 --dir out
Сгенерировать всё семейство
fastengen gen-all --dir out --catalog catalog.json
Получается ~48 изделий:
- Болты ГОСТ 7805-70 — M6, M8, M10, M12, M16, M20, M24 × 20..120 мм (34 шт).
- Гайки ГОСТ 5915-70 — M6..M24 (7 шт).
- Шайбы ГОСТ 11371-78 — M6..M24 (7 шт).
Просмотр каталога
fastengen list --catalog catalog.json
fastengen show bolt_M10_40 --catalog catalog.json
Каталог (JSON-схема)
{
"id": "bolt_M10_40",
"designation": "Болт M10x40 ГОСТ 7805-70",
"type": "bolt",
"category": "Крепёж",
"standard": "ГОСТ 7805-70",
"material": "Сталь 8.8",
"model_file": "bolt_M10_40.step",
"attributes": {
"диаметр": "10",
"длина": 40,
"шаг_резьбы": 1.5,
"размер_под_ключ": 16.0,
"высота_головки": 6.4
}
}
API
from fastengen import PortableCatalog, get_bolt
cat = PortableCatalog("catalog.json", models_dir="out")
rec = cat.add_bolt(get_bolt("M12", 45))
print(rec.designation, rec.model_file)
cat.save()
Структура
fastengen/
├── pyproject.toml
├── fastengen/
│ ├── standard.py # ГОСТ/ISO размеры, спецификации
│ ├── model.py # генерация 3D → STEP
│ ├── catalog.py # каталог (JSON)
│ └── cli.py # CLI
├── tests/
├── out/ # STEP-модели
└── catalog.json
Тесты
python -m pytest
Description
Генератор параметрического крепёжа с STEP-библиотекой (ГОСТ)
393 KiB
0 Stars
1 Watchers
0 Forks
Languages
Python
100%