DXF и AutoCAD
Геометрию из чертежей OpenCS принимает двумя способами:
- готовыми сечениями — команда Импорт → Сечения из DXF / AutoCAD / nanoCAD… распознаёт на листе множество поперечных сечений сразу (бетон, сталь, отверстия, арматура, хомуты и шпильки, имена) из DXF-файла или из чертежа, открытого в AutoCAD, nanoCAD и совместимых САПР. Это основной путь, он описан в разделе Импорт сечений из чертежа;
- отдельными объектами — окружностями, контурами и областями, из которых сечение затем собирается вручную. Этот путь описан ниже.
DXF без AutoCAD
Через меню Импорт → DXF… и контекстные меню дерева проекта можно загрузить:
- окружности — Импорт окружностей из DXF… (все окружности файла, обозначения — по слоям);
- замкнутые контуры — Импорт контуров из DXF…;
- материальную область — Импорт областей из DXF…: на странице импорта щелчками по объектам назначаются внешний контур, отверстия и группы стержней одной области.
Окружности также можно импортировать и экспортировать в CSV/DXF для обмена с внешними инструментами.
AutoCAD COM
Команды Импорт → AutoCAD… → Области и Группы арматуры (ImportAcadRegionsCommand, ImportAcadRebarGroupsCommand) читают пространство модели открытого в AutoCAD чертежа: замкнутые полилинии становятся областями (вложенные — отверстиями), окружности — группами арматуры по слоям. Фильтр слоя, масштаб и дискретизация дуг задаются в настройках импорта. Сечения из этих объектов собираются вручную; чтобы получить готовые сечения, в том числе из nanoCAD, используйте импорт сечений из чертежа.
flowchart TD
Source{Источник геометрии}
Source -->|DXF-файл| Parser[netDxf]
Source -->|Открытый AutoCAD| COM[AutoCAD COM API]
Parser --> Normalize[Нормализация контуров]
COM --> Normalize
Normalize --> Hull[Hull / Holes]
Hull --> Area[MaterialArea или Contour]
Проверки после импорта
- внешний контур замкнут;
- отверстия распознаны как
Hole; - нет самопересечений;
- координаты и единицы правильные;
- окружности не превратились в нулевой диаметр;
- арматура получила материал и координаты;
- поворот/зеркальность не поменяли знак момента.