import: IMPORT window and DGNIMPORT converting DGN models to drawing objects

The DGN V7/V8 readers expose each element (level, symbology, geometry,
complex chains, text nodes, shared cells). DGNIMPORT / -DGNIMPORT convert a
model with the Standard mapping into a new drawing; IMPORT opens the
Import File window and routes PDF and DGN files to their importers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-10-15 16:09:12 +03:00
1 parent 39c3e9af58
commit f29f386148
39 files changed
+3232 -13

No files matched your search

+9
View File
@@ -598,6 +598,8 @@ pub(super) struct OpenCADStudio {
underlay_layers: Option<crate::ui::window::pdf_dialogs::UnderlayLayersState>,
pdf_import_settings: Option<crate::modules::insert::pdf_import::PdfImportSettings>,
pdf_import_file: Option<crate::ui::window::pdf_dialogs::PdfImportFileState>,
/// IMPORT and DGNIMPORT windows.
import_dialogs: crate::ui::window::import_dialogs::ImportDialogs,
/// The dialog Options was opened from; it comes back when Options closes.
options_parent: Option<ModalKind>,
/// Working copy of the Attach External Reference dialog; None while closed.
@@ -2238,6 +2240,10 @@ pub enum ModalKind {
XrefHelp,
/// Sheet set wizard, properties and sheet / subset forms.
SheetSet,
/// IMPORT's Import File window.
ImportFile,
/// DGNIMPORT's DGN Import window.
DgnImport,
/// Web: a crash-recovery autosave snapshot newer than the drawing's last
/// save awaits a restore/discard decision. Distinct from the corrupt-file
/// `RecoveryPrompt` — nothing is wrong with the drawing itself.
@@ -4502,6 +4508,8 @@ pub enum Message {
std::path::PathBuf,
Result<crate::scene::model::mesh_model::MeshModel, String>,
),
/// An edit in the Import File or DGN Import window.
ImportDialog(crate::ui::window::import_dialogs::ImportDialogMsg),
}
#[derive(Debug, Clone)]
@@ -4617,6 +4625,7 @@ impl OpenCADStudio {
underlay_layers: None,
pdf_import_settings: None,
pdf_import_file: None,
import_dialogs: Default::default(),
options_parent: None,
xref_attach: None,
wblock: None,