| 1 | # Fundamentals: CAD/BIM платформы в линейке плагинов (v1) |
| 2 | |
| 3 | **Мир:** `engineering.cad` |
| 4 | **Статус:** active · справочно, без привязки к одному заказчику |
| 5 | |
| 6 | --- |
| 7 | |
| 8 | ## Scope |
| 9 | |
| 10 | Краткие **роли платформ**, с которыми типично работают утилиты и addins в multi-CAD mono-repo: не полные учебники САПР, а **контекст для выбора API и конфигурации сборки**. |
| 11 | |
| 12 | --- |
| 13 | |
| 14 | ## Core concepts |
| 15 | |
| 16 | ### 1) AutoCAD (Autodesk) |
| 17 | |
| 18 | - Доминирующая 2D/3D CAD-платформа в AEC. |
| 19 | - Расширения: **ObjectARX** (C++/native, близко к ядру), **.NET API** (managed, типичный путь addins). |
| 20 | - Версии AutoCAD ↔ версии ObjectARX SDK (год в имени SDK: 2018, 2021, …). |
| 21 | |
| 22 | ### 2) nanoCAD (Nanosoft) |
| 23 | |
| 24 | - CAD с .NET API, совместимый по духу с AutoCAD-экосистемой. |
| 25 | - Типичные managed-сборки: `hostmgd.dll`, `hostdbmgd.dll` — **API хоста**. |
| 26 | - Несколько релизов NC на одной машине → отдельные конфигурации сборки (`NC23.1`, `NC26.0`, …). |
| 27 | |
| 28 | ### 3) AVEVA (PDMS / E3D / Administration / Diagrams / …) |
| 29 | |
| 30 | - Инженерный 3D и администрирование в промышленном EPC. |
| 31 | - Продуктовые линии в коде часто кодируются **короткими тегами**: `E3D210`, `E3D310`, `ADM15`, `TAGS151`, `DIAG141`, … |
| 32 | - API: **.NET** (`Aveva.Core.*`, `Aveva.ApplicationFramework.*`), плюс **PML** (скриптовый/макро слой AVEVA) в смежных репо. |
| 33 | - Сборка часто **x86** и привязана к установленному продукту или снимку DLL в `ReferencesAveva`. |
| 34 | |
| 35 | ### 4) Tekla Structures (Trimble) |
| 36 | |
| 37 | - BIM для металлоконструкций и ЖБ. |
| 38 | - Типичный путь расширений: **Tekla Open API** (.NET, NuGet `TeklaOpenAPI`, привязка к году Tekla / `TS2020`). |
| 39 | - Отдельные репозитории: общая библиотека, Model, Drawings, CustomProperties. |
| 40 | |
| 41 | ### 5) Navisworks Manage (Autodesk) |
| 42 | |
| 43 | - Сводка/координация моделей, clash, обзор. |
| 44 | - .NET API для плагинов; references часто рядом с **Autodesk** tree в общем `References`. |
| 45 | |
| 46 | ### 6) Общие решения вне «одного САПР» |
| 47 | |
| 48 | - **OpenXml**, общие shared-библиотеки (document/office), office/document libs — не CAD API, но живут в том же workspace. |
| 49 | |
| 50 | --- |
| 51 | |
| 52 | ## Anti-patterns |
| 53 | |
| 54 | - Считать все САПР «одним .NET проектом» — у каждого свой **набор конфигураций** и DLL. |
| 55 | - Путать **версию продукта** (E3D 3.1) и **TargetFramework** (net48) — обе должны сходиться в csproj. |
| 56 | - Тянуть API Navisworks в задачу только по Aveva без явной связи. |
| 57 | |
| 58 | --- |
| 59 | |
| 60 | ## Relation to tools |
| 61 | |
| 62 | - Официальная документация: сайты Autodesk, Nanosoft, AVEVA, Tekla. |
| 63 | - Локальные **vendor DLL** — не замена help; см. [kb-cad-build-references-fundamentals-v1.md](kb-cad-build-references-fundamentals-v1.md). |
| 64 | |
| 65 | **Версия:** v1.0 · 2026-06-04 |
| 66 | |