Commit Graph
10 Commits
Author SHA1 Message Date
Z User 193f2ae9ab [IMP] OneBSpace rebrand of OpenCADStudio -> OneCAD Draft (wordmark, about, crash banner, 23 locales; strip SW/manifest; air-gap: update check, donations, discussions, external help links) 2026-10-18 21:25:27 +00:00
Hakan Seven fba1dfcd88 Merge review/1845: PR #1845 DGNIMPORT with fixes
# Conflicts:
#	src/app/commands/dgn_import.rs
2026-10-16 23:51:54 +03:00
Hakan SevenandClaude Opus 5.5 56861aa0bc Escape DGN text in MTEXT and read 3D text by its byte count
Backslashes and braces in a DGN text stay characters in the MTEXT it
becomes instead of turning into formatting codes.

A 3D V8 text is cut at its stored byte count before it is decoded, so a
multi-byte character no longer shifts where the text ends.

Doc comments that had slipped onto the wrong functions are back on
their own, comments describe the behaviour instead of pointing at
another program, and a few lines added in the previous commits are laid
out the way the rest of the code is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 23:25:27 +03:00
Hakan SevenandClaude Opus 5.5 ed4dc91670 Keep DGN reference attachments and cell instances well-formed
Plain -DGNIMPORT no longer writes drawings next to referenced files on
its own: references are ignored unless the window (or the kept import
settings) asks to translate them or attach them as underlays.

A referenced file named relative to the host is looked up in the host's
folder rather than the working directory. Its translated drawing takes
a file name made from the model name with path separators and other
reserved characters replaced, so it is always written in the
reference's own folder. A reference placed in sub units is scaled by the
same factor as its origin.

Layer, block, text style and reference names read from the file are
made valid symbol names (reserved characters become underscores).

An instance of a cell that has no block (the point display cell, an
empty or missing definition) is dropped instead of inserting a block
that does not exist.

"Prompt to overwrite" still keeps an existing translated drawing; the
code now says so instead of implying a prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 23:11:18 +03:00
ramox81andClaude Opus 5.5 78e429732e IMPORT: 3D Studio files
A .3ds file opens the 3D Studio Import window: the file's objects with
their kind and material count, filtered by kind or name, checked one by
one or all at once, where to put them on layers and what a mesh with
several materials becomes. Checked meshes come in as polyface meshes on
the chosen layers with materials made from the file's colours, cameras
as named views; a mesh with several materials is split, given its first
material, given none, or asked about on the command line. Automation
drives the window with tds_import_dialog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 20:12:16 +03:00
ramox81andClaude Opus 5.5 659bb06cd6 IMPORT: read SAT, STEP, IGES and WMF files; ACISIN and WMFIN
ACIS text files come in one object per body (3DSOLID, REGION or SURFACE).
STEP B-rep models become a block per product with component inserts at
their placements, scaled to the drawing's units; IGES manifold solids come
in as 3DSOLIDs scaled to the drawing's units with their colours. Splines
that are exactly analytic shapes are kept as those shapes. Windows
metafiles become a WMF<n> block of polylines and text fitted to half the
view, placed at its top-left corner or by WMFIN's insertion prompts. The
Import File window lists the four formats as supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 15:06:16 +03:00
ramox81andClaude Opus 5.5 dca6c9d116 DGNIMPORT: cells inside shared cell definitions are part of the definition; empty cells stay out
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 14:58:28 +03:00
ramox81andClaude Opus 5.5 fc04472472 DGNIMPORT: a cell that draws nothing still becomes a block
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 14:47:56 +03:00
ramox81andClaude Opus 5.5 6fdff6c515 DGNIMPORT: reference naming, cells, text placement, curves, references
Name clashes, DGNIMPORTMODE and prefixing as the reference names them;
V7 cell copies, unshared cells and mirrored placements as blocks;
justified text and text nodes placed at their justification points with
the reference's MTEXT contents; B-spline curves as splines and 3D arcs and
ellipses in their own planes; every V8 level as a layer; design models
only; reference attachments translated, ignored or attached as underlays.
The colour index palette comes from the codec fix it depends on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 14:33:07 +03:00
ramox81andClaude Opus 5.5 f29f386148 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>
2026-10-15 16:09:12 +03:00