Files
cad-electro-symbols/docs/электрические-планы-ГОСТ.md
T
anatoly 14f82e550d Условные обозначения по электрике: библиотека блоков + описание примитивов
- library/электрика_блоки.dxf — 4 блока (СВ_ВСТР, СВ_БРА, РОЗ_2, ВЫКЛ_3) для вставки
- symbols/ + preview/ — по файлу и картинке на символ
- docs/примитивы-электрики.md — разбор по примитивам, атрибутам, слоям, порядок сборки через MCP, грабли
- docs/условные-обозначения.md, conventions/*.json — легенда из эталона (правило: на лист не ставить)
- docs/электрические-планы-ГОСТ.md — накопленные правила оформления
- scripts/build_symbols_mcp.py (проверен на живом MCP 1.6.0-ours, 0 анонимных блоков), scripts/inspect_dxf.py
- examples/plan_el_final.dxf/.pdf/.png — пример применения (14 вставок)
2026-10-05 18:51:32 +03:00

112 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Комплект чертежей по ГОСТ из данных — а не «картинкой от нейросети»
Класс задач: «получить комплект планов (электрика, полы, потолки, демонтаж) уровня рабочей документации, сгенерированный автоматически». Собран 01.10.2026 по поводу ролика Михаила Жилина (дизайнер интерьера, ТОП-100 AD) — «Я попросил GPT-6 Astra нарисовать чертежи электрики квартиры 100 м²» (https://www.youtube.com/watch?v=Sto1bDtOlY8, 26.09.2026, 15:18, 14 439 просмотров).
## 1. Что именно показал ролик (референс «планки качества»)
Автор дал модели 4 исходника: 2D-планировку, свою же 3D-модель, комплект визуализаций и **пример рабочей документации как образец**. Получил **4 согласованных листа по электрике за ≈35 минут** (первые два — 9 мин 42 сек, вторые два — 27 мин).
| № | Лист | Содержание |
|---|---|---|
| 1 | План расстановки светового оборудования | световые точки с привязками + ведомость световых точек |
| 2 | План маркировки светового оборудования | спецификация типов светильников (споты, треки, бра, настольные лампы) |
| 3 | План выключателей и групп включения света | мастер-кнопка при входе + группы по зонам (обозначения V03) |
| 4 | План расстановки электрического оборудования | розетки, выводы под технику, ТВ, интернет (S40), драйверы (E08) |
**Приёмы, которые стоит забирать (работают и без всякой Astra):**
1. **«Сделай по образцу»** — дать пример готовой РД, а не описывать словами. Это то, что дало состав и оформление листов.
2. **Опираться на промежуточный наглядный артефакт** — модель «прочитала» свои же визуализации и расставила точки по ним. Аналог у нас: сначала растровая подложка/эскиз, потом координаты.
3. **Комплект, а не один лист.** Ценность — в наборе из 4 согласованных листов (расстановка → маркировка → группы → розетки).
**Косяки, которые у него остались (ровно то, что в AutoCAD ловится кодом):** светильники «съехали» с оси в 2 местах; высота бра на листе (1 800) не бьётся с визуализацией; выключатель поставлен в угол вместо фартука; **розетка над варочной поверхностью — лишняя**; выключатели не размечены по расстоянию от проёма.
**Экономика по словам автора:** 35 минут и подписка $20/мес против 2 недель работы дизайнера студии и более 100 000 ₽. Год назад на этой задаче было «полный мрак».
**Ключевое допущение (не цитата автора — вывод из ролика):** DWG, слои, блоки и сохранённый файл в ролике не упоминаются ни разу; единственный способ правки — «попросить его в чате исправить». То есть листы — это **растровые сгенерированные изображения**, а не рабочая документация в открытом формате. Отсюда и весь разрыв с AutoCAD-подходом: у нас на выходе редактируемый DWG со слоями и блоками, где символ перетаскивается мышкой и атрибут правится в свойствах.
## 2. Норматив (что брать за основу символов и оформления)
| Документ | Что даёт | Ссылка |
|---|---|---|
| **ГОСТ 21.210-2014** «СПДС. Условные графические изображения электрооборудования и проводок на планах» | таблицы изображений выключателей, переключателей, штепсельных розеток **с размерами в мм** — источник символов | docs.cntd.ru/document/1200115052 |
| **ГОСТ 21.614-88** | заменён 21.210-2014 — применять новый | ruscable.ru/info/snip/Data1/3/3117/index.htm |
| **ГОСТ Р 21.1101-2013** СПДС | основная надпись **форма 3** (и 5, 6), оформление листов | mt-r.ru/upload/blok-skhemy/GOST_Р_21_1101-2013_SPDS.pdf |
| **ГОСТ Р 21.101-2020** | актуальная редакция СПДС вместо 21.1101-2013 | fkr-spb.ru (PDF) |
⚠️ **ГОСТ ≠ ISO.** Встроенный в MCP `titleblock_apply_iso_a3` — это **ISO 7200**, другая таблица. Для РФ нужен свой блок рамки со штампом по форме 3.
## 3. Пять технологий AutoCAD, которые дают результат
1. **Блоки с атрибутами** (`BLOCK`/`ATTDEF`/`INSERT`). Символ розетки — одна сущность с полями тип/высота/группа/монтаж. Для параметрики — **динамические блоки** (набор видимости: одинарная/двойная/скрытая). Через наш MCP — `block_insert` с `attributes`.
2. **Извлечение данных** `DATAEXTRACTION` → нативная таблица прямо в чертеже + выгрузка в Excel/CSV. Ведомость **всегда сходится с чертежом**, потому что считается из него. Документация Autodesk: help.autodesk.com, справка AutoCAD 2025 (`GUID-D1433C93…`). В ezdxf-мире аналог — обход `INSERT` и `entity_create_table`.
3. **Слои и стили.** Нужны свои: `СПДС-СО.Светильники`, `СПДС-СО.Выключатели`, `СПДС-ЭО.Розетки`, `СПДС-ЭО.Группы`, `АР.Подложка-мебель`, `Штамп`, `Размеры`. Встроенный `template_apply_layers(electrical)` (7 слоёв, IEC-логика под схемы) для этого **не годится**.
4. **Лист:** Layout + Viewport + рамка со штампом; модель чертится 1:1, масштаб задаётся видовому экрану (`viewport_create(scale=1/50)`).
5. **Preflight кодом** вместо «глаза проверяющего»: розетка в зоне варочной/мойки → ошибка; у каждого символа заполнены обязательные атрибуты; количество символов типа == строка ведомости; светильники одной группы на одной оси; нет символов «на слое 0».
**Мелочь, дающая «то самое» ощущение чертежа:** подложка мебели приглушённым цветом (ACI 250/8) на отдельном слое + порядок отрисовки.
## 4. Готовые решения (проверено 01.10.2026)
| Решение | Что даёт | Статус |
|---|---|---|
| **U-C4N/Autocad-MCP** (`autocad-mcp-pro`) | наш текущий сервер, 149 инструментов: блоки с атрибутами, нативные таблицы, листы, HATCH, размеры, preflight, `system_run_lisp` | 113★ / 34 форка / обновлён 24.09.2026 / MIT |
| **Igualguana/AUTOCAD-ELECTRICAL-MCP** | MCP прямо под AutoCAD Electrical: 46 инструментов — electrical (7), wires (5), components (6), reports (5), project (6); COM, нужен живой AutoCAD | 16★ / 1 форк / 15.04.2026 / AGPL-3.0 |
| **harrissohail6/AutoCAD-Automation-Scripts** | ezdxf-скрипты ровно под эту задачу: `block_inserter` (вставка символов по CSV координат), `bom_generator` (спецификация из блоков в Excel), `layer_manager`, `cable_schedule`, `title_block_updater`, `symbol_library`. **Брать как образец вместо написания с нуля** | 3★ / 1 форк / 05.12.2025 / MIT |
| **dell4valt/gost_template** | рамки и основные надписи по ГОСТ Р 21.1101-2013 (формы 3, 5, 6, титульные листы), PDF/PNG/SVG/Visio, шрифт ISOCPEUR | 25★ / 7 форков / 2020 / без лицензии |
| **dwg.ru/dnl/15570** | динамический блок рамки со штампами уже по **ГОСТ Р 21.101-2020** (актуальнее, чем 21.1101-2013) | dwg.ru |
| **severin.su** | шаблон ГОСТ Р 21.1101-2013 под AutoCAD: формы 3/4/5/6, масштаб А4–А0×3, атрибуты из подшивки | severin.su |
| **AutoCAD Electrical (toolset)** | автонумерация проводов, генерация обозначений компонентов, автоматические отчёты и спецификации. По блогу Hagerman (27.04.2026) отчёты/BOM **на 97% быстрее**, чем в чистом AutoCAD. Входит в подписку AutoCAD 2027 — **стоит проверять, установлен ли toolset в AutoCAD 2023 RU на офисном ПК** | Autodesk |
| **Zoo Text-to-CAD** | пример правильного подхода «текст → CAD»: на выходе редактируемые параметрические модели, а не картинки | для сравнения подходов |
## 5. Пайплайн: 5 слоёв
```
Слой 1 Библиотека символов по ГОСТ 21.210-2014 (разово)
один DXF с блоками + ATTDEF: ТИП, ВЫСОТА, ГРУППА, МОНТАЖ, ПРИМЕЧАНИЕ
↓
Слой 2 Модель данных объекта (JSON): rooms[], lights[], sockets[], switches[]
— НЕ «координаты линий», а описание объекта с привязками и группами
↓
Слой 3 Скрипт-сборщик (детерминированный, без участия LLM на этом шаге)
ГОСТ-слои → block_insert(+attributes) → dimension_* → таблица-ведомость
(строки считает КОД) → layout_create + viewport_create + свой ГОСТ-штамп
→ drawing_export_dxf / drawing_export_pdf
↓
Слой 4 Preflight-проверки (drawing_preflight + свои правила, см. §3.5)
↓
Слой 5 Живой AutoCAD на Windows-ПК: динамические блоки, .dwt, подшивка .dst
(ezdxf это не умеет) — через COM + system_run_lisp
```
Пример JSON-модели:
```json
{
"object": "квартира 100 м2",
"rooms": [{"id": "R1", "name": "Кухня-гостиная", "poly": [[0,0],[6.2,0],[6.2,7.4],[0,7.4]]}],
"lights": [{"block": "LIGHT_SPOT", "room": "R1", "x": 1.2, "y": 1.4, "h": 0, "group": "3.1"},
{"block": "LIGHT_PENDANT","room": "R1", "x": 3.1, "y": 5.6, "h": 0, "group": "3.3"}],
"sockets": [{"block": "SOCK_DOUBLE", "x": 0.15, "y": 1.10, "h": 1100, "use": "фартук"}],
"switches":[{"block": "SWITCH_3G", "x": 6.05, "y": 1.05, "h": 900,
"groups": ["3.1","3.2","3.3"]}]
}
```
**Группа включения обязана быть АТРИБУТОМ, а не текстом.** Иначе не построить ни схему групп, ни автопроверку по зонам.
## 6. План внедрения (3 этапа — предлагать Павлу именно так)
| Этап | Что делаем | Результат |
|---|---|---|
| 1. Библиотека + один лист | библиотека символов по ГОСТ 21.210-2014 с атрибутами; сборщик строит **один план расстановки света** из JSON блоками вместо линий | DXF/DWG с блоками, высотами, подложкой мебели |
| 2. Ведомость и комплект | авто-ведомость из атрибутов + листы «маркировка», «выключатели и группы», «розетки»; рамка и штамп форма 3 | тот же комплект из 4 листов, но редактируемый |
| 3. Preflight и приёмка | правила проверок + приёмка на живом объекте | комплект без вычитки вручную |
## 7. Риски и ограничения (проговаривать честно)
- Библиотеку символов **нельзя сгенерировать «на глаз»** — она должна быть по ГОСТ 21.210-2014, иначе чертёж не примут. Это ручная работа один раз.
- **Локальная модель (qwen3.8) не пишет длинный код** (проверено 18.08.2026: `finish_reason='length'`, зацикливание). Расстановку планирует модель, а строит **готовый скрипт**.
- `system_run_lisp` работает только на COM-бэкенде, т.е. при живом AutoCAD на Windows (`192.168.50.91`, AutoCAD 2023 RU) — из Docker недоступно.
- ezdxf не создаёт динамические блоки с параметрами и не работает с подшивкой `.dst`.
- Штамп: ISO 7200 ≠ ГОСТ Р 21.1101 — встроенный инструмент MCP здесь не подойдёт.