18 lines
1.2 KiB
Markdown
18 lines
1.2 KiB
Markdown
# Architecture
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
L[OrthoLoader.dll] --> S[Settings.xml]
|
|
L --> N[_netload each DLL]
|
|
N --> R[OrthoLoader.Ribbon]
|
|
R --> C[AutoCAD command]
|
|
C --> P[PlantApplication.CurrentProject]
|
|
P --> D[DataLinksManager/PnPDatabase]
|
|
D --> A[Ortho/model DB objects]
|
|
A --> T[Blocks, attributes, MLeader, dimensions, layers]
|
|
```
|
|
|
|
`P_Rec_Annot` — legacy монорешение с отдельными DLL-проектами, общими `Files`/`FilesRelease` и runtime-зависимостями между DLL. Основные функциональные модули: `AnnotateLineNumbers`, `AutoAnnotateView`, `AutoLinenumberConnections`, `AutoElevation`, `InsertElevation`, `OrthoAutoAnnotate`, `UpdateOrthoDrawings`, `UpdateOrthoViewBlocks`, `CheckOrthoView`, `P3DNewMa`, `PHPAnnotations`, `OrthoLoader`.
|
|
|
|
Целевая архитектура: `P_Rec_Annot.Core` (DTO, правила текста/позиционирования, duplicate detection), `P_Rec_Annot.Plant3D2026` (команды, DataLinks, transactions, selection), `P_Rec_Annot.UI`, `P_Rec_Annot.Telemetry`, тесты. Telemetry должна быть на уровне явного command scope, не внутри циклов объектов.
|