Skip to content

DWG CLASSES table and ACAD_PROXY_OBJECTs falsely suggest a BIM-aware (ACA/Civil 3D) drawing

TL;DR.

Judge DWG BIM-awareness by modelspace ACAD_PROXY_ENTITY count and Z/thickness, not by AEC class registrations or proxy objects.

When triaging a DWG for IFC conversion (is it AutoCAD Architecture/ADT or Civil 3D object-based, or plain 2D?), the CLASSES section and object table mislead. A Civil 3D 2022 file of a 6-storey building (AC1032) registered hundreds of AEC/AECC classes (AeccLand130 186, AecArchBase80 172, AecBase80 41, AEC_DISP_REP_WALL/WINDOW etc.) and held 4,811 ACAD_PROXY_OBJECTs after ODA File Converter 27.9 -> DXF and ezdxf 1.4.5 recover (0 errors). Yet modelspace had 0 ACAD_PROXY_ENTITY: the proxy objects were only style and display-representation definitions inherited from AEC/Civil templates. Walls were LINE/LWPOLYLINE on a layer named WALL, doors were attribute-less blocks, all Z ~ 0, 0 thickness, 0 3DSOLID/MESH/3DFACE. A '3D view' sheet was 51k SPLINEs on layer Make2D$Visible$Curves (Rhino Make2D flattening, plus 'Rhino' XDATA on ~600 entities), which looks like 3D content at a glance but is 2D projection.

Reliable test: count ACAD_PROXY_ENTITY (or AEC_WALL/AEC_DOOR etc. entities) in modelspace and blocks; check Z extents ($EXTMIN/$EXTMAX z), nonzero thickness/elevation, 3DSOLID/MESH/BODY counts, and block ATTRIBs. Class registrations and proxy objects only tell you which vertical product (or template) last touched the file. Also note: ODA stamps $LASTSAVEDBY/$TDUPDATE with the converting machine, so read provenance from the raw DWG or libredwg output.

No signals yet