Skip to content

Comments

issue-976 context data#978

Merged
DomCR merged 14 commits intomasterfrom
issue-976_implement-contextdata
Feb 21, 2026
Merged

issue-976 context data#978
DomCR merged 14 commits intomasterfrom
issue-976_implement-contextdata

Conversation

@DomCR
Copy link
Owner

@DomCR DomCR commented Feb 14, 2026

Description

Implementation for:

  • AcDbField
  • AcDbFieldList
  • AcDbMTextAttributeObjectContextData (only dxf)
  • AcDbBlkRefObjectContextData

Implementations are only for the readers the writers will ignore this objects.

Introduced Field and FieldList classes with mapped DXF codes and supporting enums. Updated DxfClassCollection and DxfObjectsSectionReader for FIELD/FIELDLIST registration and parsing. Added CadFieldTemplate for FIELD object handling. Introduced CadValue (replacing obsolete TableEntity.CellValue). These changes improve DXF compatibility and object coverage.
@DomCR DomCR linked an issue Feb 14, 2026 that may be closed by this pull request
@DomCR DomCR added enhancement New feature or request feature New feature added labels Feb 14, 2026
DomCR added 12 commits February 14, 2026 14:30
Introduce CadValueType and CadValueUnitType enums to replace legacy value/unit types, improving clarity and extensibility. Update CadValue and related readers to use these enums. Refactor proxy object handling in DXF reader to use a new CadProxyObjectTemplate, which manages handle entries. Enhance Field class with explicit DxfCodeValue attributes for format strings. Add support for additional DXF codes in proxy object reading logic.
Introduce BlockReferenceObjectContextData for block refs, including insertion point, rotation, and scale factors with validation. Expand DxfFileToken constants and update DxfObjectsSectionReader to handle new context data. Refactor AnnotScaleObjectContextData and ObjectContextData for clarity and improved documentation. Enhances DXF annotation scaling and context parsing.
Refactored object context data reading for annotation scales and multi-leader objects in both DWG and DXF importers. In DWG, added explicit reading of the scale handle. In DXF, switched to DxfClassMap for MultiLeaderObjectContextData and improved property assignment logic. Commented out conflicting DxfCodeValue attribute for annotation scale due to code 340 overlap, with a TODO for future resolution. These changes enhance mapping accuracy and highlight a known DXF code conflict.
Added parsing for ACDB_MTEXTATTRIBUTEOBJECTCONTEXTDATA_CLASS objects in the DXF reader. Introduced a new constant and class for MTextAttributeObjectContextData, mapping relevant DXF codes to properties. This enhances support for annotative MText attributes in DXF files.
Refactored DwgObjectReader to add methods for reading annotation scale, block reference, and MText attribute object context data. Updated switch statement to handle new DxfFileToken cases. Simplified readObjectContextData to only read version and default flag, removing unused fields. Cleaned up formatting and removed obsolete methods.
Refactored Arc constructor to correctly assign StartAngle and EndAngle based on input points, and removed the unused IsCounterClockWise property. Simplified Insert transformation logic for Arc entities by eliminating direction checks. Added a unit test for Arc initialization. Updated project version to 3.4.8 and performed minor cleanup in LocalSampleTests.cs.
Recognize Field, FieldList, BlockReferenceObjectContextData, and MTextAttributeObjectContextData in both DWG and DXF writers. Mark these as supported in DWG, and notify as not implemented in DXF. Comment out annotation scale reading for MTextAttributeObjectContextData in DwgObjectReader. Remove redundant return in test code.
Reorganized and cleaned up the DxfFileToken class by removing region and XML comments, and regrouping related constants for better readability. Restored several table, object, and reactor constants to improve logical structure. No functional changes were made.
Added AcDbMTextAttributeObjectContextData and AcDbBlkRefObjectContextData to DxfClassCollection with proper registration. Introduced corresponding subclass marker constants in DxfSubclassMarker.cs.
@DomCR DomCR added the minor Updates the minor version on merge. label Feb 21, 2026
@DomCR DomCR merged commit e5434eb into master Feb 21, 2026
@DomCR DomCR deleted the issue-976_implement-contextdata branch February 21, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request feature New feature added minor Updates the minor version on merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues parsing geometry from dynamic blocks (Offset insertion points)

1 participant