Repository navigation
dgr-fixes: current upstream master + reviewed PR branches - #1
Merged
Merged
Conversation
A column payload longer than one 310 line kept only the last chunk, so ModelerGeometry.AcisData was truncated for real DXF 2013+ files.
Add `DwgPrototype1bReaderV2` and `FileSegmentHeader`, switch `DwgReader` to the new reader, expand `CadFileDataStorage` for file-segment storage, and refactor `DwgPrototype1bReader` to use specialized helpers, safer segment loading, and repeated-segment collections.
Parse and store the file segment index, add schema index parsing after it, and move file-header reading into a dedicated method. Add richer `ToString()` output and helpers for file segments, segment entries, and schema pointer metadata, including null-terminated schema names.
Split ACDS storage into dedicated classes and update DWG/DXF readers to parse schema records, pointers, flags, type metadata, and raw value blobs.
Add `DataIndexSegment` support in `CadFileDataStorage`, parse data index segments in `DwgPrototype1bReaderV2`, and remove the direct `DxfReader.Read(...)` call from `LocalSampleTests.ReadUserDxf`.
Wire Prototype 1b data index/entry parsing into `DwgReader`, populate `CadFileDataStorage.Records`, expand `ACadSharp.DataStorage` models and helpers, and clean up related tests/utilities.
Join every binary chunk of an ACDSDATA record column
Store ACDS handle/data separately, update DXF binary chunk handling, switch DWG reader to the new Prototype 1b model, add an obsolete compatibility reader, and mark DataStorage obsolete.
Replace SegmentPointers with Blob01 collection, read blob payloads directly in DwgPrototype1bReader, and combine blob-backed data in DataEntry.
The header flags store PSTYLEMODE in bit 0x2000, but the reader assigned the masked value directly, so a color-dependent drawing reported PlotStyleMode = 8192 instead of 1. Map the bit to 1/0 as the DXF reader and the DWG writer do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A spline boundary edge is one open piece of the loop, so the converted Spline must not be flagged as closed. Non-rational edges may store 0 as the weight of every control point; use 1 in that case so the resulting Spline evaluates correctly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The true color value is 0xmmRRGGBB stored little-endian, so the bytes come in blue, green, red order; red and blue were swapped. A truncated or unexpected record in the proxy graphics threw and lost every geometry already read. Stop at the bad record and keep what was read so far. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The MText background transparency (BL 441) is stored like an entity transparency, with the type in the high byte and the alpha in the low byte. AutoCAD can leave stale bits in it when the type is ByLayer, and passing the raw value to the Transparency constructor threw, so the whole MText was lost. Accept plain 0-90 values as before, decode values with a type byte as an alpha value and fall back to ByLayer otherwise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The insert data of a table (position, scale and the anonymous block with its graphics) is read before the cell data. If parsing the cell data fails, the whole entity was dropped. Read the cell data in a separate method, report a warning on failure and keep the table with its graphics. A partly read cell may have no cell style template, so guard the build against it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Issue 822/acis dwg
Push version changes to PR source repositories
Read every page of a multi-page blob in the Prototype1b section
fix: keep the length of the VPORT view direction
…rows fix(dxf): read and write the flip arrow flags of a dimension
The fix itself came with DomCR#1298. This adds the DimensionStyleArrowBlock case to WriterSingleObjectTests: a dimension style with a custom ArrowBlock is written and read back (DWG and DXF, every version), and the arrow block must come back by name while the leader arrow stays null. The case fails when ArrowBlock is not resolved from DIMBLK. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codes 63, 421, 45 and 441 are now written only when UseBackgroundFillColor or TextFrame is set, as the DWG writer does. The DXF-only test cases are replaced by a roundtrip case in WriterSingleObjectTests, with one MTEXT per flag combination, checked for DXF and DWG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Write MTEXT background fill and text frame codes to DXF
…w-block DimensionStyle: round-trip check for the main arrow block (DIMBLK)
…tegrate/pr-branches-2026-10-16
…egrate/pr-branches-2026-10-16
…es-only' into integrate/pr-branches-2026-10-16
…es' into integrate/pr-branches-2026-10-16 # Conflicts: # src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs
…/64) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The GetArbitraryAxis threshold fix lives on DGR-Engineering/CSUtilities dgr-fixes, so a fresh clone with --recurse-submodules builds the same code DGR ships. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, DomCR#1272, DomCR#1284, DomCR#1285) on current upstream master
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
dgr-fixesup to date and moves it onto the reviewed versions of our upstream PRs, so DGR builds from one place.master(dgr-fixes was 92 commits behind).fix/dwg-reader-robustness: PSTYLEMODE, hatch spline edges, proxy colours, MText, table robustnessfeature/dwg-reader-plotstyle-handles: dimension object context data (class per dimension type, DWG and DXF)feature/dwg-reader-plotstyle-handles-only: plot style, plot view and xref block handlesfeature/dwg-reader-rtext: RTEXT into UnknownEntity-s ours. History is kept with no force-push, and the tree is the new one.Tests
dotnet build DGR-Tools.slnxagainst this branch: 0 errorsDGR Publish.exe --selftest: selftest ok (identity matches the LISP engine on 26 real jobs)🤖 Generated with Claude Code