Skip to content

Conversation

@cpetry
Copy link
Contributor

@cpetry cpetry commented Feb 6, 2026

Description

Two years later I tried again.

Created basic structure.
Found handles to wallStyle and cleanupGroup.
BinRecord handle not found.
Tried analyzing BinRecord but no success so far. Unsure if this is related at all.

Tasks done in this PR

  • Merge to current main
  • Somewhat worked on this

Related Issues / Pull Requests

#221

Notes for reviewer

  • Nothing really working yet but easier setup to continue

DomCR and others added 4 commits December 14, 2023 11:49
# Conflicts:
#	src/ACadSharp/DxfSubclassMarker.cs
#	src/ACadSharp/IO/DWG/DwgStreamReaders/DwgObjectReader.cs
@DomCR DomCR changed the base branch from issue-221-aec-architecture-objects to master February 6, 2026 09:41
@DomCR DomCR added the feature New feature added label Feb 6, 2026
@DomCR DomCR self-requested a review February 6, 2026 09:41
@DomCR DomCR linked an issue Feb 6, 2026 that may be closed by this pull request
/// </summary>
public XYZ EndPoint { get; set; } = XYZ.Zero;
public XYZ Normal { get; internal set; }
public double Height { get; internal set; }
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normal and Height should be able to be modified by the user, the internal can be removed.

We can leave it for the other properties like style by now and come back later.


this.readCommonNonEntityData(template);

try
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This try is not needed, the Read() method already has the failsafe in place.

/// Object name: AEC_CLEANUP_GROUP
/// </remarks>
[DxfName("AEC_CLEANUP_GROUP")]
[DxfSubClass("AecDbCleanupGroup")]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of using literals, the 2 attributes should use DxfFileToken and DxfSubclassMarker.

Same for AecWallStyle.

@DomCR
Copy link
Owner

DomCR commented Feb 9, 2026

Great job with this one 👌!

This may be the start to use the AEC Objects.

@DomCR
Copy link
Owner

DomCR commented Feb 9, 2026

General review notes:

  • Before merging the PR, the AEC objects will need to be ignored by the writers, dwg and dxf.
  • I've noticed that you have stored the remaining bytes for the different objects, I don't think it is necessary, those bytes will be there without any use.

@cpetry
Copy link
Contributor Author

cpetry commented Feb 9, 2026

I tried analyzing these remaining bytes for their content. Currently it is not usable without having wall positions, width or any other meaningful property.

@DomCR
Copy link
Owner

DomCR commented Feb 9, 2026

For the writers, remember to add the new objects to the following methods:

DwgObjectWriter.skipEntry
DwgObjectWriter.isEntitySupported
DxfSectionWriterBase.isEntitySupported
DxfObjectsSectionWriter.isObjectSupported

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature added

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Aec architecture objects (wall, doors, windows)

2 participants