Refactor ACDS/ACIS schema handling and storage - #1174
Merged
Merged
Conversation
Introduce CadFileDataStorage with new Schema and SchemaProperty types for structured ACDS data. Update DxfAcdsDataSectionReader and document builders to use the new model. Mark legacy schema/property classes as obsolete. Refactor DwgPrototype1bReader for clarity and type safety. Improves maintainability and prepares for enhanced ACDS/ACIS support.
Refactored ACadSharp data storage schema classes for better modularity: - Moved Schema, SchemaProperty, and SchemaPropertyFlags to separate files and namespaces. - Removed AcdsPropertyDescriptor. - Added AcdsRecord class for embedded records. - Updated DxfAcdsDataSectionReader to parse embedded records. - Schema now holds a list of embedded AcdsRecord objects.
Contributor
|
Hi @DomCR, I checked out this branch and ran the tests around the ACDS area on net9.0: 10 pass, and That path came in with #1139, so I know it well and I am glad to port it onto the new schema types if that helps. |
Use fully qualified Prototype1b.DataStorage for the single storage property definition and remove the unimplemented IsValid() placeholder.
Renamed the ACDS storage model types to `Acds*` to avoid conflicts with `Prototype1b.DataStorage`, updated `CadDocument.DataStorage` and schema references, added `AcdsRecord`/`AcdsRecordColumn` parsing support, and consolidated the old schema/type definitions.
Introduce AcdsRecord parsing, expand AcdsRecordColumn to capture data type, name, and raw code/value pairs, and update DxfAcdsDataSectionReader to read record columns. Add a starting write log line in LocalSampleTests for DXF/DWG output visibility.
CadFileDataStorage now exposes separate Records and Schemes lists, and the DXF ACDS section reader adds parsed ACDSSCHEMA and ACDSRECORD entries directly to builder.DataStorage.
Store ACDS record columns by name, add record/debug helpers, attach ASM/DS binary data during document build, track DS payloads on templates, and update DXF/DWG readers and tests accordingly.
Mark `CadDocument.DataStorage` obsolete, simplify `CadFileDataStorage` to constants only, remove dead commented schema code from `CadDocumentBuilder`, and drop obsolete XML docs from `DwgReader.readClasses()`.
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.
Description
Introduce CadFileDataStorage with new Schema and SchemaProperty types for structured ACDS data.
Update DxfAcdsDataSectionReader and document builders to use the new model.