This is LibreDWG.info, produced by makeinfo version 6.7 from
LibreDWG.texi.

This manual is for GNU LibreDWG (version 0.12.4, 30 December 2020).

   Copyright (C) 2010-2020 Free Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.3 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with no Front-Cover Texts,
     and with no Back-Cover Texts.  A copy of the license is included in
     the section entitled "GNU Free Documentation License".
INFO-DIR-SECTION Libraries
START-INFO-DIR-ENTRY
* LibreDWG: (LibreDWG).         Free implementation of the DWG file format.
END-INFO-DIR-ENTRY


File: LibreDWG.info,  Node: Top,  Next: Overview,  Up: (dir)

GNU LibreDWG
************

This manual is for GNU LibreDWG (version 0.12.4, 30 December 2020).

   Copyright (C) 2010-2020 Free Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.3 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with no Front-Cover Texts,
     and with no Back-Cover Texts.  A copy of the license is included in
     the section entitled "GNU Free Documentation License".

* Menu:

* Overview::            General purpose and information.
* Usage::               How to use LibreDWG.
* Types::               Common types, enums, structs.
* Objects::             All supported objects and entities.
* Sections::            All supported sections.
* Structures::          Special structures.
* Functions::           Call them.
* Errors::              Error levels.
* Programs::            Included binaries.
* Bindings::            Bindings to other languages.
* Reference API::

* Reporting bugs::      Sending bug reports and feature suggestions.
* GNU Free Documentation License:: Copying and sharing this documentation.
* Index::


File: LibreDWG.info,  Node: Overview,  Next: Usage,  Prev: Top,  Up: Top

1 Overview
**********

LibreDWG is a free C library to read and write "DWG files".  The DWG
file format was created in the 1970s for the then-emerging CAD
applications.

   This library is part of the GNU project, released under the aegis of
GNU. It is made available under GPLv3+, i.e., under the terms of the GNU
General Public License version 3, or (at your option) any later version.

   It came out of code from the QCad Community Edition product from
Ribbonsoft.

1.1 API/ABI version
===================

LibreDWG 0.12.4 provides the API/ABI version 1.  We hope that this
doesn't need to change much in the future.

   See 'include/dwg.h' for 'LIBREDWG_VERSION_MAJOR',
'LIBREDWG_VERSION_MINOR' and 'LIBREDWG_SO_VERSION'.

1.2 Coverage
============

Because the DWG file format is not open, its specification had to be
reverse-engineered.  The specification is almost complete.  The LibreDWG
implementation of the specification is an ongoing process; as of version
0.12.4, coverage is approximately 99%.

   It can read the formats R13, R14, R2000, R2004, R2007, R2010, R2013
and R2018 for 99%.  R11 and earlier cannot be read yet, only partially.
Reading R11 and earlier is only enabled with the development git
checkout, not the released tarball.

   Here is a list of features that are still missing.

Reading pre-R13 DWG
     Reading DWG formats for pre-R13 and some R2010+ non-graphical
     objects is an ongoing effort, some minor parts are missing.  Most
     DWG's can be read, some undocumented classes are skipped.

Writing pre-R13 and R2004+ DWG
     Writing DWG formats for R2004 and later: R2007, R2010, R2013, R2018
     is an ongoing effort.  You need to patch the code to enable writing
     to the R2004+ format.  See the 'work/2004' branch.  Wriing to the
     specific R2007 format is not implemented.  We write as default in
     the R2000 format only.

Reading binary DXF
     DXF support is now mostly implemented.  ASCII DXF's are generated
     fully, with much more elements and fields and other free libraries,
     but AutoCAD fails to import some of them.  See the 'TODO' file for
     a detailed coverage report.

     Reading binary DXF is still under construction, done about 80%.

Enabled entities and objects, but unstable, undertested. Field names may change:

     For a detailed overview see the file 'src/classes.inc' or
     'src/classes.c'.

     ACSH_BREP_CLASS ACSH_CHAMFER_CLASS ACSH_CONE_CLASS
     ACSH_PYRAMID_CLASS ARC_DIMENSION ASSOCACTION
     ASSOCBLENDSURFACEACTIONBODY ASSOCEXTENDSURFACEACTIONBODY
     ASSOCEXTRUDEDSURFACEACTIONBODY ASSOCFILLETSURFACEACTIONBODY
     ASSOCGEOMDEPENDENCY ASSOCLOFTEDSURFACEACTIONBODY ASSOCNETWORK
     ASSOCDEPENDENCY ASSOCVALUEDEPENDENCY ASSOCNETWORKSURFACEACTIONBODY
     ASSOCOFFSETSURFACEACTIONBODY ASSOCPATCHSURFACEACTIONBODY
     ASSOCPLANESURFACEACTIONBODY ASSOCREVOLVEDSURFACEACTIONBODY
     ASSOCTRIMSURFACEACTIONBODY BACKGROUND BLOCKLINEARPARAMETER
     BLOCKROTATIONPARAMETER BLOCKXYPARAMETER BLOCKVISIBILITYGRIP
     BLOCKVISIBILITYPARAMETER EVALUATION_GRAPH HELIX
     LARGE_RADIAL_DIMENSION LIGHTLIST MATERIAL MENTALRAYRENDERSETTINGS
     OBJECT_PTR RAPIDRTRENDERSETTINGS RENDERSETTINGS SECTION_SETTINGS
     SPATIAL_INDEX SUN TABLESTYLE (works only pre-2010)

Unhandled (fields spec'ed, but broken/undertested):

     ACMECOMMANDHISTORY ACMESCOPE ACMESTATEMGR ACSH_EXTRUSION_CLASS
     ACSH_LOFT_CLASS ACSH_REVOLVE_CLASS ACSH_SWEEP_CLASS
     ALDIMOBJECTCONTEXTDATA ANNOTSCALEOBJECTCONTEXTDATA
     ASSOC2DCONSTRAINTGROUP ASSOCACTION ASSOCALIGNEDDIMACTIONBODY
     ASSOCEXTRUDEDSURFACEACTIONBODY ASSOCGEOMDEPENDENCY
     ASSOCLOFTEDSURFACEACTIONBODY ASSOCNETWORK
     ASSOCOSNAPPOINTREFACTIONPARAM ASSOCOSNAPPOINTREFACTIONPARAM
     ASSOCPERSSUBENTMANAGER ASSOCREVOLVEDSURFACEACTIONBODY
     ASSOCVERTEXACTIONPARAM ATEXT BLKREFOBJECTCONTEXTDATA
     CONTEXTDATAMANAGER CSACDOCUMENTOPTIONS CURVEPATH DATALINK DATATABLE
     DIMASSOC DYNAMICBLOCKPROXYNODE EXTRUDEDSURFACE FCFOBJECTCONTEXTDATA
     GEOMAPIMAGE GEOPOSITIONMARKER LAYOUTPRINTCONFIG
     LEADEROBJECTCONTEXTDATA LOFTEDSURFACE MLEADEROBJECTCONTEXTDATA
     MOTIONPATH MTEXTATTRIBUTEOBJECTCONTEXTDATA MTEXTOBJECTCONTEXTDATA
     NAVISWORKSMODEL NAVISWORKSMODELDEF NURBSURFACE PERSUBENTMGR
     PLANESURFACE POINTPATH RENDERENVIRONMENT RENDERENTRY RENDERGLOBAL
     REVOLVEDSURFACE RTEXT SUNSTUDY SWEPTSURFACE TABLE (works only
     pre-2010) TABLECONTENT TEXTOBJECTCONTEXTDATA TVDEVICEPROPERTIES

     ASSOCDIMDEPENDENCYBODY BLOCKPARAMDEPENDENCYBODY
     ALIGNMENTPARAMETERENTITY BASEPOINTPARAMETERENTITY
     FLIPPARAMETERENTITY LINEARPARAMETERENTITY POINTPARAMETERENTITY
     ROTATIONPARAMETERENTITY VISIBILITYPARAMETERENTITY
     VISIBILITYGRIPENTITY XYPARAMETERENTITY
     BLOCKALIGNEDCONSTRAINTPARAMETER BLOCKANGULARCONSTRAINTPARAMETER
     BLOCKARRAYACTION BLOCKDIAMETRICCONSTRAINTPARAMETER
     BLOCKHORIZONTALCONSTRAINTPARAMETER BLOCKLINEARCONSTRAINTPARAMETER
     BLOCKLOOKUPACTION BLOCKLOOKUPPARAMETER BLOCKPOINTPARAMETER
     BLOCKPOLARGRIP BLOCKPOLARPARAMETER BLOCKPOLARSTRETCHACTION
     BLOCKPROPERTIESTABLE BLOCKPROPERTIESTABLEGRIP
     BLOCKRADIALCONSTRAINTPARAMETER BLOCKREPRESENTATION
     BLOCKSTRETCHACTION BLOCKUSERPARAMETER
     BLOCKVERTICALCONSTRAINTPARAMETER BLOCKXYGRIP POINTCLOUD
     POINTCLOUDEX POINTCLOUDDEF POINTCLOUDDEFEX POINTCLOUDDEF_REACTOR
     POINTCLOUDDEF_REACTOR_EX POINTCLOUDCOLORMAP

     See 'src/classes.inc'.

     Missing:

     * PROXY subentities, PROXY_ENTITY

     Halfway:

     SUNSTUDY VBA_PROJECT ASSOCACTION ASSOCNETWORK
     ASSOCALIGNEDDIMACTIONBODY ASSOCOSNAPPOINTREFACTIONPARAM
     ASSOCPERSSUBENTMANAGER PERSUBENTMGR ASSOC2DCONSTRAINTGROUP
     EVALUATION_GRAPH ASSOCOSNAPPOINTREFACTIONPARAM ACSH_BOX_CLASS
     ACSH_EXTRUSION_CLASS ACSH_HISTORY_CLASS ACSH_SWEEP_CLASS
     NAVISWORKSMODEL (i.e.  COORDINATION MODEL) NAVISWORKSMODELDEF
     DATATABLE TABLESTYLE ASSOCGEOMDEPENDENCY LAYOUTPRINTCONFIG
     RENDERENVIRONMENT RENDERGLOBAL LIGHTLIST SECTION_SETTINGS

Unhandled (i.e. passed through, no DXF and fields):

     ACDSRECORD ACDSSCHEMA NPOCOLLECTION RAPIDRTRENDERENVIRONMENT
     XREFPANELOBJECT

no test coverage for entities:

     I.e.  we need an extended 'example_2018.dwg' with all types, with
     the following missing entities:

     ARCALIGNEDTEXT BODY CAMERA DIMENSION_ANG3PT DIMENSION_DIAMETER
     DIMENSION_RADIUS DGNUNDERLAY DWFUNDERLAY GEOPOSITIONMARKER IMAGE
     LEADER LONG_TRANSACTION MESH MINSERT OLE2FRAME OLEFRAME POLYLINE_2D
     POLYLINE_MESH PROXY_ENTITY PROXY_LWPOLYLINE SHAPE TOLERANCE
     VERTEX_2D VERTEX_MESH

     and objects:

     CSACDOCUMENTOPTIONS XREFPANELOBJECT IDBUFFER IMAGEDEF
     IMAGEDEF_REACTOR LAYER_INDEX LIGHTLIST NPOCOLLECTION OBJECT_PTR
     PLOTSETTINGS PROXY_OBJECT RASTERVARIABLES SPATIAL_INDEX UCS
     VBA_PROJECT

1.3 Related projects
====================

Some projects that use DWG (and specifically LibreDWG) are:

FreeCAD
     <https://freecadweb.org/>

GRASS GIS
     <http://grass.osgeo.org/>

   Plans are to add support for SolveSpace, OpenSCAD and PythonCAD.

   Related libraries:

libdwg
     The old version (documented in Esperanto) which was forked to
     LibreDWG in 2009.  But in the meantime it got a DXF reader.
libdxfrw
     Read the DWG format for all versions r13+ but with much less
     elements, only those needed for DXF. Written in C++, under the
     GPLv2 license.
libopencad
     Read the R2000 DWG format.  Written in C++, under the GPLv2
     license.
OpenDWG
     The OpenDWG's license does not allow the usage in free software
     projects.

   Compared to libdwg, libdxfrw and libopencad, LibreDWG can read and
write much more details.  Which is especially important for attached
links and data from third party applications: BIM, MAP, GIS, AEC, MECH,
...  and for 3D solids and dynamic parametric constraints.


File: LibreDWG.info,  Node: Usage,  Next: Types,  Prev: Overview,  Up: Top

2 Usage
*******

This chapter describes how to compile and link a program against
LibreDWG. To access LibreDWG interface elements (*note Types::, *note
Functions::), include its header file in the C code.

     #include <dwg.h>

   Optionally you can also use the
     #include <dwg_api.h>
   API.

Make sure you specify '-lredwg' when linking, such as in this
'Makefile.am' fragment:

     AM_LDFLAGS += -lredwg

Note that the shared object library is named 'libredwg' (with some
system-specific extension, e.g., '.so'), so you do *not* want to specify
'-llibredwg', as that would (try to) link against 'liblibredwg' and
fail.


File: LibreDWG.info,  Node: Types,  Next: Objects,  Prev: Usage,  Up: Top

3 Types
*******

LibreDWG types map closely to the type system of the DWG file format.
This chapter describes the enums and structs used to define the single
DWG structure, which is passed around the functions (*note Functions::).

 -- define: BITCODE_RC char
     1 raw unsigned char, uint8_t
 -- define: BITCODE_RS short
     1 raw unsigned short int, uint16_t
 -- define: BITCODE_RL long
     1 raw unsigned long int, uint32_t
 -- define: BITCODE_RD double
     1 raw IEEE-754 double
 -- define: BITCODE_B byte
     1 bit
 -- define: BITCODE_BB byte
     2 bits
 -- define: BITCODE_3B byte
     1-3 bits
 -- define: BITCODE_4BITS byte
     4 bits (for VIEW view_mode)
 -- define: BITCODE_BS short
     1 bit-encoded unsigned short
 -- define: BITCODE_BL long
     1 bit-encoded unsigned long (max 32bit)
 -- define: BITCODE_BLL uint64_t
     1 bit-encoded unsigned 64bit long
 -- define: BITCODE_BD double
     1 bit-encoded double
 -- define: BITCODE_DD double
     1 bit-encoded double with default
 -- define: BITCODE_MC long int
     1-4 modular chars
 -- define: BITCODE_UMC long unsigned int
     1-4 unsigned modular chars
 -- define: BITCODE_MS long unsigned int
     1 modular short, max 2 words
 -- define: BITCODE_BE double[3]
     1 bitencoded extrusion vector.

     Note that this specifies an OCS (Object Coordinate System) for each
     entity, with the default (0, 0, 1).  An extrusion of (0, 0, -1) is
     typically caused by exploding a block inserted with a negative x
     scale, i.e.  the sign of each X point needs to be flipped.  For
     more see the vendor DXF documentation on OCS and 'programs/geom.c'.

 -- define: BITCODE_BT double
     1 bitencoded thickness value
 -- define: BITCODE_TV char*
     length + ASCIIZ string The default text type until r2004.
 -- define: BITCODE_TU wchar*
     length + windows 2-byte wchar string (UCS-2).  The default text
     type since r2007.
 -- define: BITCODE_TF char*
     Fixed length buffer, which can include NUL characters.
 -- define: BITCODE_TFF char*
     Embedded fixed length string, which can include NUL characters.
 -- define: BITCODE_H void*
     handle-references
 -- define: BITCODE_CMC struct Dwg_Color
     Dwg_Color struct with index or rgb, alpha and optional DBCOLOR
     handle, name, book_name.
   [and some more]

   Two types that do not derive from the type system of the DWG file
format are the enums for return codes and error codes.

   On non-C99 systems ensure that stdint.h and inttypes.h are available
to use the proper C99 'int32_t',...  types, and not just the native
fallback types int/long, which are different across platforms.


File: LibreDWG.info,  Node: Objects,  Next: Sections,  Prev: Types,  Up: Top

4 Objects
*********

* Menu:

* HEADER::            All Header variables
* ENTITIES::          All Entities and its special and common fields
* OBJECTS::           All Objects and its special and common fields


File: LibreDWG.info,  Node: HEADER,  Next: ENTITIES,  Up: Objects

4.1 HEADER
==========

All header variables.

     'ACADMAINTVER'
          RC,	DXF 90
     'ANGBASE'
          BD,	DXF 50
     'ANGDIR'
          B,	DXF 70
     'APPID_CONTROL_OBJECT'
          H
     'ATTDIA'
          B,	DXF 70
     'ATTMODE'
          BS,	DXF 70
     'ATTREQ'
          B,	DXF 70
     'AUNITS'
          BS,	DXF 70
     'AUPREC'
          BS,	DXF 70
     'BLIPMODE'
          B,	DXF 70
     'BLOCK_CONTROL_OBJECT'
          H
     'BLOCK_RECORD_MSPACE'
          H
     'BLOCK_RECORD_PSPACE'
          H
     'CAMERADISPLAY'
          B,	DXF 290
     'CAMERAHEIGHT'
          BD,	DXF 40
     'CECOLOR'
          CMC,	DXF 62
     'CELTSCALE'
          BD,	DXF 40
     'CELTYPE'
          H,	DXF 6
     'CELWEIGHT'
          BSd,	DXF 370
     'CEPSNTYPE'
          BS,	DXF 380
     'CHAMFERA'
          BD,	DXF 40
     'CHAMFERB'
          BD,	DXF 40
     'CHAMFERC'
          BD,	DXF 40
     'CHAMFERD'
          BD,	DXF 40
     'CLAYER'
          H,	DXF 8
     'CMATERIAL'
          H,	DXF 347
     'CMLJUST'
          BS,	DXF 70
     'CMLSCALE'
          BD,	DXF 40
     'CMLSTYLE'
          H,	DXF 2
     'COORDS'
          BS,	DXF 70
     'CPSNID'
          H,	DXF 390
     'CSHADOW'
          RC,	DXF 280
     'DELOBJ'
          B,	DXF 70
     'DGNFRAME'
          RC,	DXF 280
     'DICTIONARY_ACAD_GROUP'
          H
     'DICTIONARY_ACAD_MLINESTYLE'
          H
     'DICTIONARY_COLOR'
          H
     'DICTIONARY_LAYOUT'
          H
     'DICTIONARY_LIGHTLIST'
          H
     'DICTIONARY_MATERIAL'
          H
     'DICTIONARY_NAMED_OBJECT'
          H
     'DICTIONARY_PLOTSETTINGS'
          H
     'DICTIONARY_PLOTSTYLENAME'
          H
     'DICTIONARY_VISUALSTYLE'
          H
     'DIMADEC'
          BS,	DXF 70
     'DIMALT'
          B,	DXF 70
     'DIMALTD'
          BS,	DXF 70
     'DIMALTF'
          BD,	DXF 40
     'DIMALTMZF'
          BD
     'DIMALTMZS'
          T,	DXF 1
     'DIMALTRND'
          BD,	DXF 40
     'DIMALTTD'
          BS,	DXF 70
     'DIMALTTZ'
          BS,	DXF 70
     'DIMALTU'
          BS,	DXF 70
     'DIMALTZ'
          BS,	DXF 70
     'DIMAPOST'
          TV,	DXF 1
     'DIMAPOST_T'
          T
     'DIMARCSYM'
          BS,	DXF 70
     'DIMASO'
          B,	DXF 70
     'DIMASSOC'
          RC,	DXF 280
     'DIMASZ'
          BD,	DXF 40
     'DIMATFIT'
          BS,	DXF 70
     'DIMAUNIT'
          BS,	DXF 70
     'DIMAZIN'
          BS,	DXF 70
     'DIMBLK'
          H,	DXF 1
     'DIMBLK1'
          H,	DXF 1
     'DIMBLK1_T'
          T
     'DIMBLK2'
          H,	DXF 1
     'DIMBLK2_T'
          T
     'DIMBLK_T'
          T
     'DIMCEN'
          BD,	DXF 40
     'DIMCLRD'
          CMC,	DXF 70
     'DIMCLRD_C'
          RS
     'DIMCLRE'
          CMC,	DXF 70
     'DIMCLRE_C'
          RS
     'DIMCLRT'
          CMC,	DXF 70
     'DIMCLRT_C'
          RS
     'DIMDEC'
          BS,	DXF 70
     'DIMDLE'
          BD,	DXF 40
     'DIMDLI'
          BD,	DXF 40
     'DIMDSEP'
          BS,	DXF 70
     'DIMEXE'
          BD,	DXF 40
     'DIMEXO'
          BD,	DXF 40
     'DIMFIT'
          BS,	DXF 70
     'DIMFRAC'
          BS,	DXF 70
     'DIMFXL'
          BD,	DXF 40
     'DIMFXLON'
          B,	DXF 70
     'DIMGAP'
          BD,	DXF 40
     'DIMJOGANG'
          BD,	DXF 40
     'DIMJUST'
          BS,	DXF 70
     'DIMLDRBLK'
          H,	DXF 1
     'DIMLFAC'
          BD,	DXF 40
     'DIMLIM'
          B,	DXF 70
     'DIMLTEX1'
          H,	DXF 6
     'DIMLTEX2'
          H,	DXF 6
     'DIMLTYPE'
          H,	DXF 6
     'DIMLUNIT'
          BS,	DXF 70
     'DIMLWD'
          BSd,	DXF 70
     'DIMLWE'
          BSd,	DXF 70
     'DIMMALTTZ'
          BS
     'DIMMALTZ'
          BS
     'DIMMZF'
          BD
     'DIMMZS'
          T,	DXF 1
     'DIMPOST'
          TV,	DXF 1
     'DIMPOST_T'
          T
     'DIMRND'
          BD,	DXF 40
     'DIMSAH'
          B,	DXF 70
     'DIMSAV'
          B
     'DIMSCALE'
          BD,	DXF 40
     'DIMSD1'
          B,	DXF 70
     'DIMSD2'
          B,	DXF 70
     'DIMSE1'
          B,	DXF 70
     'DIMSE2'
          B,	DXF 70
     'DIMSHO'
          B,	DXF 70
     'DIMSOXD'
          B,	DXF 70
     'DIMSTYLE'
          H,	DXF 2
     'DIMSTYLE_CONTROL_OBJECT'
          H
     'DIMTAD'
          BS,	DXF 70
     'DIMTDEC'
          BS,	DXF 70
     'DIMTFAC'
          BD,	DXF 40
     'DIMTFILL'
          BS,	DXF 70
     'DIMTFILLCLR'
          CMC,	DXF 70
     'DIMTIH'
          B,	DXF 70
     'DIMTIX'
          B,	DXF 70
     'DIMTM'
          BD,	DXF 40
     'DIMTMOVE'
          BS,	DXF 70
     'DIMTOFL'
          B,	DXF 70
     'DIMTOH'
          B,	DXF 70
     'DIMTOL'
          B,	DXF 70
     'DIMTOLJ'
          BS,	DXF 70
     'DIMTP'
          BD,	DXF 40
     'DIMTSZ'
          BD,	DXF 40
     'DIMTVP'
          BD,	DXF 40
     'DIMTXSTY'
          H,	DXF 7
     'DIMTXT'
          BD,	DXF 40
     'DIMTXTDIRECTION'
          B,	DXF 70
     'DIMTZIN'
          BS,	DXF 70
     'DIMUNIT'
          BS,	DXF 70
     'DIMUPT'
          B,	DXF 70
     'DIMZIN'
          BS,	DXF 70
     'DISPSILH'
          B,	DXF 70
     'DRAGMODE'
          BS,	DXF 70
     'DRAGVS'
          H,	DXF 349
     'DWFFRAME'
          RC,	DXF 280
     'DWGCODEPAGE'
          TV,	DXF 3
     'ELEVATION'
          BD,	DXF 40
     'ENDCAPS'
          B,	DXF 280
     'EXTMAX'
          3BD,	DXF 30
     'EXTMIN'
          3BD,	DXF 30
     'EXTNAMES'
          B,	DXF 290
     'FACETRES'
          BD
     'FILLETRAD'
          BD,	DXF 40
     'FILLMODE'
          B,	DXF 70
     'FINGERPRINTGUID'
          TV,	DXF 2
     'FLAGS'
          BL
     'GRIDMODE'
          RS
     'GRIDUNIT'
          2RD
     'HALOGAP'
          RC,	DXF 280
     'HANDLING'
          BS,	DXF 70
     'HANDSEED'
          H,	DXF 5
     'HIDETEXT'
          RC,	DXF 280
     'HYPERLINKBASE'
          T,	DXF 1
     'INDEXCTL'
          RC,	DXF 280
     'INSBASE'
          3BD,	DXF 30
     'INSUNITS'
          BS,	DXF 70
     'INTERFERECOLOR'
          CMC,	DXF 62
     'INTERFEREOBJVS'
          H,	DXF 345
     'INTERFEREVPVS'
          H,	DXF 346
     'INTERSECTIONCOLOR'
          BS,	DXF 70
     'INTERSECTIONDISPLAY'
          RC,	DXF 280
     'ISOLINES'
          BS
     'JOINSTYLE'
          B,	DXF 280
     'LATITUDE'
          BD,	DXF 40
     'LAYER_CONTROL_OBJECT'
          H
     'LENSLENGTH'
          BD,	DXF 40
     'LIGHTGLYPHDISPLAY'
          RC,	DXF 280
     'LIMCHECK'
          B,	DXF 70
     'LIMMAX'
          2DPOINT,	DXF 20
     'LIMMIN'
          2DPOINT,	DXF 20
     'LOFTANG1'
          BD,	DXF 40
     'LOFTANG2'
          BD,	DXF 40
     'LOFTMAG1'
          BD,	DXF 40
     'LOFTMAG2'
          BD,	DXF 40
     'LOFTNORMALS'
          RC,	DXF 280
     'LOFTPARAM'
          BS,	DXF 70
     'LONGITUDE'
          BD,	DXF 40
     'LTSCALE'
          BD,	DXF 40
     'LTYPE_BYBLOCK'
          H
     'LTYPE_BYLAYER'
          H
     'LTYPE_CONTINUOUS'
          H
     'LTYPE_CONTROL_OBJECT'
          H
     'LUNITS'
          BS,	DXF 70
     'LUPREC'
          BS,	DXF 70
     'LWDISPLAY'
          B,	DXF 290
     'MAXACTVP'
          BS,	DXF 70
     'MEASUREMENT'
          BS,	DXF 70
     'MENU'
          TV,	DXF 1
     'MIRRTEXT'
          B,	DXF 70
     'NORTHDIRECTION'
          BD,	DXF 40
     'OBSCOLOR'
          BS,	DXF 70
     'OBSLTYPE'
          RC,	DXF 280
     'OLESTARTUP'
          B,	DXF 290
     'ORTHOMODE'
          B,	DXF 70
     'OSMODE'
          BS,	DXF 70
     'PDMODE'
          BS,	DXF 70
     'PDSIZE'
          BD,	DXF 40
     'PELEVATION'
          BD,	DXF 40
     'PELLIPSE'
          B
     'PEXTMAX'
          3BD,	DXF 30
     'PEXTMIN'
          3BD,	DXF 30
     'PICKSTYLE'
          BS,	DXF 70
     'PINSBASE'
          3BD,	DXF 30
     'PLIMCHECK'
          B,	DXF 70
     'PLIMMAX'
          2DPOINT,	DXF 20
     'PLIMMIN'
          2DPOINT,	DXF 20
     'PLINEGEN'
          B,	DXF 70
     'PLINEWID'
          BD,	DXF 40
     'PROJECTNAME'
          TV,	DXF 1
     'PROXYGRAPHICS'
          BS,	DXF 70
     'PSLTSCALE'
          B,	DXF 70
     'PSOLHEIGHT'
          BD,	DXF 40
     'PSOLWIDTH'
          BD,	DXF 40
     'PSTYLEMODE'
          B,	DXF 290
     'PSVPSCALE'
          BD,	DXF 40
     'PUCSBASE'
          H,	DXF 2
     'PUCSNAME'
          H,	DXF 2
     'PUCSORG'
          3BD,	DXF 30
     'PUCSORGBACK'
          3BD,	DXF 30
     'PUCSORGBOTTOM'
          3BD,	DXF 30
     'PUCSORGFRONT'
          3BD,	DXF 30
     'PUCSORGLEFT'
          3BD,	DXF 30
     'PUCSORGRIGHT'
          3BD,	DXF 30
     'PUCSORGTOP'
          3BD,	DXF 30
     'PUCSORTHOREF'
          H,	DXF 2
     'PUCSORTHOVIEW'
          BS,	DXF 70
     'PUCSXDIR'
          3BD,	DXF 30
     'PUCSYDIR'
          3BD,	DXF 30
     'QTEXTMODE'
          B,	DXF 70
     'REALWORLDSCALE'
          B,	DXF 290
     'REGENMODE'
          B,	DXF 70
     'REQUIREDVERSIONS'
          BLL,	DXF 160
     'SAVEIMAGES'
          BS
     'SHADEDGE'
          BS,	DXF 70
     'SHADEDIF'
          BS,	DXF 70
     'SHADOWPLANELOCATION'
          BD,	DXF 40
     'SHOWHIST'
          RC,	DXF 280
     'SKETCHINC'
          BD,	DXF 40
     'SKPOLY'
          B,	DXF 70
     'SNAPANG'
          RD
     'SNAPBASE'
          2RD
     'SNAPISOPAIR'
          RS
     'SNAPMODE'
          RS
     'SNAPSTYL'
          RS
     'SNAPUNIT'
          2RD
     'SOLIDHIST'
          RC,	DXF 280
     'SORTENTS'
          RC,	DXF 280
     'SPLFRAME'
          B,	DXF 70
     'SPLINESEGS'
          BS,	DXF 70
     'SPLINETYPE'
          BS,	DXF 70
     'STEPSIZE'
          BD,	DXF 40
     'STEPSPERSEC'
          BD,	DXF 40
     'STYLESHEET'
          TV,	DXF 1
     'STYLE_CONTROL_OBJECT'
          H
     'SURFTAB1'
          BS,	DXF 70
     'SURFTAB2'
          BS,	DXF 70
     'SURFTYPE'
          BS,	DXF 70
     'SURFU'
          BS,	DXF 70
     'SURFV'
          BS,	DXF 70
     'TDCREATE'
          TIMEBLL,	DXF 40
     'TDINDWG'
          TIMEBLL,	DXF 40
     'TDUCREATE'
          TIMEBLL,	DXF 40
     'TDUPDATE'
          TIMEBLL,	DXF 40
     'TDUSRTIMER'
          TIMEBLL,	DXF 40
     'TDUUPDATE'
          TIMEBLL,	DXF 40
     'TEXTQLTY'
          BS
     'TEXTSIZE'
          BD,	DXF 40
     'TEXTSTYLE'
          H,	DXF 7
     'THICKNESS'
          BD,	DXF 40
     'TILEMODE'
          B,	DXF 70
     'TILEMODELIGHTSYNCH'
          RC,	DXF 280
     'TIMEZONE'
          BL,	DXF 70
     'TRACEWID'
          BD,	DXF 40
     'TREEDEPTH'
          BS,	DXF 70
     'TSTACKALIGN'
          BS
     'TSTACKSIZE'
          BS
     'UCSBASE'
          H,	DXF 2
     'UCSNAME'
          H,	DXF 2
     'UCSORG'
          3BD,	DXF 30
     'UCSORGBACK'
          3BD,	DXF 30
     'UCSORGBOTTOM'
          3BD,	DXF 30
     'UCSORGFRONT'
          3BD,	DXF 30
     'UCSORGLEFT'
          3BD,	DXF 30
     'UCSORGRIGHT'
          3BD,	DXF 30
     'UCSORGTOP'
          3BD,	DXF 30
     'UCSORTHOREF'
          H,	DXF 2
     'UCSORTHOVIEW'
          BS,	DXF 70
     'UCSXDIR'
          3BD,	DXF 30
     'UCSYDIR'
          3BD,	DXF 30
     'UCS_CONTROL_OBJECT'
          H
     'UNITMODE'
          BS,	DXF 70
     'USERI1'
          BS,	DXF 70
     'USERI2'
          BS,	DXF 70
     'USERI3'
          BS,	DXF 70
     'USERI4'
          BS,	DXF 70
     'USERI5'
          BS,	DXF 70
     'USERR1'
          BD,	DXF 40
     'USERR2'
          BD,	DXF 40
     'USERR3'
          BD,	DXF 40
     'USERR4'
          BD,	DXF 40
     'USERR5'
          BD,	DXF 40
     'USRTIMER'
          B,	DXF 70
     'VERSIONGUID'
          TV,	DXF 2
     'VIEWCTR'
          2RD
     'VIEWSIZE'
          RD
     'VIEW_CONTROL_OBJECT'
          H
     'VISRETAIN'
          B,	DXF 70
     'VPORT_CONTROL_OBJECT'
          H
     'VX_CONTROL_OBJECT'
          H
     'VX_TABLE_RECORD'
          H
     'WIREFRAME'
          B
     'WORLDVIEW'
          B,	DXF 70
     'XCLIPFRAME'
          RC,	DXF 290
     'XEDIT'
          B,	DXF 290
     '_3DDWFPREC'
          BD,	DXF 40
     'bitsize'
          RL
     'bitsize_hi'
          RL
     'size'
          RL
     'unknown_0'
          BD
     'unknown_1'
          BD
     'unknown_10'
          BS
     'unknown_11'
          B
     'unknown_12'
          BL
     'unknown_13'
          BL
     'unknown_14'
          BL
     'unknown_14b'
          BL
     'unknown_15'
          BL
     'unknown_16'
          BL
     'unknown_17'
          BL
     'unknown_2'
          BD
     'unknown_20'
          H
     'unknown_21'
          BL
     'unknown_22'
          BL
     'unknown_23'
          BD
     'unknown_3'
          BD
     'unknown_54'
          BS
     'unknown_55'
          BS
     'unknown_56'
          BS
     'unknown_57'
          BS
     'unknown_8'
          BL
     'unknown_9'
          BL
     'unknown_text1'
          TV
     'unknown_text2'
          TV
     'unknown_text3'
          TV
     'unknown_text4'
          TV


File: LibreDWG.info,  Node: ENTITIES,  Next: OBJECTS,  Prev: HEADER,  Up: Objects

4.2 ENTITIES
============

All graphical objects with its fields.  *Note Common Entity fields::

   *3DFACE*

     'parent'
          struct _dwg_object_entity*
     'has_no_flags'
          B
     'z_is_zero'
          B
     'corner1'
          3BD,	DXF 10
     'corner2'
          3BD,	DXF 11
     'corner3'
          3BD,	DXF 12
     'corner4'
          3BD,	DXF 13
     'invis_flags'
          BS,	DXF 70

   *3DSOLID*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B

   *ALIGNMENTPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *ARC*

     'parent'
          struct _dwg_object_entity*
     'center'
          3BD,	DXF 10
     'radius'
          BD,	DXF 40
     'thickness'
          BT,	DXF 39
     'extrusion'
          BE,	DXF 210
     'start_angle'
          BD,	DXF 50
     'end_angle'
          BD,	DXF 51

   *ARCALIGNEDTEXT*

     'parent'
          struct _dwg_object_entity*
     'text_size'
          D2T,	DXF 42
     'xscale'
          D2T,	DXF 41
     'char_spacing'
          D2T,	DXF 43
     'style'
          T,	DXF 7
     't2'
          T,	DXF 2
     't3'
          T,	DXF 3
     'text_value'
          T,	DXF 1
     'offset_from_arc'
          D2T,	DXF 44
     'right_offset'
          D2T,	DXF 45
     'left_offset'
          D2T,	DXF 46
     'center'
          3BD,	DXF 10
     'radius'
          BD,	DXF 40
     'start_angle'
          BD,	DXF 50
     'end_angle'
          BD,	DXF 51
     'extrusion'
          3BD,	DXF 210
     'color'
          BL,	DXF 90
     'is_reverse'
          BS,	DXF 70
     'text_direction'
          BS,	DXF 71
     'alignment'
          BS,	DXF 72
     'text_position'
          BS,	DXF 73
     'font_19'
          BS,	DXF 74
     'bs2'
          BS,	DXF 75
     'is_underlined'
          BS,	DXF 76
     'bs1'
          BS,	DXF 77
     'font'
          BS,	DXF 78
     'is_shx'
          BS,	DXF 79
     'wizard_flag'
          BS,	DXF 280
     'arc_handle'
          H,	DXF 330

   *ARC_DIMENSION*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'xline1_pt'
          3BD,	DXF 13
     'xline2_pt'
          3BD,	DXF 14
     'center_pt'
          3BD,	DXF 15
     'is_partial'
          B,	DXF 70
     'arc_start_param'
          BD,	DXF 41
     'arc_end_param'
          BD,	DXF 42
     'has_leader'
          B,	DXF 71
     'leader1_pt'
          3BD,	DXF 16
     'leader2_pt'
          3BD,	DXF 17

   *ATTDEF*

     'parent'
          struct _dwg_object_entity*
     'elevation'
          BD,	DXF 30
     'ins_pt'
          2DPOINT,	DXF 10
     'alignment_pt'
          2DPOINT,	DXF 11
     'extrusion'
          BE,	DXF 210
     'thickness'
          RD,	DXF 39
     'oblique_angle'
          RD,	DXF 51
     'rotation'
          RD,	DXF 50
     'height'
          RD,	DXF 40
     'width_factor'
          RD,	DXF 41
     'default_value'
          T,	DXF 1
     'generation'
          BS,	DXF 71
     'horiz_alignment'
          BS,	DXF 72
     'vert_alignment'
          BS,	DXF 74
     'dataflags'
          RC
     'class_version'
          RC,	DXF 280
     'type'
          RC,	DXF 70
     'tag'
          T,	DXF 2
     'field_length'
          BS
     'flags'
          RC
     'lock_position_flag'
          B
     'style'
          H,	DXF 7
     'mtext_handles'
          H,	DXF 340
     'annotative_data_size'
          BS,	DXF 70
     'annotative_data_bytes'
          RC
     'annotative_app'
          H
     'annotative_short'
          BS
     'attdef_class_version'
          RC
     'prompt'
          T,	DXF 3

   *ATTRIB*

     'parent'
          struct _dwg_object_entity*
     'elevation'
          BD,	DXF 30
     'ins_pt'
          2DPOINT,	DXF 10
     'alignment_pt'
          2DPOINT,	DXF 11
     'extrusion'
          BE,	DXF 210
     'thickness'
          RD,	DXF 39
     'oblique_angle'
          RD,	DXF 51
     'rotation'
          RD,	DXF 50
     'height'
          RD,	DXF 40
     'width_factor'
          RD,	DXF 41
     'text_value'
          T,	DXF 1
     'generation'
          BS,	DXF 71
     'horiz_alignment'
          BS,	DXF 72
     'vert_alignment'
          BS,	DXF 74
     'dataflags'
          RC
     'class_version'
          RC,	DXF 280
     'type'
          RC,	DXF 70
     'tag'
          T,	DXF 2
     'field_length'
          BS
     'flags'
          RC
     'lock_position_flag'
          B
     'style'
          H,	DXF 7
     'mtext_handles'
          H,	DXF 340
     'annotative_data_size'
          BS,	DXF 70
     'annotative_data_bytes'
          RC
     'annotative_app'
          H
     'annotative_short'
          BS

   *BASEPOINTPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *BLOCK*

     'parent'
          struct _dwg_object_entity*
     'name'
          T,	DXF 2
     'filename'
          T,	DXF 4

   *BODY*

     *Note 3DSOLID::

   *CAMERA*

     'parent'
          struct _dwg_object_entity*
     'view'
          H

   *CIRCLE*

     'parent'
          struct _dwg_object_entity*
     'center'
          3BD,	DXF 10
     'radius'
          BD,	DXF 40
     'thickness'
          BT,	DXF 39
     'extrusion'
          BE,	DXF 210

   *DGNUNDERLAY*

     'parent'
          struct _dwg_object_entity*
     'extrusion'
          BE,	DXF 210
     'ins_pt'
          3BD,	DXF 10
     'scale'
          3BD_1,	DXF 41
     'angle'
          BD,	DXF 50
     'flag'
          RC,	DXF 280
     'contrast'
          RC,	DXF 281
     'fade'
          RC,	DXF 282
     'num_clip_verts'
          BL
     'clip_verts'
          2RD*,	DXF 11
     'num_clip_inverts'
          BS,	DXF 170
     'clip_inverts'
          2RD*,	DXF 12
     'definition_id'
          H,	DXF 340

   *DIMENSION_ALIGNED*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'xline1_pt'
          3BD,	DXF 13
     'xline2_pt'
          3BD,	DXF 14
     'oblique_angle'
          BD

   *DIMENSION_ANG2LN*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'xline1start_pt'
          3BD,	DXF 13
     'xline1end_pt'
          3BD,	DXF 14
     'xline2start_pt'
          3BD,	DXF 15
     'xline2end_pt'
          3BD,	DXF 16

   *DIMENSION_ANG3PT*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'xline1_pt'
          3BD,	DXF 13
     'xline2_pt'
          3BD,	DXF 14
     'center_pt'
          3BD,	DXF 15

   *DIMENSION_DIAMETER*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'first_arc_pt'
          3BD,	DXF 15
     'leader_len'
          BD,	DXF 40

   *DIMENSION_LINEAR*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'xline1_pt'
          3BD,	DXF 13
     'xline2_pt'
          3BD,	DXF 14
     'oblique_angle'
          BD,	DXF 52
     'dim_rotation'
          BD,	DXF 50

   *DIMENSION_ORDINATE*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'feature_location_pt'
          3BD,	DXF 13
     'leader_endpt'
          3BD,	DXF 14
     'flag2'
          RC

   *DIMENSION_RADIUS*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'first_arc_pt'
          3BD,	DXF 15
     'leader_len'
          BD,	DXF 40

   *DWFUNDERLAY*

     *Note UNDERLAY::

   *ELLIPSE*

     'parent'
          struct _dwg_object_entity*
     'center'
          3BD,	DXF 10
     'sm_axis'
          3BD,	DXF 11
     'extrusion'
          BE,	DXF 210
     'axis_ratio'
          BD,	DXF 40
     'start_angle'
          BD,	DXF 41
     'end_angle'
          BD,	DXF 42

   *ENDBLK*

     'parent'
          struct _dwg_object_entity*

   *EXTRUDEDSURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'modeler_format_version'
          BS
     'bindata_size'
          BL
     'bindata'
          TF
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'class_version'
          BL
     'draft_angle'
          BD,	DXF 42
     'draft_start_distance'
          BD,	DXF 43
     'draft_end_distance'
          BD,	DXF 44
     'twist_angle'
          BD,	DXF 45
     'scale_factor'
          BD,	DXF 48
     'align_angle'
          BD,	DXF 49
     'sweep_entity_transmatrix'
          BD*,	DXF 46
     'path_entity_transmatrix'
          BD*,	DXF 47
     'is_solid'
          B,	DXF 290
     'sweep_alignment_flags'
          BS,	DXF 70
     'path_flags'
          BS,	DXF 71
     'align_start'
          B,	DXF 292
     'bank'
          B,	DXF 293
     'base_point_set'
          B,	DXF 294
     'sweep_entity_transform_computed'
          B,	DXF 295
     'path_entity_transform_computed'
          B,	DXF 296
     'reference_vector_for_controlling_twist'
          3BD,	DXF 11
     'sweep_entity'
          H
     'path_entity'
          H
     'sweep_vector'
          3BD,	DXF 10
     'sweep_transmatrix'
          BD*,	DXF 40

   *FLIPPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *GEOPOSITIONMARKER*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BS,	DXF 90
     'position'
          3BD,	DXF 10
     'radius'
          BD,	DXF 40
     'landing_gap'
          BD,	DXF 40
     'notes'
          T,	DXF 1
     'text_alignment'
          RC,	DXF 280
     'mtext_visible'
          B,	DXF 290
     'enable_frame_text'
          B,	DXF 290
     'mtext'
          struct _dwg_object*

   *HATCH*

     'parent'
          struct _dwg_object_entity*
     'is_gradient_fill'
          BL,	DXF 450
     'reserved'
          BL,	DXF 451
     'gradient_angle'
          BD,	DXF 460
     'gradient_shift'
          BD,	DXF 461
     'single_color_gradient'
          BL,	DXF 452
     'gradient_tint'
          BD,	DXF 462
     'num_colors'
          BL,	DXF 453
     'colors'
          Dwg_HATCH_Color*
     'gradient_name'
          T,	DXF 470
     'elevation'
          BD,	DXF 30
     'extrusion'
          BE,	DXF 210
     'name'
          T,	DXF 2
     'is_solid_fill'
          B,	DXF 70
     'is_associative'
          B,	DXF 71
     'num_paths'
          BL,	DXF 91
     'paths'
          Dwg_HATCH_Path*
     'style'
          BS,	DXF 75
     'pattern_type'
          BS,	DXF 76
     'angle'
          BD,	DXF 52
     'scale_spacing'
          BD,	DXF 41
     'double_flag'
          B,	DXF 77
     'num_deflines'
          BS,	DXF 78
     'deflines'
          Dwg_HATCH_DefLine*
     'has_derived'
          B
     'pixel_size'
          BD,	DXF 47
     'num_seeds'
          BL,	DXF 98
     'seeds'
          2RD*,	DXF 10

   *HELIX*

     'parent'
          struct _dwg_object_entity*
     'flag'
          BS,	DXF 70
     'scenario'
          BS
     'degree'
          BS,	DXF 71
     'splineflags1'
          BL
     'knotparam'
          BL
     'fit_tol'
          BD,	DXF 44
     'beg_tan_vec'
          3BD,	DXF 12
     'end_tan_vec'
          3BD,	DXF 13
     'rational'
          B
     'closed_b'
          B
     'periodic'
          B
     'weighted'
          B
     'knot_tol'
          BD,	DXF 42
     'ctrl_tol'
          BD,	DXF 43
     'num_fit_pts'
          BS,	DXF 74
     'fit_pts'
          3DPOINT*,	DXF 11
     'num_knots'
          BL,	DXF 72
     'knots'
          BD*,	DXF 40
     'num_ctrl_pts'
          BL,	DXF 73
     'ctrl_pts'
          Dwg_SPLINE_control_point*
     'major_version'
          BL,	DXF 90
     'maint_version'
          BL,	DXF 91
     'axis_base_pt'
          3BD,	DXF 10
     'start_pt'
          3BD,	DXF 11
     'axis_vector'
          3BD,	DXF 12
     'radius'
          BD,	DXF 40
     'turns'
          BD,	DXF 41
     'turn_height'
          BD,	DXF 42
     'handedness'
          B,	DXF 290
     'constraint_type'
          RC,	DXF 280

   *IMAGE*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BL,	DXF 90
     'pt0'
          3BD,	DXF 10
     'uvec'
          3BD,	DXF 11
     'vvec'
          3BD,	DXF 12
     'size'
          2RD,	DXF 13
     'display_props'
          BS,	DXF 70
     'clipping'
          B,	DXF 280
     'brightness'
          RC,	DXF 281
     'contrast'
          RC,	DXF 282
     'fade'
          RC,	DXF 283
     'clip_mode'
          B,	DXF 290
     'clip_boundary_type'
          BS,	DXF 71
     'num_clip_verts'
          BL,	DXF 91
     'clip_verts'
          2RD*,	DXF 14
     'imagedef'
          H,	DXF 340
     'imagedefreactor'
          H,	DXF 360

   *INSERT*

     'parent'
          struct _dwg_object_entity*
     'ins_pt'
          3DPOINT,	DXF 10
     'scale_flag'
          BB
     'scale'
          3BD_1,	DXF 41
     'rotation'
          BD,	DXF 50
     'extrusion'
          BE,	DXF 210
     'has_attribs'
          B,	DXF 66
     'num_owned'
          BL
     'block_header'
          H,	DXF 2
     'first_attrib'
          H
     'last_attrib'
          H
     'attribs'
          H*
     'seqend'
          H

   *LARGE_RADIAL_DIMENSION*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          T,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD_1
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H
     'first_arc_pt'
          3BD,	DXF 15
     'leader_len'
          BD,	DXF 40
     'ovr_center'
          3BD,	DXF 12
     'jog_point'
          3BD,	DXF 13

   *LEADER*

     'parent'
          struct _dwg_object_entity*
     'unknown_bit_1'
          B
     'path_type'
          BS,	DXF 72
     'annot_type'
          BS,	DXF 73
     'num_points'
          BL,	DXF 76
     'points'
          3DPOINT*,	DXF 10
     'origin'
          3DPOINT
     'extrusion'
          BE,	DXF 210
     'x_direction'
          3DPOINT,	DXF 211
     'inspt_offset'
          3DPOINT,	DXF 212
     'endptproj'
          3DPOINT
     'dimgap'
          BD
     'box_height'
          BD,	DXF 40
     'box_width'
          BD
     'hookline_dir'
          B,	DXF 74
     'arrowhead_on'
          B,	DXF 71
     'arrowhead_type'
          BS
     'dimasz'
          BD
     'unknown_bit_2'
          B
     'unknown_bit_3'
          B
     'unknown_short_1'
          BS
     'byblock_color'
          BS,	DXF 77
     'hookline_on'
          B,	DXF 75
     'unknown_bit_5'
          B
     'associated_annotation'
          H,	DXF 340
     'dimstyle'
          H,	DXF 3

   *LIGHT*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'type'
          BL,	DXF 70
     'status'
          B,	DXF 290
     'color'
          CMC,	DXF 63
     'plot_glyph'
          B,	DXF 291
     'intensity'
          BD,	DXF 40
     'position'
          3BD,	DXF 10
     'target'
          3BD,	DXF 11
     'attenuation_type'
          BL,	DXF 72
     'use_attenuation_limits'
          B,	DXF 292
     'attenuation_start_limit'
          BD,	DXF 41
     'attenuation_end_limit'
          BD,	DXF 42
     'hotspot_angle'
          BD,	DXF 50
     'falloff_angle'
          BD,	DXF 51
     'cast_shadows'
          B,	DXF 293
     'shadow_type'
          BL,	DXF 73
     'shadow_map_size'
          BS,	DXF 91
     'shadow_map_softness'
          RC,	DXF 280
     'is_photometric'
          B
     'has_photometric_data'
          B,	DXF 1
     'has_webfile'
          B,	DXF 290
     'webfile'
          T,	DXF 300
     'physical_intensity_method'
          BS,	DXF 70
     'physical_intensity'
          BD,	DXF 40
     'illuminance_dist'
          BD,	DXF 41
     'lamp_color_type'
          BS,	DXF 71
     'lamp_color_temp'
          BD,	DXF 42
     'lamp_color_preset'
          BS,	DXF 72
     'lamp_color_rgb'
          BL
     'web_rotation'
          3BD_1,	DXF 43
     'extlight_shape'
          BS,	DXF 73
     'extlight_length'
          BD,	DXF 46
     'extlight_width'
          BD,	DXF 47
     'extlight_radius'
          BD,	DXF 48
     'webfile_type'
          BS,	DXF 74
     'web_symetry'
          BS,	DXF 75
     'has_target_grip'
          BS,	DXF 76
     'web_flux'
          BD,	DXF 49
     'web_angle1'
          BD,	DXF 50
     'web_angle2'
          BD,	DXF 51
     'web_angle3'
          BD,	DXF 52
     'web_angle4'
          BD,	DXF 53
     'web_angle5'
          BD,	DXF 54
     'glyph_display_type'
          BS,	DXF 77

   *LINE*

     'parent'
          struct _dwg_object_entity*
     'z_is_zero'
          RC
     'start'
          3BD,	DXF 10
     'end'
          3BD,	DXF 11
     'thickness'
          BT,	DXF 39
     'extrusion'
          BE,	DXF 210

   *LINEARPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *LOFTEDSURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'modeler_format_version'
          BS,	DXF 70
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'loft_entity_transmatrix'
          BD*,	DXF 40
     'plane_normal_lofting_type'
          BL,	DXF 70
     'start_draft_angle'
          BD,	DXF 41
     'end_draft_angle'
          BD,	DXF 42
     'start_draft_magnitude'
          BD,	DXF 43
     'end_draft_magnitude'
          BD,	DXF 44
     'arc_length_parameterization'
          B,	DXF 290
     'no_twist'
          B,	DXF 291
     'align_direction'
          B,	DXF 292
     'simple_surfaces'
          B,	DXF 293
     'closed_surfaces'
          B,	DXF 294
     'solid'
          B,	DXF 295
     'ruled_surface'
          B,	DXF 296
     'virtual_guide'
          B,	DXF 297
     'num_cross_sections'
          BS
     'num_guide_curves'
          BS
     'cross_sections'
          H*,	DXF 310
     'guide_curves'
          H*,	DXF 310
     'path_curve'
          H

   *LWPOLYLINE*

     'parent'
          struct _dwg_object_entity*
     'flag'
          BS,	DXF 70
     'const_width'
          BD,	DXF 43
     'elevation'
          BD,	DXF 38
     'thickness'
          BD,	DXF 39
     'extrusion'
          BE,	DXF 210
     'num_points'
          BL,	DXF 90
     'points'
          2RD*,	DXF 10
     'num_bulges'
          BL
     'bulges'
          BD*,	DXF 42
     'num_vertexids'
          BL
     'vertexids'
          BL*,	DXF 91
     'num_widths'
          BL
     'widths'
          Dwg_LWPOLYLINE_width*

   *MESH*

     'parent'
          struct _dwg_object_entity*
     'dlevel'
          BS,	DXF 71
     'is_watertight'
          B,	DXF 72
     'num_subdiv_vertex'
          BL,	DXF 91
     'subdiv_vertex'
          3DPOINT*,	DXF 10
     'num_vertex'
          BL,	DXF 92
     'vertex'
          3DPOINT*,	DXF 10
     'num_faces'
          BL,	DXF 93
     'faces'
          BL*,	DXF 90
     'num_edges'
          BL,	DXF 94
     'edges'
          Dwg_MESH_edge*
     'num_crease'
          BL,	DXF 95
     'crease'
          BD*,	DXF 140

   *MINSERT*

     'parent'
          struct _dwg_object_entity*
     'ins_pt'
          3DPOINT,	DXF 10
     'scale_flag'
          BB
     'scale'
          3BD_1,	DXF 41
     'rotation'
          BD,	DXF 50
     'extrusion'
          BE,	DXF 210
     'has_attribs'
          B,	DXF 66
     'num_owned'
          BL
     'num_cols'
          BS,	DXF 70
     'num_rows'
          BS,	DXF 71
     'col_spacing'
          BD,	DXF 44
     'row_spacing'
          BD,	DXF 45
     'block_header'
          H,	DXF 2
     'first_attrib'
          H
     'last_attrib'
          H
     'attribs'
          H*
     'seqend'
          H

   *MLINE*

     'parent'
          struct _dwg_object_entity*
     'scale'
          BD,	DXF 40
     'justification'
          RC,	DXF 70
     'base_point'
          3BD,	DXF 10
     'extrusion'
          BE,	DXF 210
     'flags'
          BS,	DXF 71
     'num_lines'
          RC,	DXF 73
     'num_verts'
          BS,	DXF 72
     'verts'
          Dwg_MLINE_vertex*
     'mlinestyle'
          H,	DXF 340

   *MPOLYGON*

     'parent'
          struct _dwg_object_entity*
     'is_gradient_fill'
          BL
     'reserved'
          BL
     'gradient_angle'
          BD
     'gradient_shift'
          BD
     'single_color_gradient'
          BL
     'gradient_tint'
          BD
     'num_colors'
          BL
     'colors'
          Dwg_HATCH_Color*
     'gradient_name'
          T
     'elevation'
          BD,	DXF 30
     'extrusion'
          BE,	DXF 210
     'name'
          T,	DXF 2
     'is_solid_fill'
          B,	DXF 70
     'is_associative'
          B,	DXF 71
     'num_paths'
          BL,	DXF 91
     'paths'
          Dwg_HATCH_Path*
     'style'
          BS,	DXF 75
     'pattern_type'
          BS,	DXF 76
     'angle'
          BD,	DXF 52
     'scale_spacing'
          BD,	DXF 41
     'double_flag'
          B,	DXF 77
     'num_deflines'
          BS,	DXF 78
     'deflines'
          Dwg_HATCH_DefLine*
     'color'
          CMC,	DXF 62
     'x_dir'
          2RD,	DXF 11
     'num_boundary_handles'
          BL,	DXF 99

   *MTEXT*

     'parent'
          struct _dwg_object_entity*
     'ins_pt'
          3BD,	DXF 10
     'extrusion'
          BE,	DXF 210
     'x_axis_dir'
          3BD,	DXF 11
     'rect_height'
          BD,	DXF 41
     'rect_width'
          BD,	DXF 40
     'text_height'
          BD,	DXF 40
     'attachment'
          BS,	DXF 71
     'flow_dir'
          BS,	DXF 72
     'extents_width'
          BD,	DXF 42
     'extents_height'
          BD,	DXF 43
     'text'
          T,	DXF 1
     'style'
          H,	DXF 7
     'linespace_style'
          BS,	DXF 73
     'linespace_factor'
          BD,	DXF 44
     'unknown_b0'
          B
     'bg_fill_flag'
          BL,	DXF 90
     'bg_fill_scale'
          BL,	DXF 45
     'bg_fill_color'
          CMC,	DXF 63
     'bg_fill_trans'
          BL,	DXF 441
     'is_not_annotative'
          B
     'class_version'
          BS
     'default_flag'
          B,	DXF 70
     'appid'
          H
     'ignore_attachment'
          BL
     'column_type'
          BS,	DXF 71
     'numfragments'
          BL,	DXF 72
     'column_width'
          BD,	DXF 44
     'gutter'
          BD,	DXF 45
     'auto_height'
          B,	DXF 73
     'flow_reversed'
          B,	DXF 74
     'num_column_heights'
          BL,	DXF 72
     'column_heights'
          BD*,	DXF 46

   *MULTILEADER*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BS,	DXF 270
     'ctx'
          Dwg_MLEADER_AnnotContext
     'mleaderstyle'
          H,	DXF 340
     'flags'
          BL,	DXF 90
     'type'
          BS,	DXF 170
     'color'
          CMC,	DXF 91
     'ltype'
          H,	DXF 341
     'linewt'
          BLd,	DXF 171
     'has_landing'
          B,	DXF 290
     'has_dogleg'
          B,	DXF 291
     'landing_dist'
          BD,	DXF 41
     'arrow_handle'
          H,	DXF 342
     'arrow_size'
          BD,	DXF 42
     'style_content'
          BS,	DXF 172
     'text_style'
          H,	DXF 343
     'text_left'
          BS,	DXF 173
     'text_right'
          BS,	DXF 95
     'text_angletype'
          BS,	DXF 174
     'text_alignment'
          BS,	DXF 175
     'text_color'
          CMC,	DXF 92
     'has_text_frame'
          B,	DXF 292
     'block_style'
          H,	DXF 344
     'block_color'
          CMC,	DXF 93
     'block_scale'
          3BD,	DXF 10
     'block_rotation'
          BD,	DXF 43
     'style_attachment'
          BS,	DXF 176
     'is_annotative'
          B,	DXF 293
     'num_arrowheads'
          BL
     'arrowheads'
          Dwg_LEADER_ArrowHead*
     'num_blocklabels'
          BL
     'blocklabels'
          Dwg_LEADER_BlockLabel*
     'is_neg_textdir'
          B,	DXF 294
     'ipe_alignment'
          BS,	DXF 178
     'justification'
          BS,	DXF 179
     'scale_factor'
          BD,	DXF 45
     'attach_dir'
          BS,	DXF 271
     'attach_top'
          BS,	DXF 273
     'attach_bottom'
          BS,	DXF 272
     'is_text_extended'
          B,	DXF 295

   *NAVISWORKSMODEL*

     'parent'
          struct _dwg_object_entity*
     'flags'
          BS,	DXF 70
     'definition'
          H,	DXF 340
     'transmatrix'
          BD*,	DXF 40
     'unitfactor'
          BD,	DXF 40

   *NURBSURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'short170'
          BS,	DXF 170
     'cv_hull_display'
          B,	DXF 290
     'uvec1'
          3BD,	DXF 10
     'vvec1'
          3BD,	DXF 11
     'uvec2'
          3BD,	DXF 12
     'vvec2'
          3BD,	DXF 13

   *OLE2FRAME*

     'parent'
          struct _dwg_object_entity*
     'type'
          BS,	DXF 71
     'mode'
          BS,	DXF 72
     'lock_aspect'
          RC,	DXF 73
     'data_size'
          BL,	DXF 90
     'data'
          TF,	DXF 310
     'oleversion'
          BS,	DXF 70
     'oleclient'
          TF,	DXF 3
     'pt1'
          3BD,	DXF 10
     'pt2'
          3BD,	DXF 11

   *OLEFRAME*

     'parent'
          struct _dwg_object_entity*
     'flag'
          BS,	DXF 70
     'mode'
          BS
     'data_size'
          BL,	DXF 90
     'data'
          TF,	DXF 310

   *PDFUNDERLAY*

     *Note UNDERLAY::

   *PLANESURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'modeler_format_version'
          BS,	DXF 70
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'class_version'
          BL

   *POINT*

     'parent'
          struct _dwg_object_entity*
     'x'
          BD,	DXF 10
     'y'
          BD,	DXF 20
     'z'
          BD,	DXF 30
     'thickness'
          BT,	DXF 39
     'extrusion'
          BE,	DXF 210
     'x_ang'
          BD,	DXF 50

   *POINTCLOUD*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BS,	DXF 70
     'origin'
          3BD,	DXF 10
     'saved_filename'
          T,	DXF 1
     'num_source_files'
          BL,	DXF 90
     'source_files'
          TV*,	DXF 2
     'extents_min'
          3BD,	DXF 11
     'extents_max'
          3BD,	DXF 12
     'numpoints'
          RLL,	DXF 92
     'ucs_name'
          T,	DXF 3
     'ucs_origin'
          3BD,	DXF 13
     'ucs_x_dir'
          3BD,	DXF 210
     'ucs_y_dir'
          3BD,	DXF 211
     'ucs_z_dir'
          3BD,	DXF 212
     'pointclouddef'
          H,	DXF 330
     'reactor'
          H,	DXF 360
     'show_intensity'
          B
     'intensity_scheme'
          BS,	DXF 71
     'intensity_style'
          Dwg_POINTCLOUD_IntensityStyle
     'show_clipping'
          B
     'num_clippings'
          BL
     'clippings'
          Dwg_POINTCLOUD_Clippings*

   *POINTCLOUDEX*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BS,	DXF 70
     'extents_min'
          3BD,	DXF 10
     'extents_max'
          3BD,	DXF 11
     'ucs_origin'
          3BD,	DXF 12
     'ucs_x_dir'
          3BD,	DXF 210
     'ucs_y_dir'
          3BD,	DXF 211
     'ucs_z_dir'
          3BD,	DXF 212
     'is_locked'
          B,	DXF 290
     'pointclouddefex'
          H,	DXF 330
     'reactor'
          H,	DXF 360
     'name'
          T,	DXF 1
     'show_intensity'
          B,	DXF 291
     'stylization_type'
          BS,	DXF 71
     'intensity_colorscheme'
          T,	DXF 1
     'cur_colorscheme'
          T,	DXF 1
     'classification_colorscheme'
          T,	DXF 1
     'elevation_min'
          BD,	DXF 40
     'elevation_max'
          BD,	DXF 41
     'intensity_min'
          BL,	DXF 90
     'intensity_max'
          BL,	DXF 91
     'intensity_out_of_range_behavior'
          BS,	DXF 71
     'elevation_out_of_range_behavior'
          BS,	DXF 72
     'elevation_apply_to_fixed_range'
          B,	DXF 292
     'intensity_as_gradient'
          B,	DXF 293
     'elevation_as_gradient'
          B,	DXF 294
     'show_cropping'
          B,	DXF 295
     'unknown_bl0'
          BL,	DXF 93
     'unknown_bl1'
          BL,	DXF 93
     'num_croppings'
          BL,	DXF 92
     'croppings'
          Dwg_POINTCLOUDEX_Croppings*

   *POINTPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *POLARGRIPENTITY*

     'parent'
          struct _dwg_object_entity*

   *POLYLINE_2D*

     'parent'
          struct _dwg_object_entity*
     'has_vertex'
          B,	DXF 66
     'num_owned'
          BL
     'first_vertex'
          H
     'last_vertex'
          H
     'vertex'
          H*
     'seqend'
          H
     'flag'
          BS,	DXF 70
     'curve_type'
          BS,	DXF 75
     'start_width'
          BD,	DXF 40
     'end_width'
          BD,	DXF 41
     'thickness'
          BT,	DXF 39
     'elevation'
          BD
     'extrusion'
          BE,	DXF 210

   *POLYLINE_3D*

     'parent'
          struct _dwg_object_entity*
     'has_vertex'
          B,	DXF 66
     'num_owned'
          BL
     'first_vertex'
          H
     'last_vertex'
          H
     'vertex'
          H*
     'seqend'
          H
     'curve_type'
          RC,	DXF 75
     'flag'
          RC,	DXF 70

   *POLYLINE_MESH*

     'parent'
          struct _dwg_object_entity*
     'has_vertex'
          B,	DXF 66
     'num_owned'
          BL
     'first_vertex'
          H
     'last_vertex'
          H
     'vertex'
          H*
     'seqend'
          H
     'flag'
          BS,	DXF 70
     'curve_type'
          BS,	DXF 75
     'num_m_verts'
          BS,	DXF 71
     'num_n_verts'
          BS,	DXF 72
     'm_density'
          BS,	DXF 73
     'n_density'
          BS,	DXF 74

   *POLYLINE_PFACE*

     'parent'
          struct _dwg_object_entity*
     'has_vertex'
          B,	DXF 66
     'num_owned'
          BL
     'first_vertex'
          H
     'last_vertex'
          H
     'vertex'
          H*
     'seqend'
          H
     'numverts'
          BS,	DXF 71
     'numfaces'
          BS,	DXF 72

   *PROXY_ENTITY*

     'parent'
          struct _dwg_object_entity*
     'class_id'
          BL,	DXF 91
     'version'
          BL,	DXF 95
     'maint_version'
          BL,	DXF 97
     'from_dxf'
          B,	DXF 70
     'data_numbits'
          BL
     'data_size'
          BL,	DXF 93
     'data'
          TF,	DXF 310
     'num_objids'
          BL
     'objids'
          H*,	DXF 340

   *RAY*

     'parent'
          struct _dwg_object_entity*
     'point'
          3BD,	DXF 10
     'vector'
          3BD,	DXF 11

   *REGION*

     *Note 3DSOLID::

   *REVOLVEDSURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'modeler_format_version'
          BS,	DXF 70
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'class_version'
          BL,	DXF 90
     'id'
          BL,	DXF 90
     'axis_point'
          3BD,	DXF 10
     'axis_vector'
          3BD,	DXF 11
     'revolve_angle'
          BD,	DXF 40
     'start_angle'
          BD,	DXF 41
     'revolved_entity_transmatrix'
          BD*,	DXF 42
     'draft_angle'
          BD,	DXF 43
     'draft_start_distance'
          BD,	DXF 44
     'draft_end_distance'
          BD,	DXF 45
     'twist_angle'
          BD,	DXF 46
     'solid'
          B,	DXF 290
     'close_to_axis'
          B,	DXF 291

   *ROTATIONPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *RTEXT*

     'parent'
          struct _dwg_object_entity*
     'pt'
          3BD,	DXF 10
     'extrusion'
          BE,	DXF 210
     'rotation'
          BD,	DXF 50
     'height'
          BD,	DXF 50
     'flags'
          BS,	DXF 70
     'text_value'
          T,	DXF 1
     'style'
          H,	DXF 7

   *SECTIONOBJECT*

     'parent'
          struct _dwg_object_entity*
     'state'
          BL,	DXF 90
     'flags'
          BL,	DXF 91
     'name'
          T,	DXF 1
     'vert_dir'
          3BD,	DXF 10
     'top_height'
          BD,	DXF 40
     'bottom_height'
          BD,	DXF 41
     'indicator_alpha'
          BS,	DXF 70
     'indicator_color'
          CMC,	DXF 62
     'num_verts'
          BL,	DXF 92
     'verts'
          3BD*,	DXF 11
     'num_blverts'
          BL,	DXF 93
     'blverts'
          3BD*,	DXF 12
     'section_settings'
          H,	DXF 360

   *SEQEND*

     'parent'
          struct _dwg_object_entity*

   *SHAPE*

     'parent'
          struct _dwg_object_entity*
     'ins_pt'
          3BD,	DXF 10
     'scale'
          BD,	DXF 40
     'rotation'
          BD,	DXF 50
     'width_factor'
          BD,	DXF 41
     'oblique_angle'
          BD,	DXF 51
     'thickness'
          BD,	DXF 39
     'style_id'
          BS
     'extrusion'
          BE,	DXF 210
     'style'
          H,	DXF 7

   *SOLID*

     'parent'
          struct _dwg_object_entity*
     'thickness'
          BT,	DXF 39
     'elevation'
          BD,	DXF 38
     'corner1'
          2RD,	DXF 10
     'corner2'
          2RD,	DXF 11
     'corner3'
          2RD,	DXF 12
     'corner4'
          2RD,	DXF 13
     'extrusion'
          BE,	DXF 210

   *SPLINE*

     'parent'
          struct _dwg_object_entity*
     'flag'
          RS
     'scenario'
          BS
     'degree'
          BS,	DXF 71
     'splineflags1'
          BL
     'knotparam'
          BL
     'fit_tol'
          BD,	DXF 44
     'beg_tan_vec'
          3BD,	DXF 12
     'end_tan_vec'
          3BD,	DXF 13
     'closed_b'
          B
     'periodic'
          B
     'rational'
          B
     'weighted'
          B
     'knot_tol'
          BD,	DXF 42
     'ctrl_tol'
          BD,	DXF 43
     'num_fit_pts'
          BS,	DXF 74
     'fit_pts'
          3DPOINT*,	DXF 11
     'num_knots'
          BL,	DXF 72
     'knots'
          BD*,	DXF 40
     'num_ctrl_pts'
          BL,	DXF 73
     'ctrl_pts'
          Dwg_SPLINE_control_point*

   *SWEPTSURFACE*

     'parent'
          struct _dwg_object_entity*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'modeler_format_version'
          BS,	DXF 70
     'u_isolines'
          BS,	DXF 71
     'v_isolines'
          BS,	DXF 72
     'class_version'
          BL,	DXF 90
     'sweep_entity_id'
          BL,	DXF 90
     'sweepdata_size'
          BL,	DXF 90
     'sweepdata'
          TF,	DXF 310
     'path_entity_id'
          BL,	DXF 90
     'pathdata_size'
          BL,	DXF 90
     'pathdata'
          TF,	DXF 310
     'draft_angle'
          BD,	DXF 42
     'draft_start_distance'
          BD,	DXF 43
     'draft_end_distance'
          BD,	DXF 44
     'twist_angle'
          BD,	DXF 45
     'scale_factor'
          BD,	DXF 48
     'align_angle'
          BD,	DXF 49
     'sweep_entity_transmatrix'
          BD*,	DXF 46
     'path_entity_transmatrix'
          BD*,	DXF 47
     'is_solid'
          B,	DXF 290
     'sweep_alignment_flags'
          BS,	DXF 70
     'path_flags'
          BS,	DXF 71
     'align_start'
          B,	DXF 292
     'bank'
          B,	DXF 293
     'base_point_set'
          B,	DXF 294
     'sweep_entity_transform_computed'
          B,	DXF 295
     'path_entity_transform_computed'
          B,	DXF 296
     'reference_vector_for_controlling_twist'
          3BD,	DXF 11
     'sweep_entity'
          H
     'path_entity'
          H

   *TABLE*

     'parent'
          struct _dwg_object_entity*
     'ldata'
          Dwg_LinkedData
     'tdata'
          Dwg_LinkedTableData
     'fdata'
          Dwg_FormattedTableData
     'tablestyle'
          H,	DXF 342
     'unknown_rc'
          RC
     'unknown_h'
          H
     'unknown_bl'
          BL
     'unknown_b'
          B
     'unknown_bl1'
          BL
     'ins_pt'
          3BD,	DXF 10
     'scale'
          3BD_1,	DXF 41
     'scale_flag'
          BB
     'rotation'
          BD,	DXF 50
     'extrusion'
          BE,	DXF 210
     'has_attribs'
          B,	DXF 66
     'num_owned'
          BL
     'flag_for_table_value'
          BS,	DXF 90
     'horiz_direction'
          3BD,	DXF 11
     'num_cols'
          BL,	DXF 92
     'num_rows'
          BL,	DXF 91
     'num_cells'
          unsigned long
     'col_widths'
          BD*,	DXF 142
     'row_heights'
          BD*,	DXF 141
     'cells'
          Dwg_TABLE_Cell*
     'has_table_overrides'
          B
     'table_flag_override'
          BL,	DXF 93
     'title_suppressed'
          B,	DXF 280
     'header_suppressed'
          B,	DXF 281
     'flow_direction'
          BS,	DXF 70
     'horiz_cell_margin'
          BD,	DXF 40
     'vert_cell_margin'
          BD,	DXF 41
     'title_row_color'
          CMC,	DXF 64
     'header_row_color'
          CMC,	DXF 64
     'data_row_color'
          CMC,	DXF 64
     'title_row_fill_none'
          B,	DXF 283
     'header_row_fill_none'
          B,	DXF 283
     'data_row_fill_none'
          B,	DXF 283
     'title_row_fill_color'
          CMC,	DXF 63
     'header_row_fill_color'
          CMC,	DXF 63
     'data_row_fill_color'
          CMC,	DXF 63
     'title_row_alignment'
          BS,	DXF 170
     'header_row_alignment'
          BS,	DXF 170
     'data_row_alignment'
          BS,	DXF 170
     'title_text_style'
          H,	DXF 7
     'header_text_style'
          H,	DXF 7
     'data_text_style'
          H,	DXF 7
     'title_row_height'
          BD,	DXF 140
     'header_row_height'
          BD,	DXF 140
     'data_row_height'
          BD,	DXF 140
     'has_border_color_overrides'
          B
     'border_color_overrides_flag'
          BL,	DXF 94
     'title_horiz_top_color'
          CMC,	DXF 64
     'title_horiz_ins_color'
          CMC,	DXF 65
     'title_horiz_bottom_color'
          CMC,	DXF 66
     'title_vert_left_color'
          CMC,	DXF 63
     'title_vert_ins_color'
          CMC,	DXF 68
     'title_vert_right_color'
          CMC,	DXF 69
     'header_horiz_top_color'
          CMC,	DXF 64
     'header_horiz_ins_color'
          CMC,	DXF 65
     'header_horiz_bottom_color'
          CMC,	DXF 66
     'header_vert_left_color'
          CMC,	DXF 63
     'header_vert_ins_color'
          CMC,	DXF 68
     'header_vert_right_color'
          CMC,	DXF 69
     'data_horiz_top_color'
          CMC,	DXF 64
     'data_horiz_ins_color'
          CMC,	DXF 65
     'data_horiz_bottom_color'
          CMC,	DXF 66
     'data_vert_left_color'
          CMC,	DXF 63
     'data_vert_ins_color'
          CMC,	DXF 68
     'data_vert_right_color'
          CMC,	DXF 69
     'has_border_lineweight_overrides'
          B
     'border_lineweight_overrides_flag'
          BL,	DXF 95
     'title_horiz_top_linewt'
          BS
     'title_horiz_ins_linewt'
          BS
     'title_horiz_bottom_linewt'
          BS
     'title_vert_left_linewt'
          BS
     'title_vert_ins_linewt'
          BS
     'title_vert_right_linewt'
          BS
     'header_horiz_top_linewt'
          BS
     'header_horiz_ins_linewt'
          BS
     'header_horiz_bottom_linewt'
          BS
     'header_vert_left_linewt'
          BS
     'header_vert_ins_linewt'
          BS
     'header_vert_right_linewt'
          BS
     'data_horiz_top_linewt'
          BS
     'data_horiz_ins_linewt'
          BS
     'data_horiz_bottom_linewt'
          BS
     'data_vert_left_linewt'
          BS
     'data_vert_ins_linewt'
          BS
     'data_vert_right_linewt'
          BS
     'has_border_visibility_overrides'
          B
     'border_visibility_overrides_flag'
          BL,	DXF 96
     'title_horiz_top_visibility'
          BS
     'title_horiz_ins_visibility'
          BS
     'title_horiz_bottom_visibility'
          BS
     'title_vert_left_visibility'
          BS
     'title_vert_ins_visibility'
          BS
     'title_vert_right_visibility'
          BS
     'header_horiz_top_visibility'
          BS
     'header_horiz_ins_visibility'
          BS
     'header_horiz_bottom_visibility'
          BS
     'header_vert_left_visibility'
          BS
     'header_vert_ins_visibility'
          BS
     'header_vert_right_visibility'
          BS
     'data_horiz_top_visibility'
          BS
     'data_horiz_ins_visibility'
          BS
     'data_horiz_bottom_visibility'
          BS
     'data_vert_left_visibility'
          BS
     'data_vert_ins_visibility'
          BS
     'data_vert_right_visibility'
          BS
     'block_header'
          H,	DXF 2
     'first_attrib'
          H
     'last_attrib'
          H
     'attribs'
          H*
     'seqend'
          H
     'title_row_style_override'
          H,	DXF 7
     'header_row_style_override'
          H
     'data_row_style_override'
          H
     'unknown_bs'
          BS
     'hor_dir'
          3BD,	DXF 11
     'has_break_data'
          BL
     'break_flag'
          BL
     'break_flow_direction'
          BL
     'break_spacing'
          BD
     'break_unknown1'
          BL
     'break_unknown2'
          BL
     'num_break_heights'
          BL
     'break_heights'
          Dwg_TABLE_BreakHeight*
     'num_break_rows'
          BL
     'break_rows'
          Dwg_TABLE_BreakRow*

   *TEXT*

     'parent'
          struct _dwg_object_entity*
     'dataflags'
          RC
     'elevation'
          RD,	DXF 30
     'ins_pt'
          2DPOINT,	DXF 10
     'alignment_pt'
          2DPOINT,	DXF 11
     'extrusion'
          BE,	DXF 210
     'thickness'
          RD,	DXF 39
     'oblique_angle'
          RD,	DXF 51
     'rotation'
          RD,	DXF 50
     'height'
          RD,	DXF 40
     'width_factor'
          RD,	DXF 41
     'text_value'
          T,	DXF 1
     'generation'
          BS,	DXF 71
     'horiz_alignment'
          BS,	DXF 72
     'vert_alignment'
          BS,	DXF 73
     'style'
          H,	DXF 7

   *TOLERANCE*

     'parent'
          struct _dwg_object_entity*
     'unknown_short'
          BS
     'height'
          BD
     'dimgap'
          BD
     'ins_pt'
          3BD,	DXF 10
     'x_direction'
          3BD,	DXF 11
     'extrusion'
          BE
     'text_value'
          T,	DXF 1
     'dimstyle'
          H,	DXF 3

   *TRACE*

     'parent'
          struct _dwg_object_entity*
     'thickness'
          BT,	DXF 39
     'elevation'
          BD,	DXF 38
     'corner1'
          2RD,	DXF 10
     'corner2'
          2RD,	DXF 11
     'corner3'
          2RD,	DXF 12
     'corner4'
          2RD,	DXF 13
     'extrusion'
          BE,	DXF 210

   *UNKNOWN_ENT*

     'parent'
          struct _dwg_object_entity*

   *VERTEX_2D*

     'parent'
          struct _dwg_object_entity*
     'flag'
          RC,	DXF 70
     'point'
          3BD,	DXF 10
     'start_width'
          BD,	DXF 40
     'end_width'
          BD,	DXF 41
     'id'
          BL,	DXF 91
     'bulge'
          BD,	DXF 42
     'tangent_dir'
          BD,	DXF 50

   *VERTEX_3D*

     'parent'
          struct _dwg_object_entity*
     'flag'
          RC,	DXF 70
     'point'
          3BD,	DXF 10

   *VERTEX_MESH*

     *Note VERTEX_3D::

   *VERTEX_PFACE*

     *Note VERTEX_3D::

   *VERTEX_PFACE_FACE*

     'parent'
          struct _dwg_object_entity*
     'flag'
          RC,	DXF 70
     'vertind[4]'
          BS

   *VIEWPORT*

     'parent'
          struct _dwg_object_entity*
     'center'
          3BD,	DXF 10
     'width'
          BD,	DXF 40
     'height'
          BD,	DXF 41
     'on_off'
          RS,	DXF 68
     'id'
          RS,	DXF 69
     'view_target'
          3BD,	DXF 17
     'VIEWDIR'
          3BD,	DXF 16
     'twist_angle'
          BD,	DXF 51
     'VIEWSIZE'
          BD,	DXF 45
     'lens_length'
          BD,	DXF 42
     'front_clip_z'
          BD,	DXF 43
     'back_clip_z'
          BD,	DXF 44
     'SNAPANG'
          BD,	DXF 50
     'VIEWCTR'
          2RD,	DXF 12
     'SNAPBASE'
          2RD,	DXF 13
     'SNAPUNIT'
          2RD,	DXF 14
     'GRIDUNIT'
          2RD,	DXF 15
     'circle_zoom'
          BS,	DXF 72
     'grid_major'
          BS,	DXF 61
     'num_frozen_layers'
          BL
     'status_flag'
          BL,	DXF 90
     'style_sheet'
          T,	DXF 1
     'render_mode'
          RC,	DXF 281
     'ucs_at_origin'
          B,	DXF 74
     'UCSVP'
          B,	DXF 71
     'ucsorg'
          3BD,	DXF 110
     'ucsxdir'
          3BD,	DXF 111
     'ucsydir'
          3BD,	DXF 112
     'ucs_elevation'
          BD,	DXF 146
     'UCSORTHOVIEW'
          BS,	DXF 79
     'shadeplot_mode'
          BS,	DXF 170
     'use_default_lights'
          B,	DXF 292
     'default_lighting_type'
          RC,	DXF 282
     'brightness'
          BD,	DXF 141
     'contrast'
          BD,	DXF 142
     'ambient_color'
          CMC,	DXF 63
     'vport_entity_header'
          H
     'frozen_layers'
          H*,	DXF 341
     'clip_boundary'
          H,	DXF 340
     'named_ucs'
          H,	DXF 345
     'base_ucs'
          H,	DXF 346
     'background'
          H,	DXF 332
     'visualstyle'
          H,	DXF 348
     'shadeplot'
          H,	DXF 333
     'sun'
          H,	DXF 361

   *VISIBILITYGRIPENTITY*

     'parent'
          struct _dwg_object_entity*

   *VISIBILITYPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*

   *WIPEOUT*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          BL,	DXF 90
     'pt0'
          3BD,	DXF 10
     'uvec'
          3BD,	DXF 11
     'vvec'
          3BD,	DXF 12
     'size'
          2RD,	DXF 13
     'display_props'
          BS,	DXF 70
     'clipping'
          B,	DXF 280
     'brightness'
          RC,	DXF 281
     'contrast'
          RC,	DXF 282
     'fade'
          RC,	DXF 283
     'clip_mode'
          B,	DXF 290
     'clip_boundary_type'
          BS,	DXF 71
     'num_clip_verts'
          BL,	DXF 91
     'clip_verts'
          2RD*,	DXF 14
     'imagedef'
          H,	DXF 340
     'imagedefreactor'
          H,	DXF 360

   *XLINE*

     *Note RAY::

   *XYPARAMETERENTITY*

     'parent'
          struct _dwg_object_entity*


File: LibreDWG.info,  Node: OBJECTS,  Prev: ENTITIES,  Up: Objects

4.3 OBJECTS
===========

All non-graphical objects with its fields.  *Note Common Object fields::

   *ACMECOMMANDHISTORY*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS

   *ACMESCOPE*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS

   *ACMESTATEMGR*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS

   *ACSH_BOOLEAN_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'operation'
          RCd,	DXF 280
     'operand1'
          BL,	DXF 92
     'operand2'
          BL,	DXF 93

   *ACSH_BOX_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'length'
          BD,	DXF 40
     'width'
          BD,	DXF 41
     'height'
          BD,	DXF 42

   *ACSH_BREP_CLASS*

     'parent'
          struct _dwg_object_object*
     'acis_empty'
          B,	DXF 290
     'unknown'
          B
     'version'
          BS,	DXF 70
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **,	DXF 1
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC,	DXF 2
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H,	DXF 350
     'has_revision_guid'
          B
     'acis_empty_bit'
          B
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91

   *ACSH_CHAMFER_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'bl92'
          BL,	DXF 92
     'base_dist'
          BD,	DXF 41
     'other_dist'
          BD,	DXF 42
     'num_edges'
          BL,	DXF 93
     'edges'
          BL*,	DXF 94
     'bl95'
          BL,	DXF 95

   *ACSH_CONE_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'height'
          BD,	DXF 40
     'major_radius'
          BD,	DXF 41
     'minor_radius'
          BD,	DXF 42
     'x_radius'
          BD,	DXF 43

   *ACSH_CYLINDER_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'height'
          BD,	DXF 40
     'major_radius'
          BD,	DXF 41
     'minor_radius'
          BD,	DXF 42
     'x_radius'
          BD,	DXF 43

   *ACSH_EXTRUSION_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'direction'
          3BD,	DXF 10
     'bl92'
          BL,	DXF 92
     'shsw_text_size'
          BL,	DXF 90
     'shsw_text'
          TF,	DXF 310
     'shsw_bl93'
          BL,	DXF 93
     'shsw_text2_size'
          BL,	DXF 90
     'shsw_text2'
          TF,	DXF 310
     'draft_angle'
          BD,	DXF 42
     'start_draft_dist'
          BD,	DXF 43
     'end_draft_dist'
          BD,	DXF 44
     'scale_factor'
          BD,	DXF 45
     'twist_angle'
          BD,	DXF 48
     'align_angle'
          BD,	DXF 49
     'sweepentity_transform'
          BD*,	DXF 46
     'pathentity_transform'
          BD*,	DXF 47
     'align_option'
          RC,	DXF 70
     'miter_option'
          RC,	DXF 71
     'has_align_start'
          B,	DXF 290
     'bank'
          B,	DXF 292
     'check_intersections'
          B,	DXF 293
     'shsw_b294'
          B,	DXF 294
     'shsw_b295'
          B,	DXF 295
     'shsw_b296'
          B,	DXF 296
     'pt2'
          3BD,	DXF 11

   *ACSH_FILLET_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'bl92'
          BL,	DXF 92
     'num_edges'
          BL,	DXF 93
     'edges'
          BL*,	DXF 94
     'num_radiuses'
          BL,	DXF 95
     'num_startsetbacks'
          BL,	DXF 96
     'num_endsetbacks'
          BL,	DXF 97
     'radiuses'
          BD*,	DXF 41
     'startsetbacks'
          BD*,	DXF 42
     'endsetbacks'
          BD*,	DXF 43

   *ACSH_HISTORY_CLASS*

     'parent'
          struct _dwg_object_object*
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'owner'
          H,	DXF 360
     'h_nodeid'
          BL,	DXF 92
     'show_history'
          B,	DXF 280
     'record_history'
          B,	DXF 281

   *ACSH_LOFT_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'num_crosssects'
          BL,	DXF 92
     'crosssects'
          H*
     'num_guides'
          BL,	DXF 95
     'guides'
          H*

   *ACSH_PYRAMID_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'height'
          BD,	DXF 40
     'sides'
          BL,	DXF 92
     'radius'
          BD,	DXF 41
     'topradius'
          BD,	DXF 42

   *ACSH_REVOLVE_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'axis_pt'
          3BD,	DXF 10
     'direction'
          2RD,	DXF 11
     'revolve_angle'
          BD,	DXF 40
     'start_angle'
          BD,	DXF 41
     'draft_angle'
          BD,	DXF 43
     'bd44'
          BD,	DXF 44
     'bd45'
          BD,	DXF 45
     'twist_angle'
          BD,	DXF 46
     'b290'
          B,	DXF 290
     'is_close_to_axis'
          B,	DXF 291
     'sweep_entity'
          H

   *ACSH_SPHERE_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'radius'
          BD,	DXF 40

   *ACSH_SWEEP_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'direction'
          3BD,	DXF 10
     'bl92'
          BL,	DXF 92
     'shsw_text_size'
          BL,	DXF 90
     'shsw_text'
          TF,	DXF 310
     'shsw_bl93'
          BL,	DXF 93
     'shsw_text2_size'
          BL,	DXF 90
     'shsw_text2'
          TF,	DXF 310
     'draft_angle'
          BD,	DXF 42
     'start_draft_dist'
          BD,	DXF 43
     'end_draft_dist'
          BD,	DXF 44
     'scale_factor'
          BD,	DXF 45
     'twist_angle'
          BD,	DXF 48
     'align_angle'
          BD,	DXF 49
     'sweepentity_transform'
          BD*,	DXF 46
     'pathentity_transform'
          BD*,	DXF 47
     'align_option'
          RC,	DXF 70
     'miter_option'
          RC,	DXF 71
     'has_align_start'
          B,	DXF 290
     'bank'
          B,	DXF 292
     'check_intersections'
          B,	DXF 293
     'shsw_b294'
          B,	DXF 294
     'shsw_b295'
          B,	DXF 295
     'shsw_b296'
          B,	DXF 296
     'pt2'
          3BD,	DXF 11

   *ACSH_TORUS_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'major_radius'
          BD,	DXF 40
     'minor_radius'
          BD,	DXF 41

   *ACSH_WEDGE_CLASS*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'history_node'
          Dwg_ACSH_HistoryNode
     'major'
          BL,	DXF 90
     'minor'
          BL,	DXF 91
     'length'
          BD,	DXF 40
     'width'
          BD,	DXF 41
     'height'
          BD,	DXF 42

   *ALDIMOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'dimline_pt'
          3BD,	DXF 11

   *ANGDIMOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'arc_pt'
          3BD,	DXF 11

   *ANNOTSCALEOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340

   *APPID*

   APPID is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'unknown'
          RC,	DXF 71

   *APPID_CONTROL*

   APPID_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *ASSOC2DCONSTRAINTGROUP*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'geometry_status'
          BL,	DXF 90
     'owningnetwork'
          H,	DXF 330
     'actionbody'
          H,	DXF 360
     'action_index'
          BL,	DXF 90
     'max_assoc_dep_index'
          BL,	DXF 90
     'num_deps'
          BL,	DXF 90
     'deps'
          Dwg_ASSOCACTION_Deps*
     'num_owned_params'
          BL
     'owned_params'
          H*
     'num_values'
          BL
     'values'
          struct _dwg_VALUEPARAM*
     'version'
          BL,	DXF 90
     'b1'
          B,	DXF 70
     'workplane[3]'
          3BD
     'h1'
          H,	DXF 360
     'num_actions'
          BL,	DXF 90
     'actions'
          H*,	DXF 360
     'num_nodes'
          BL,	DXF 90
     'nodes'
          Dwg_CONSTRAINTGROUPNODE*

   *ASSOC3POINTANGULARDIMACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aaab_version'
          BS,	DXF 90
     'assoc_dep'
          H,	DXF 330
     'aab_version'
          BS,	DXF 90
     'actionbody'
          H,	DXF 360
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'class_version'
          BS,	DXF 90
     'r_node'
          H,	DXF 330
     'd_node'
          H,	DXF 330
     'assocdep'
          H,	DXF 330

   *ASSOCACTION*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'geometry_status'
          BL,	DXF 90
     'owningnetwork'
          H,	DXF 330
     'actionbody'
          H,	DXF 360
     'action_index'
          BL,	DXF 90
     'max_assoc_dep_index'
          BL,	DXF 90
     'num_deps'
          BL,	DXF 90
     'deps'
          Dwg_ASSOCACTION_Deps*
     'num_owned_params'
          BL
     'owned_params'
          H*
     'num_values'
          BL
     'values'
          struct _dwg_VALUEPARAM*

   *ASSOCACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1

   *ASSOCALIGNEDDIMACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aaab_version'
          BS,	DXF 90
     'assoc_dep'
          H,	DXF 330
     'aab_version'
          BS,	DXF 90
     'actionbody'
          H,	DXF 360
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'class_version'
          BL,	DXF 90
     'r_node'
          H,	DXF 330
     'd_node'
          H,	DXF 330

   *ASSOCARRAYACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'aaab_version'
          BL,	DXF 90
     'paramblock'
          T,	DXF 1
     'transmatrix'
          BD*,	DXF 40

   *ASSOCARRAYMODIFYACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'aaab_version'
          BL,	DXF 90
     'paramblock'
          T,	DXF 1
     'transmatrix'
          BD*,	DXF 40
     'status'
          BS,	DXF 70
     'num_items'
          BL,	DXF 90
     'items'
          Dwg_ARRAYITEMLOCATOR*

   *ASSOCASMBODYACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'asdap_class_version'
          BL,	DXF 90
     'dep'
          H,	DXF 330
     'class_version'
          BL,	DXF 90
     'acis_empty'
          B
     'unknown'
          B
     'version'
          BS
     'num_blocks'
          BL
     'block_size'
          BL*
     'encr_sat_data'
          char **
     'sab_size'
          BL
     'acis_data'
          RC*
     'wireframe_data_present'
          B
     'point_present'
          B
     'point'
          3BD
     'isolines'
          BL
     'isoline_present'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*
     'num_silhouettes'
          BL
     'silhouettes'
          Dwg_3DSOLID_silhouette*
     '_dxf_sab_converted'
          B
     'acis_empty2'
          B
     'extra_acis_data'
          struct _dwg_entity_3DSOLID*
     'num_materials'
          BL
     'materials'
          Dwg_3DSOLID_material*
     'revision_guid[39]'
          RC
     'revision_major'
          BL
     'revision_minor1'
          BS
     'revision_minor2'
          BS
     'revision_bytes[9]'
          RC
     'end_marker'
          BL
     'history_id'
          H
     'has_revision_guid'
          B
     'acis_empty_bit'
          B

   *ASSOCBLENDSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'b1'
          B,	DXF 290
     'b2'
          B,	DXF 291
     'b3'
          B,	DXF 292
     'b4'
          B,	DXF 293
     'b5'
          B,	DXF 294
     'blend_options'
          BS,	DXF 72
     'bs2'
          BS,	DXF 73

   *ASSOCCOMPOUNDACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90
     'bs1'
          BS,	DXF 90
     'num_params'
          BL,	DXF 90
     'params'
          H*,	DXF 360
     'has_child_param'
          B
     'child_status'
          BS,	DXF 90
     'child_id'
          BL,	DXF 90
     'child_param'
          H,	DXF 330
     'h330_2'
          H,	DXF 330
     'bl2'
          BL,	DXF 90
     'h330_3'
          H,	DXF 330

   *ASSOCDEPENDENCY*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'status'
          BL,	DXF 90
     'is_read_dep'
          B,	DXF 290
     'is_write_dep'
          B,	DXF 290
     'is_attached_to_object'
          B,	DXF 290
     'is_delegating_to_owning_action'
          B,	DXF 290
     'order'
          BLd,	DXF 90
     'dep_on'
          H,	DXF 330
     'has_name'
          B,	DXF 290
     'name'
          T,	DXF 1
     'depbodyid'
          BLd,	DXF 90
     'readdep'
          H,	DXF 330
     'dep_body'
          H,	DXF 360
     'node'
          H,	DXF 330

   *ASSOCDIMDEPENDENCYBODY*

     'parent'
          struct _dwg_object_object*
     'adb_version'
          BS,	DXF 90
     'dimbase_version'
          BS,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90

   *ASSOCEDGEACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'asdap_class_version'
          BL,	DXF 90
     'dep'
          H,	DXF 330
     'class_version'
          BL,	DXF 90
     'param'
          H,	DXF 330
     'has_action'
          B,	DXF 290
     'action_type'
          BL,	DXF 90
     'subent'
          H

   *ASSOCEDGECHAMFERACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90

   *ASSOCEDGEFILLETACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90

   *ASSOCEXTENDSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'option'
          RC,	DXF 280

   *ASSOCEXTRUDEDSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCFACEACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'asdap_class_version'
          BL,	DXF 90
     'dep'
          H,	DXF 330
     'class_version'
          BL,	DXF 90
     'index'
          BL,	DXF 90

   *ASSOCFILLETSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'status'
          BS,	DXF 70
     'pt1'
          2RD,	DXF 10
     'pt2'
          2RD,	DXF 10

   *ASSOCGEOMDEPENDENCY*

     'parent'
          struct _dwg_object_object*
     'assocdep'
          Dwg_Object_ASSOCDEPENDENCY
     'class_version'
          BS,	DXF 90
     'enabled'
          B,	DXF 290
     'classname'
          T,	DXF 1
     'dependent_on_compound_object'
          B,	DXF 290

   *ASSOCLOFTEDSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCMLEADERACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aaab_version'
          BS,	DXF 90
     'assoc_dep'
          H,	DXF 330
     'aab_version'
          BS,	DXF 90
     'actionbody'
          H,	DXF 360
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'class_version'
          BL,	DXF 90
     'num_actions'
          BL,	DXF 90
     'actions'
          Dwg_ASSOCACTIONBODY_action*

   *ASSOCNETWORK*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'geometry_status'
          BL,	DXF 90
     'owningnetwork'
          H,	DXF 330
     'actionbody'
          H,	DXF 360
     'action_index'
          BL,	DXF 90
     'max_assoc_dep_index'
          BL,	DXF 90
     'num_deps'
          BL,	DXF 90
     'deps'
          Dwg_ASSOCACTION_Deps*
     'num_owned_params'
          BL
     'owned_params'
          H*
     'num_values'
          BL
     'values'
          struct _dwg_VALUEPARAM*
     'network_version'
          BS,	DXF 90
     'network_action_index'
          BL,	DXF 90
     'num_actions'
          BL,	DXF 90
     'actions'
          Dwg_ASSOCACTION_Deps*
     'num_owned_actions'
          BL,	DXF 90
     'owned_actions'
          H*,	DXF 330

   *ASSOCNETWORKSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCOBJECTACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'asdap_class_version'
          BL,	DXF 90
     'dep'
          H,	DXF 330
     'class_version'
          BS,	DXF 90

   *ASSOCOFFSETSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'b1'
          B,	DXF 290

   *ASSOCORDINATEDIMACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aaab_version'
          BS,	DXF 90
     'assoc_dep'
          H,	DXF 330
     'aab_version'
          BS,	DXF 90
     'actionbody'
          H,	DXF 360
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'class_version'
          BL,	DXF 90
     'r_node'
          H,	DXF 330
     'd_node'
          H,	DXF 330

   *ASSOCOSNAPPOINTREFACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90
     'bs1'
          BS,	DXF 90
     'num_params'
          BL,	DXF 90
     'params'
          H*,	DXF 360
     'has_child_param'
          B
     'child_status'
          BS,	DXF 90
     'child_id'
          BL,	DXF 90
     'child_param'
          H,	DXF 330
     'h330_2'
          H,	DXF 330
     'bl2'
          BL,	DXF 90
     'h330_3'
          H,	DXF 330
     'status'
          BS,	DXF 90
     'osnap_mode'
          RC,	DXF 90
     'param'
          BD,	DXF 40

   *ASSOCPATCHSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCPATHACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90
     'bs1'
          BS,	DXF 90
     'num_params'
          BL,	DXF 90
     'params'
          H*,	DXF 360
     'has_child_param'
          B
     'child_status'
          BS,	DXF 90
     'child_id'
          BL,	DXF 90
     'child_param'
          H,	DXF 330
     'h330_2'
          H,	DXF 330
     'bl2'
          BL,	DXF 90
     'h330_3'
          H,	DXF 330
     'version'
          BL,	DXF 90

   *ASSOCPERSSUBENTMANAGER*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'unknown_3'
          BL,	DXF 90
     'unknown_0'
          BL,	DXF 90
     'unknown_2'
          BL,	DXF 90
     'num_steps'
          BL,	DXF 90
     'num_subents'
          BL,	DXF 90
     'steps'
          BL*,	DXF 90
     'subents'
          BL*
     'unknown_bl6'
          BL,	DXF 90
     'unknown_bl6a'
          BL,	DXF 90
     'unknown_bl7a'
          BL,	DXF 90
     'unknown_bl7'
          BL,	DXF 90
     'unknown_bl8'
          BL,	DXF 90
     'unknown_bl9'
          BL,	DXF 90
     'unknown_bl10'
          BL,	DXF 90
     'unknown_bl11'
          BL,	DXF 90
     'unknown_bl12'
          BL,	DXF 90
     'unknown_bl13'
          BL,	DXF 90
     'unknown_bl14'
          BL,	DXF 90
     'unknown_bl15'
          BL,	DXF 90
     'unknown_bl16'
          BL,	DXF 90
     'unknown_bl17'
          BL,	DXF 90
     'unknown_bl18'
          BL,	DXF 90
     'unknown_bl19'
          BL,	DXF 90
     'unknown_bl20'
          BL,	DXF 90
     'unknown_bl21'
          BL,	DXF 90
     'unknown_bl22'
          BL,	DXF 90
     'unknown_bl23'
          BL,	DXF 90
     'unknown_bl24'
          BL,	DXF 90
     'unknown_bl25'
          BL,	DXF 90
     'unknown_bl26'
          BL,	DXF 90
     'unknown_bl27'
          BL,	DXF 90
     'unknown_bl28'
          BL,	DXF 90
     'unknown_bl29'
          BL,	DXF 90
     'unknown_bl30'
          BL,	DXF 90
     'unknown_bl31'
          BL,	DXF 90
     'unknown_bl32'
          BL,	DXF 90
     'unknown_bl33'
          BL,	DXF 90
     'unknown_bl34'
          BL,	DXF 90
     'unknown_bl35'
          BL,	DXF 90
     'unknown_bl36'
          BL,	DXF 90
     'unknown_b37'
          B,	DXF 290

   *ASSOCPLANESURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCPOINTREFACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90
     'bs1'
          BS,	DXF 90
     'num_params'
          BL,	DXF 90
     'params'
          H*,	DXF 360
     'has_child_param'
          B
     'child_status'
          BS,	DXF 90
     'child_id'
          BL,	DXF 90
     'child_param'
          H,	DXF 330
     'h330_2'
          H,	DXF 330
     'bl2'
          BL,	DXF 90
     'h330_3'
          H,	DXF 330

   *ASSOCRESTOREENTITYSTATEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'entity'
          H,	DXF 330

   *ASSOCREVOLVEDSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCROTATEDDIMACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aaab_version'
          BS,	DXF 90
     'assoc_dep'
          H,	DXF 330
     'aab_version'
          BS,	DXF 90
     'actionbody'
          H,	DXF 360
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'class_version'
          BS,	DXF 90
     'r_node'
          H,	DXF 330
     'd_node'
          H,	DXF 330

   *ASSOCSWEPTSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90

   *ASSOCTRIMSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'aab_version'
          BL,	DXF 90
     'pab'
          Dwg_ASSOCPARAMBASEDACTIONBODY
     'sab'
          Dwg_ASSOCSURFACEACTIONBODY
     'pbsab_status'
          BL,	DXF 90
     'class_version'
          BL,	DXF 90
     'b1'
          B,	DXF 290
     'b2'
          B,	DXF 290
     'distance'
          BD,	DXF 40

   *ASSOCVALUEDEPENDENCY*

     'parent'
          struct _dwg_object_object*
     'assocdep'
          Dwg_Object_ASSOCDEPENDENCY

   *ASSOCVARIABLE*

     'parent'
          struct _dwg_object_object*
     'av_class_version'
          BS,	DXF 90
     'class_version'
          BS,	DXF 90
     'geometry_status'
          BL,	DXF 90
     'owningnetwork'
          H,	DXF 330
     'actionbody'
          H,	DXF 360
     'action_index'
          BL,	DXF 90
     'max_assoc_dep_index'
          BL,	DXF 90
     'num_deps'
          BL,	DXF 90
     'deps'
          Dwg_ASSOCACTION_Deps*
     'num_owned_params'
          BL
     'owned_params'
          H*
     'num_values'
          BL
     'values'
          struct _dwg_VALUEPARAM*
     'name'
          T,	DXF 1
     't58'
          T,	DXF 1
     'evaluator'
          T,	DXF 1
     'desc'
          T,	DXF 1
     'value'
          Dwg_EvalVariant
     'has_t78'
          B,	DXF 290
     't78'
          T,	DXF 1
     'b290'
          B,	DXF 290

   *ASSOCVERTEXACTIONPARAM*

     'parent'
          struct _dwg_object_object*
     'is_r2013'
          BS,	DXF 90
     'aap_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'asdap_class_version'
          BL,	DXF 90
     'dep'
          H,	DXF 330
     'class_version'
          BL,	DXF 90
     'pt'
          3BD,	DXF 10

   *BLKREFOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'rotation'
          BD,	DXF 50
     'ins_pt'
          3BD,	DXF 10
     'scale_factor'
          3BD_1,	DXF 42

   *BLOCKALIGNEDCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'value'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKALIGNMENTGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93
     'orientation'
          3BD_1,	DXF 140

   *BLOCKALIGNMENTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'align_perpendicular'
          B,	DXF 280

   *BLOCKANGULARCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'center_pt'
          3BD,	DXF 1011
     'end_pt'
          3BD,	DXF 1012
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'angle'
          BD,	DXF 140
     'orientation_on_both_grips'
          B,	DXF 280
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKARRAYACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'column_offset'
          BD,	DXF 140
     'row_offset'
          BD,	DXF 141

   *BLOCKBASEPOINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_pt'
          3BD,	DXF 1010
     'num_propinfos'
          BL,	DXF 93
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'pt'
          3BD,	DXF 1011
     'base_pt'
          3BD,	DXF 1012

   *BLOCKDIAMETRICCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'distance'
          BD,	DXF 140
     'orientation_on_both_grips'
          B
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKFLIPACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'action_offset_x'
          BD
     'action_offset_y'
          BD
     'angle_offset'
          BD

   *BLOCKFLIPGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93
     'combined_state'
          BL,	DXF 93
     'orientation'
          3BD_1,	DXF 140
     'upd_state'
          BS
     'state'
          BS

   *BLOCKFLIPPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'flip_label'
          T,	DXF 305
     'flip_label_desc'
          T,	DXF 306
     'base_state_label'
          T,	DXF 307
     'flipped_state_label'
          T,	DXF 308
     'def_label_pt'
          3BD,	DXF 1012
     'bl96'
          BL,	DXF 96
     'tooltip'
          T,	DXF 309

   *BLOCKGRIPLOCATIONCOMPONENT*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'grip_type'
          BL,	DXF 91
     'grip_expr'
          T,	DXF 300

   *BLOCKHORIZONTALCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'value'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKLINEARCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'value'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKLINEARGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93
     'orientation'
          3BD_1,	DXF 140

   *BLOCKLINEARPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'distance_name'
          T,	DXF 305
     'distance_desc'
          T,	DXF 306
     'distance'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKLOOKUPACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'numelems'
          BL
     'numrows'
          BL,	DXF 92
     'numcols'
          BL,	DXF 93
     'lut'
          Dwg_BLOCKLOOKUPACTION_lut*
     'exprs'
          TV*,	DXF 302
     'b280'
          B,	DXF 280

   *BLOCKLOOKUPGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKLOOKUPPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_pt'
          3BD,	DXF 1010
     'num_propinfos'
          BL,	DXF 93
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'lookup_name'
          T,	DXF 303
     'lookup_desc'
          T,	DXF 304
     'index'
          BL,	DXF 94
     'unknown_t'
          T

   *BLOCKMOVEACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'action_offset_x'
          BD,	DXF 140
     'action_offset_y'
          BD,	DXF 141
     'angle_offset'
          BD

   *BLOCKPARAMDEPENDENCYBODY*

     'parent'
          struct _dwg_object_object*
     'adb_version'
          BS,	DXF 90
     'dimbase_version'
          BS,	DXF 90
     'name'
          T,	DXF 1
     'class_version'
          BS,	DXF 90

   *BLOCKPOINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_pt'
          3BD,	DXF 1010
     'num_propinfos'
          BL,	DXF 93
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'position_name'
          T,	DXF 303
     'position_desc'
          T,	DXF 304
     'def_label_pt'
          3BD,	DXF 1011

   *BLOCKPOLARGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKPOLARPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'angle_name'
          T,	DXF 305
     'angle_desc'
          T,	DXF 306
     'distance_name'
          T,	DXF 305
     'distance_desc'
          T,	DXF 306
     'offset'
          BD,	DXF 140
     'angle_value_set'
          Dwg_BLOCKPARAMVALUESET
     'distance_value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKPOLARSTRETCHACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'num_pts'
          BL,	DXF 72
     'pts'
          2RD*,	DXF 10
     'num_hdls'
          BL,	DXF 73
     'hdls'
          H*,	DXF 331
     'shorts'
          BS*,	DXF 74
     'num_codes'
          BL,	DXF 75
     'codes'
          BL*,	DXF 76

   *BLOCKPROPERTIESTABLE*

     'parent'
          struct _dwg_object_object*

   *BLOCKPROPERTIESTABLEGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKRADIALCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'distance'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKREPRESENTATION*

     'parent'
          struct _dwg_object_object*
     'flag'
          BS,	DXF 70
     'block'
          H,	DXF 340

   *BLOCKROTATEACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'offset'
          3BD,	DXF 1011
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'dependent'
          B,	DXF 280
     'base_pt'
          3BD,	DXF 1012

   *BLOCKROTATIONGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKROTATIONPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'def_base_angle_pt'
          3BD,	DXF 1011
     'angle_name'
          T,	DXF 305
     'angle_desc'
          T,	DXF 306
     'angle'
          BD,	DXF 140
     'angle_value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKSCALEACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'offset'
          3BD,	DXF 1011
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'dependent'
          B,	DXF 280
     'base_pt'
          3BD,	DXF 1012

   *BLOCKSTRETCHACTION*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'display_location'
          3BD,	DXF 1010
     'num_actions'
          BL,	DXF 70
     'actions'
          BL*,	DXF 91
     'num_deps'
          BL,	DXF 71
     'deps'
          H*,	DXF 330
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'num_pts'
          BL,	DXF 72
     'pts'
          2RD*,	DXF 1011
     'num_hdls'
          BL,	DXF 73
     'hdls'
          H*,	DXF 331
     'shorts'
          BS*,	DXF 74
     'num_codes'
          BL,	DXF 75
     'codes'
          BL*,	DXF 76
     'action_offset_x'
          BD,	DXF 140
     'action_offset_y'
          BD,	DXF 141
     'angle_offset'
          BD

   *BLOCKUSERPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_pt'
          3BD,	DXF 1010
     'num_propinfos'
          BL,	DXF 93
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'flag'
          BS,	DXF 90
     'assocvariable'
          H,	DXF 330
     'expr'
          T,	DXF 301
     'value'
          Dwg_EvalVariant
     'type'
          BS,	DXF 170

   *BLOCKVERTICALCONSTRAINTPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'dependency'
          H,	DXF 330
     'expr_name'
          T,	DXF 305
     'expr_description'
          T,	DXF 306
     'value'
          BD,	DXF 140
     'value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCKVISIBILITYGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKVISIBILITYPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_pt'
          3BD,	DXF 1010
     'num_propinfos'
          BL,	DXF 93
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'is_initialized'
          B,	DXF 281
     'unknown_bool'
          B,	DXF 91
     'blockvisi_name'
          T,	DXF 301
     'blockvisi_desc'
          T,	DXF 302
     'num_blocks'
          BL,	DXF 93
     'blocks'
          H*,	DXF 331
     'num_states'
          BL,	DXF 92
     'states'
          Dwg_BLOCKVISIBILITYPARAMETER_state*

   *BLOCKXYGRIP*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'bg_bl91'
          BL,	DXF 91
     'bg_bl92'
          BL,	DXF 92
     'bg_location'
          3BD,	DXF 1010
     'bg_insert_cycling'
          B,	DXF 280
     'bg_insert_cycling_weight'
          BLd,	DXF 93

   *BLOCKXYPARAMETER*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr
     'name'
          T,	DXF 300
     'be_major'
          BL,	DXF 98
     'be_minor'
          BL,	DXF 99
     'eed1071'
          BL,	DXF 1071
     'show_properties'
          B,	DXF 280
     'chain_actions'
          B,	DXF 281
     'def_basept'
          3BD,	DXF 1010
     'def_endpt'
          3BD,	DXF 1011
     'prop1'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop2'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop3'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop4'
          Dwg_BLOCKPARAMETER_PropInfo
     'prop_states'
          BL*,	DXF 91
     'parameter_base_location'
          BS,	DXF 177
     'upd_basept'
          3BD
     'basept'
          3BD
     'upd_endpt'
          3BD
     'endpt'
          3BD
     'x_label'
          T,	DXF 305
     'x_label_desc'
          T,	DXF 306
     'y_label'
          T,	DXF 307
     'y_label_desc'
          T,	DXF 308
     'x_value'
          BD,	DXF 142
     'y_value'
          BD,	DXF 141
     'x_value_set'
          Dwg_BLOCKPARAMVALUESET
     'y_value_set'
          Dwg_BLOCKPARAMVALUESET

   *BLOCK_CONTROL*

   BLOCK_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*
     'model_space'
          H
     'paper_space'
          H

   *BLOCK_HEADER*

   BLOCK_HEADER is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     '__iterator'
          BL
     'flag2'
          RC
     'flag3'
          RS
     'anonymous'
          B
     'hasattrs'
          B
     'blkisxref'
          B
     'xrefoverlaid'
          B
     'loaded_bit'
          B
     'num_owned'
          BL
     'base_pt'
          3DPOINT,	DXF 10
     'xref_pname'
          T,	DXF 1
     'num_inserts'
          RL
     'description'
          T,	DXF 4
     'preview_size'
          BL
     'preview'
          TF,	DXF 310
     'insert_units'
          BS,	DXF 70
     'explodable'
          B,	DXF 280
     'block_scaling'
          RC,	DXF 281
     'block_entity'
          H
     'first_entity'
          H
     'last_entity'
          H
     'entities'
          H*
     'endblk_entity'
          H
     'inserts'
          H*,	DXF 331
     'layout'
          H,	DXF 340

   *CELLSTYLEMAP*

     'parent'
          struct _dwg_object_object*
     'num_cells'
          BL,	DXF 90
     'cells'
          Dwg_TABLESTYLE_CellStyle*

   *CONTEXTDATAMANAGER*

     'parent'
          struct _dwg_object_object*
     'objectcontext'
          H
     'num_submgrs'
          BL
     'submgrs'
          Dwg_CONTEXTDATA_submgr*

   *CSACDOCUMENTOPTIONS*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS

   *CURVEPATH*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'entity'
          H,	DXF 340

   *DATALINK*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS
     'data_adapter'
          T,	DXF 1
     'description'
          T,	DXF 300
     'tooltip'
          T,	DXF 301
     'connection_string'
          T,	DXF 302
     'option'
          BL,	DXF 90
     'update_option'
          BL,	DXF 91
     'bl92'
          BL,	DXF 92
     'year'
          BS,	DXF 170
     'month'
          BS,	DXF 171
     'day'
          BS,	DXF 172
     'hour'
          BS,	DXF 173
     'minute'
          BS,	DXF 174
     'seconds'
          BS,	DXF 175
     'msec'
          BS,	DXF 176
     'path_option'
          BS,	DXF 177
     'bl93'
          BL,	DXF 93
     'update_status'
          T,	DXF 304
     'num_customdata'
          BL,	DXF 94
     'customdata'
          Dwg_DATALINK_customdata*
     'hardowner'
          H,	DXF 360

   *DATATABLE*

     'parent'
          struct _dwg_object_object*
     'flags'
          BS,	DXF 70
     'num_cols'
          BL,	DXF 90
     'num_rows'
          BL,	DXF 91
     'table_name'
          T,	DXF 1
     'cols'
          Dwg_DATATABLE_column*

   *DBCOLOR*

     'parent'
          struct _dwg_object_object*
     'color'
          CMC,	DXF 62

   *DETAILVIEWSTYLE*

     'parent'
          struct _dwg_object_object*
     'mdoc_class_version'
          BS,	DXF 70
     'desc'
          T,	DXF 3
     'is_modified_for_recompute'
          B,	DXF 290
     'display_name'
          T,	DXF 300
     'viewstyle_flags'
          BL,	DXF 90
     'class_version'
          BS,	DXF 70
     'flags'
          BL,	DXF 90
     'identifier_style'
          H,	DXF 340
     'identifier_color'
          CMC,	DXF 62
     'identifier_height'
          BD,	DXF 40
     'identifier_exclude_characters'
          T,	DXF 300
     'identifier_offset'
          BD,	DXF 40
     'identifier_placement'
          RC,	DXF 280
     'arrow_symbol'
          H,	DXF 340
     'arrow_symbol_color'
          CMC,	DXF 62
     'arrow_symbol_size'
          BD,	DXF 40
     'boundary_ltype'
          H,	DXF 340
     'boundary_linewt'
          BLd,	DXF 90
     'boundary_line_color'
          CMC,	DXF 62
     'viewlabel_text_style'
          H,	DXF 340
     'viewlabel_text_color'
          CMC,	DXF 62
     'viewlabel_text_height'
          BD,	DXF 40
     'viewlabel_attachment'
          BL,	DXF 90
     'viewlabel_offset'
          BD,	DXF 40
     'viewlabel_alignment'
          BL,	DXF 90
     'viewlabel_pattern'
          T,	DXF 300
     'connection_ltype'
          H,	DXF 340
     'connection_linewt'
          BLd,	DXF 90
     'connection_line_color'
          CMC,	DXF 62
     'borderline_ltype'
          H,	DXF 340
     'borderline_linewt'
          BLd,	DXF 90
     'borderline_color'
          CMC,	DXF 62
     'model_edge'
          RC,	DXF 280

   *DICTIONARY*

     'parent'
          struct _dwg_object_object*
     'numitems'
          BL
     'is_hardowner'
          RC,	DXF 280
     'cloning'
          BS,	DXF 281
     'texts'
          T*,	DXF 3
     'itemhandles'
          H*,	DXF 350
     'cloning_r14'
          RC

   *DICTIONARYVAR*

     'parent'
          struct _dwg_object_object*
     'schema'
          RC,	DXF 280
     'strvalue'
          T,	DXF 1

   *DICTIONARYWDFLT*

     'parent'
          struct _dwg_object_object*
     'numitems'
          BL
     'is_hardowner'
          RC,	DXF 280
     'cloning'
          BS,	DXF 281
     'texts'
          T*,	DXF 3
     'itemhandles'
          H*,	DXF 350
     'cloning_r14'
          RL
     'defaultid'
          H,	DXF 340

   *DIMASSOC*

     'parent'
          struct _dwg_object_object*
     'dimensionobj'
          H,	DXF 330
     'associativity'
          BL,	DXF 90
     'trans_space_flag'
          B,	DXF 70
     'rotated_type'
          RC,	DXF 71
     'ref'
          Dwg_DIMASSOC_Ref*

   *DIMSTYLE*

   DIMSTYLE is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC,	DXF 70
     'name'
          T
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'DIMTOL'
          B,	DXF 71
     'DIMLIM'
          B,	DXF 72
     'DIMTIH'
          B,	DXF 73
     'DIMTOH'
          B,	DXF 74
     'DIMSE1'
          B,	DXF 75
     'DIMSE2'
          B,	DXF 76
     'DIMALT'
          B,	DXF 170
     'DIMTOFL'
          B,	DXF 172
     'DIMSAH'
          B,	DXF 173
     'DIMTIX'
          B,	DXF 174
     'DIMSOXD'
          B,	DXF 175
     'DIMALTD'
          BS,	DXF 171
     'DIMZIN'
          BS,	DXF 78
     'DIMSD1'
          B,	DXF 281
     'DIMSD2'
          B,	DXF 282
     'DIMTOLJ'
          BS,	DXF 283
     'DIMJUST'
          BS,	DXF 280
     'DIMFIT'
          BS,	DXF 287
     'DIMUPT'
          B,	DXF 288
     'DIMTZIN'
          BS,	DXF 284
     'DIMMALTZ'
          BS,	DXF 285
     'DIMMALTTZ'
          BS,	DXF 286
     'DIMTAD'
          BS,	DXF 77
     'DIMUNIT'
          BS,	DXF 270
     'DIMAUNIT'
          BS,	DXF 275
     'DIMDEC'
          BS,	DXF 271
     'DIMTDEC'
          BS,	DXF 272
     'DIMALTU'
          BS,	DXF 273
     'DIMALTTD'
          BS,	DXF 274
     'DIMSCALE'
          BD,	DXF 40
     'DIMASZ'
          BD,	DXF 41
     'DIMEXO'
          BD,	DXF 42
     'DIMDLI'
          BD,	DXF 43
     'DIMEXE'
          BD,	DXF 44
     'DIMRND'
          BD,	DXF 45
     'DIMDLE'
          BD,	DXF 46
     'DIMTP'
          BD,	DXF 47
     'DIMTM'
          BD,	DXF 48
     'DIMFXL'
          BD,	DXF 49
     'DIMJOGANG'
          BD,	DXF 50
     'DIMTFILL'
          BS,	DXF 69
     'DIMTFILLCLR'
          CMC,	DXF 70
     'DIMAZIN'
          BS,	DXF 79
     'DIMARCSYM'
          BS,	DXF 90
     'DIMTXT'
          BD,	DXF 140
     'DIMCEN'
          BD,	DXF 141
     'DIMTSZ'
          BD,	DXF 142
     'DIMALTF'
          BD,	DXF 143
     'DIMLFAC'
          BD,	DXF 144
     'DIMTVP'
          BD,	DXF 145
     'DIMTFAC'
          BD,	DXF 146
     'DIMGAP'
          BD,	DXF 147
     'DIMPOST'
          T,	DXF 3
     'DIMAPOST'
          T,	DXF 4
     'DIMBLK_T'
          TV,	DXF 5
     'DIMBLK1_T'
          TV,	DXF 6
     'DIMBLK2_T'
          TV,	DXF 7
     'DIMALTRND'
          BD,	DXF 148
     'DIMCLRD_N'
          RS,	DXF 176
     'DIMCLRE_N'
          RS,	DXF 177
     'DIMCLRT_N'
          RS,	DXF 178
     'DIMCLRD'
          CMC,	DXF 176
     'DIMCLRE'
          CMC,	DXF 177
     'DIMCLRT'
          CMC,	DXF 178
     'DIMADEC'
          BS,	DXF 179
     'DIMFRAC'
          BS,	DXF 276
     'DIMLUNIT'
          BS,	DXF 277
     'DIMDSEP'
          BS,	DXF 278
     'DIMTMOVE'
          BS,	DXF 279
     'DIMALTZ'
          BS,	DXF 285
     'DIMALTTZ'
          BS,	DXF 286
     'DIMATFIT'
          BS,	DXF 289
     'DIMFXLON'
          B,	DXF 290
     'DIMTXTDIRECTION'
          B,	DXF 295
     'DIMALTMZF'
          BD
     'DIMALTMZS'
          T
     'DIMMZF'
          BD
     'DIMMZS'
          T
     'DIMLWD'
          BSd,	DXF 371
     'DIMLWE'
          BSd,	DXF 372
     'flag0'
          B
     'DIMTXSTY'
          H,	DXF 340
     'DIMLDRBLK'
          H,	DXF 341
     'DIMBLK'
          H,	DXF 342
     'DIMBLK1'
          H,	DXF 343
     'DIMBLK2'
          H,	DXF 344
     'DIMLTYPE'
          H,	DXF 345
     'DIMLTEX1'
          H,	DXF 346
     'DIMLTEX2'
          H,	DXF 347

   *DIMSTYLE_CONTROL*

   DIMSTYLE_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*
     'num_morehandles'
          RC,	DXF 71
     'morehandles'
          H*,	DXF 340

   *DMDIMOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'first_arc_pt'
          3BD,	DXF 11
     'def_pt'
          3BD,	DXF 12

   *DUMMY*

     'parent'
          struct _dwg_object_object*

   *DYNAMICBLOCKPROXYNODE*

     'parent'
          struct _dwg_object_object*
     'evalexpr'
          Dwg_EvalExpr

   *DYNAMICBLOCKPURGEPREVENTER*

     'parent'
          struct _dwg_object_object*
     'flag'
          BS,	DXF 70
     'block'
          H

   *EVALUATION_GRAPH*

     'parent'
          struct _dwg_object_object*
     'major'
          BL
     'minor'
          BL
     'first_nodeid'
          BLd,	DXF 96
     'first_nodeid_copy'
          BLd,	DXF 97
     'num_nodes'
          BL
     'nodes'
          Dwg_EVAL_Node*
     'has_graph'
          B
     'num_edges'
          BL
     'edges'
          Dwg_EVAL_Edge*

   *FCFOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'location'
          3BD,	DXF 10
     'horiz_dir'
          3BD,	DXF 11

   *FIELD*

     'parent'
          struct _dwg_object_object*
     'id'
          T,	DXF 1
     'code'
          T,	DXF 2
     'num_childs'
          BL,	DXF 90
     'childs'
          H*,	DXF 360
     'num_objects'
          BL,	DXF 97
     'objects'
          H*,	DXF 331
     'format'
          TV,	DXF 4
     'evaluation_option'
          BL,	DXF 91
     'filing_option'
          BL,	DXF 92
     'field_state'
          BL,	DXF 94
     'evaluation_status'
          BL,	DXF 95
     'evaluation_error_code'
          BL,	DXF 96
     'evaluation_error_msg'
          T,	DXF 300
     'value'
          Dwg_TABLE_value
     'value_string'
          T,	DXF 301
     'value_string_length'
          BL,	DXF 98
     'num_childval'
          BL,	DXF 93
     'childval'
          Dwg_FIELD_ChildValue*

   *FIELDLIST*

     'parent'
          struct _dwg_object_object*
     'num_fields'
          BL,	DXF 90
     'unknown'
          B
     'fields'
          H*,	DXF 330

   *GEODATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'host_block'
          H,	DXF 330
     'coord_type'
          BS,	DXF 70
     'design_pt'
          3BD,	DXF 10
     'ref_pt'
          3BD_1,	DXF 11
     'obs_pt'
          3BD,	DXF 11
     'scale_vec'
          3BD_1,	DXF 43
     'unit_scale_horiz'
          BD,	DXF 40
     'units_value_horiz'
          BL,	DXF 91
     'unit_scale_vert'
          BD,	DXF 41
     'units_value_vert'
          BL,	DXF 92
     'up_dir'
          3BD,	DXF 210
     'north_dir'
          3BD,	DXF 12
     'scale_est'
          BL,	DXF 95
     'user_scale_factor'
          BD,	DXF 141
     'do_sea_level_corr'
          B,	DXF 294
     'sea_level_elev'
          BD,	DXF 142
     'coord_proj_radius'
          BD,	DXF 143
     'coord_system_def'
          T,	DXF 301
     'geo_rss_tag'
          T,	DXF 302
     'coord_system_datum'
          T,	DXF 303
     'coord_system_wkt'
          T,	DXF 304
     'observation_from_tag'
          T,	DXF 305
     'observation_to_tag'
          T,	DXF 306
     'observation_coverage_tag'
          T,	DXF 307
     'num_geomesh_pts'
          BL,	DXF 93
     'geomesh_pts'
          Dwg_GEODATA_meshpt*
     'num_geomesh_faces'
          BL,	DXF 96
     'geomesh_faces'
          Dwg_GEODATA_meshface*
     'has_civil_data'
          B
     'obsolete_false'
          B,	DXF 292
     'ref_pt2d'
          2RD,	DXF 15
     'zero1'
          3BD,	DXF 16
     'unknown1'
          BL,	DXF 93
     'unknown2'
          BL,	DXF 94
     'unknown_b'
          B,	DXF 293
     'north_dir_angle_deg'
          BD,	DXF 54
     'north_dir_angle_rad'
          BD,	DXF 140

   *GEOMAPIMAGE*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'pt0'
          3BD,	DXF 10
     'size'
          2RD,	DXF 13
     'display_props'
          BS,	DXF 70
     'clipping'
          B,	DXF 280
     'brightness'
          RC,	DXF 281
     'contrast'
          RC,	DXF 282
     'fade'
          RC,	DXF 283
     'rotation'
          BD
     'image_width'
          BD
     'image_height'
          BD
     'name'
          T
     'image_file'
          BD
     'image_visibility'
          BD
     'transparency'
          BS
     'height'
          BD
     'width'
          BD
     'show_rotation'
          B
     'scale_factor'
          BD
     'geoimage_brightness'
          BS
     'geoimage_contrast'
          BS
     'geoimage_fade'
          BS
     'geoimage_position'
          BS
     'geoimage_width'
          BS
     'geoimage_height'
          BS

   *GRADIENT_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'color_top'
          BLx,	DXF 90
     'color_middle'
          BLx,	DXF 91
     'color_bottom'
          BLx,	DXF 92
     'horizon'
          BD,	DXF 140
     'height'
          BD,	DXF 141
     'rotation'
          BD,	DXF 142

   *GROUND_PLANE_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'color_sky_zenith'
          BLx,	DXF 90
     'color_sky_horizon'
          BLx,	DXF 91
     'color_underground_horizon'
          BLx,	DXF 92
     'color_underground_azimuth'
          BLx,	DXF 93
     'color_near'
          BLx,	DXF 94
     'color_far'
          BLx,	DXF 95

   *GROUP*

     'parent'
          struct _dwg_object_object*
     'name'
          T,	DXF 300
     'unnamed'
          BS,	DXF 70
     'selectable'
          BS,	DXF 71
     'num_groups'
          BL
     'groups'
          H*,	DXF 340

   *IBL_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'enable'
          B,	DXF 290
     'name'
          T,	DXF 1
     'rotation'
          BD,	DXF 40
     'display_image'
          B,	DXF 290
     'secondary_background'
          H,	DXF 340

   *IDBUFFER*

     'parent'
          struct _dwg_object_object*
     'unknown'
          RC
     'num_obj_ids'
          BL
     'obj_ids'
          H*,	DXF 330

   *IMAGEDEF*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'image_size'
          2RD,	DXF 10
     'file_path'
          T,	DXF 1
     'is_loaded'
          B,	DXF 280
     'resunits'
          RC,	DXF 281
     'pixel_size'
          2RD,	DXF 11

   *IMAGEDEF_REACTOR*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90

   *IMAGE_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'filename'
          T,	DXF 300
     'fit_to_screen'
          B,	DXF 290
     'maintain_aspect_ratio'
          B,	DXF 291
     'use_tiling'
          B,	DXF 292
     'offset'
          2BD_1,	DXF 140
     'scale'
          2BD_1,	DXF 142

   *INDEX*

     'parent'
          struct _dwg_object_object*
     'last_updated'
          TIMEBLL,	DXF 40

   *LAYER*

   LAYER is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          BS
     'name'
          T
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'frozen'
          B
     'on'
          B
     'frozen_in_new'
          B
     'locked'
          B
     'plotflag'
          B,	DXF 290
     'linewt'
          RC,	DXF 370
     'color'
          CMC,	DXF 62
     'color_rs'
          short,	DXF 62
     'ltype_rs'
          RS,	DXF 7
     'plotstyle'
          H,	DXF 390
     'material'
          H,	DXF 347
     'ltype'
          H,	DXF 6
     'visualstyle'
          H,	DXF 348

   *LAYERFILTER*

     'parent'
          struct _dwg_object_object*
     'num_names'
          BL
     'names'
          TV*,	DXF 8

   *LAYER_CONTROL*

   LAYER_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *LAYER_INDEX*

     'parent'
          struct _dwg_object_object*
     'last_updated'
          TIMEBLL,	DXF 40
     'num_entries'
          BL
     'entries'
          Dwg_LAYER_entry*

   *LAYOUT*

     'parent'
          struct _dwg_object_object*
     'plotsettings'
          Dwg_Object_PLOTSETTINGS
     'layout_name'
          T,	DXF 1
     'tab_order'
          BS,	DXF 71
     'layout_flags'
          BS,	DXF 70
     'INSBASE'
          3DPOINT,	DXF 12
     'LIMMIN'
          2DPOINT,	DXF 10
     'LIMMAX'
          2DPOINT,	DXF 11
     'UCSORG'
          3DPOINT,	DXF 13
     'UCSXDIR'
          3DPOINT,	DXF 16
     'UCSYDIR'
          3DPOINT,	DXF 17
     'ucs_elevation'
          BD,	DXF 146
     'UCSORTHOVIEW'
          BS,	DXF 76
     'EXTMIN'
          3DPOINT,	DXF 14
     'EXTMAX'
          3DPOINT,	DXF 15
     'block_header'
          H,	DXF 330
     'active_viewport'
          H,	DXF 331
     'base_ucs'
          H,	DXF 346
     'named_ucs'
          H,	DXF 345
     'num_viewports'
          BL
     'viewports'
          H*

   *LAYOUTPRINTCONFIG*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS
     'flag'
          BS,	DXF 93

   *LEADEROBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'num_points'
          BL,	DXF 70
     'points'
          3DPOINT*,	DXF 10
     'b290'
          B,	DXF 290
     'x_direction'
          3DPOINT,	DXF 11
     'inspt_offset'
          3DPOINT,	DXF 12
     'endptproj'
          3DPOINT,	DXF 13

   *LIGHTLIST*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'num_lights'
          BL,	DXF 90
     'lights'
          Dwg_LIGHTLIST_light*

   *LONG_TRANSACTION*

     'parent'
          struct _dwg_object_object*

   *LTYPE*

   LTYPE is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'description'
          T,	DXF 3
     'pattern_len'
          BD,	DXF 40
     'alignment'
          RC,	DXF 72
     'num_dashes'
          RC,	DXF 73
     'dashes'
          Dwg_LTYPE_dash*
     'dashes_r11'
          RD*
     'has_strings_area'
          B
     'strings_area'
          TF

   *LTYPE_CONTROL*

   LTYPE_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*
     'bylayer'
          H
     'byblock'
          H

   *MATERIAL*

     'parent'
          struct _dwg_object_object*
     'name'
          T,	DXF 1
     'description'
          T,	DXF 2
     'ambient_color'
          Dwg_MATERIAL_color
     'diffuse_color'
          Dwg_MATERIAL_color
     'diffusemap'
          Dwg_MATERIAL_mapper
     'specular_gloss_factor'
          BD,	DXF 44
     'specular_color'
          Dwg_MATERIAL_color
     'specularmap'
          Dwg_MATERIAL_mapper
     'reflectionmap'
          Dwg_MATERIAL_mapper
     'opacity_percent'
          BD,	DXF 140
     'opacitymap'
          Dwg_MATERIAL_mapper
     'bumpmap'
          Dwg_MATERIAL_mapper
     'refraction_index'
          BD,	DXF 145
     'refractionmap'
          Dwg_MATERIAL_mapper
     'color_bleed_scale'
          BD,	DXF 460
     'indirect_bump_scale'
          BD,	DXF 461
     'reflectance_scale'
          BD,	DXF 462
     'transmittance_scale'
          BD,	DXF 463
     'two_sided_material'
          B,	DXF 290
     'luminance'
          BD,	DXF 464
     'luminance_mode'
          BS,	DXF 270
     'translucence'
          BD,	DXF 148
     'self_illumination'
          BD,	DXF 149
     'reflectivity'
          BD,	DXF 468
     'illumination_model'
          BL,	DXF 93
     'channel_flags'
          BL,	DXF 94
     'mode'
          BL,	DXF 282
     'genprocname'
          T
     'genproctype'
          BS
     'genprocvalbool'
          B
     'genprocvalint'
          BS
     'genprocvalreal'
          BD
     'genprocvaltext'
          T
     'genprocvalcolor'
          CMC
     'genproctableend'
          B
     'num_gentextures'
          BS
     'gentextures'
          Dwg_MATERIAL_gentexture*

   *MENTALRAYRENDERSETTINGS*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'fog_enabled'
          B,	DXF 290
     'fog_background_enabled'
          B,	DXF 290
     'backfaces_enabled'
          B,	DXF 290
     'environ_image_enabled'
          B,	DXF 290
     'environ_image_filename'
          T,	DXF 1
     'description'
          T,	DXF 1
     'display_index'
          BL,	DXF 90
     'has_predefined'
          B,	DXF 290
     'mr_version'
          BL,	DXF 90
     'sampling1'
          BL,	DXF 90
     'sampling2'
          BL,	DXF 90
     'sampling_mr_filter'
          BS,	DXF 70
     'sampling_filter1'
          BD,	DXF 40
     'sampling_filter2'
          BD,	DXF 40
     'sampling_contrast_color1'
          BD,	DXF 40
     'sampling_contrast_color2'
          BD,	DXF 40
     'sampling_contrast_color3'
          BD,	DXF 40
     'sampling_contrast_color4'
          BD,	DXF 40
     'shadow_mode'
          BS,	DXF 70
     'shadow_maps_enabled'
          B,	DXF 290
     'ray_tracing_enabled'
          B,	DXF 290
     'ray_trace_depth1'
          BL,	DXF 90
     'ray_trace_depth2'
          BL,	DXF 90
     'ray_trace_depth3'
          BL,	DXF 90
     'global_illumination_enabled'
          B,	DXF 290
     'gi_sample_count'
          BL,	DXF 90
     'gi_sample_radius_enabled'
          B,	DXF 290
     'gi_sample_radius'
          BD,	DXF 40
     'gi_photons_per_light'
          BL,	DXF 90
     'photon_trace_depth1'
          BL,	DXF 90
     'photon_trace_depth2'
          BL,	DXF 90
     'photon_trace_depth3'
          BL,	DXF 90
     'final_gathering_enabled'
          B,	DXF 290
     'fg_ray_count'
          BL,	DXF 90
     'fg_sample_radius_state1'
          B,	DXF 290
     'fg_sample_radius_state2'
          B,	DXF 290
     'fg_sample_radius_state3'
          B,	DXF 290
     'fg_sample_radius1'
          BD,	DXF 40
     'fg_sample_radius2'
          BD,	DXF 40
     'light_luminance_scale'
          BD,	DXF 40
     'diagnostics_mode'
          BS,	DXF 70
     'diagnostics_grid_mode'
          BS,	DXF 70
     'diagnostics_grid_float'
          BD,	DXF 40
     'diagnostics_photon_mode'
          BS,	DXF 70
     'diagnostics_bsp_mode'
          BS,	DXF 70
     'export_mi_enabled'
          B,	DXF 290
     'mr_description'
          T,	DXF 1
     'tile_size'
          BL,	DXF 90
     'tile_order'
          BS,	DXF 70
     'memory_limit'
          BL,	DXF 90
     'diagnostics_samples_mode'
          B,	DXF 290
     'energy_multiplier'
          BD,	DXF 40

   *MLEADEROBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340

   *MLEADERSTYLE*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 179
     'content_type'
          BS,	DXF 170
     'mleader_order'
          BS,	DXF 171
     'leader_order'
          BS,	DXF 172
     'max_points'
          BL,	DXF 90
     'first_seg_angle'
          BD,	DXF 40
     'second_seg_angle'
          BD,	DXF 41
     'type'
          BS,	DXF 173
     'line_color'
          CMC,	DXF 91
     'line_type'
          H,	DXF 340
     'linewt'
          BLd,	DXF 92
     'has_landing'
          B,	DXF 290
     'has_dogleg'
          B,	DXF 291
     'landing_gap'
          BD,	DXF 42
     'landing_dist'
          BD,	DXF 43
     'description'
          T,	DXF 3
     'arrow_head'
          H,	DXF 341
     'arrow_head_size'
          BD,	DXF 44
     'text_default'
          T,	DXF 300
     'text_style'
          H,	DXF 342
     'attach_left'
          BS,	DXF 174
     'attach_right'
          BS,	DXF 178
     'text_angle_type'
          BS,	DXF 175
     'text_align_type'
          BS,	DXF 176
     'text_color'
          CMC,	DXF 93
     'text_height'
          BD,	DXF 45
     'has_text_frame'
          B,	DXF 292
     'text_always_left'
          B,	DXF 297
     'align_space'
          BD,	DXF 46
     'block'
          H,	DXF 343
     'block_color'
          CMC,	DXF 94
     'block_scale'
          3BD
     'use_block_scale'
          B,	DXF 293
     'block_rotation'
          BD,	DXF 141
     'use_block_rotation'
          B,	DXF 294
     'block_connection'
          BS,	DXF 177
     'scale'
          BD,	DXF 142
     'is_changed'
          B,	DXF 295
     'is_annotative'
          B,	DXF 296
     'break_size'
          BD,	DXF 143
     'attach_dir'
          BS,	DXF 271
     'attach_top'
          BS,	DXF 273
     'attach_bottom'
          BS,	DXF 272
     'text_extended'
          B,	DXF 298

   *MLINESTYLE*

     'parent'
          struct _dwg_object_object*
     'name'
          T,	DXF 2
     'description'
          T,	DXF 3
     'flag'
          BS,	DXF 70
     'fill_color'
          CMC,	DXF 62
     'start_angle'
          BD,	DXF 51
     'end_angle'
          BD,	DXF 52
     'num_lines'
          RC,	DXF 71
     'lines'
          Dwg_MLINESTYLE_line*

   *MOTIONPATH*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'camera_path'
          H,	DXF 340
     'target_path'
          H,	DXF 340
     'viewtable'
          H,	DXF 340
     'frames'
          BS,	DXF 90
     'frame_rate'
          BS,	DXF 90
     'corner_decel'
          B,	DXF 290

   *MTEXTATTRIBUTEOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'horizontal_mode'
          BS,	DXF 70
     'rotation'
          BD,	DXF 50
     'ins_pt'
          2RD,	DXF 10
     'alignment_pt'
          2RD,	DXF 11
     'enable_context'
          B,	DXF 290
     'context'
          struct _dwg_object*

   *MTEXTOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'attachment'
          BL,	DXF 70
     'ins_pt'
          3BD,	DXF 10
     'x_axis_dir'
          3BD,	DXF 11
     'rect_height'
          BD,	DXF 41
     'rect_width'
          BD,	DXF 40
     'extents_width'
          BD,	DXF 42
     'extents_height'
          BD,	DXF 43
     'column_type'
          BL,	DXF 71
     'column_width'
          BD,	DXF 44
     'gutter'
          BD,	DXF 45
     'auto_height'
          B,	DXF 73
     'flow_reversed'
          B,	DXF 74
     'num_column_heights'
          BL,	DXF 72
     'column_heights'
          BD*,	DXF 46

   *NAVISWORKSMODELDEF*

     'parent'
          struct _dwg_object_object*
     'flags'
          BS,	DXF 70
     'path'
          T,	DXF 1
     'status'
          B,	DXF 290
     'min_extent'
          3BD,	DXF 10
     'max_extent'
          3BD,	DXF 11
     'host_drawing_visibility'
          B,	DXF 290

   *OBJECT_PTR*

     'parent'
          struct _dwg_object_object*

   *ORDDIMOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'feature_location_pt'
          3BD,	DXF 11
     'leader_endpt'
          3BD,	DXF 12

   *PARTIAL_VIEWING_INDEX*

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BL
     'has_entries'
          B
     'entries'
          Dwg_PARTIAL_VIEWING_INDEX_Entry*

   *PERSUBENTMGR*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'unknown_0'
          BL,	DXF 90
     'unknown_2'
          BL,	DXF 90
     'numassocsteps'
          BL,	DXF 90
     'numassocsubents'
          BL,	DXF 90
     'num_steps'
          BL,	DXF 90
     'steps'
          BL*,	DXF 90
     'num_subents'
          BL,	DXF 90
     'subents'
          BL*,	DXF 90

   *PLACEHOLDER*

     'parent'
          struct _dwg_object_object*

   *PLOTSETTINGS*

     'parent'
          struct _dwg_object_object*
     'printer_cfg_file'
          T,	DXF 1
     'paper_size'
          T,	DXF 2
     'canonical_media_name'
          T,	DXF 4
     'plot_flags'
          BS,	DXF 70
     'plotview'
          H,	DXF 6
     'plotview_name'
          T,	DXF 6
     'left_margin'
          BD,	DXF 40
     'bottom_margin'
          BD,	DXF 41
     'right_margin'
          BD,	DXF 42
     'top_margin'
          BD,	DXF 43
     'paper_width'
          BD,	DXF 44
     'paper_height'
          BD,	DXF 45
     'plot_origin'
          2BD_1,	DXF 46
     'plot_window_ll'
          2BD_1,	DXF 48
     'plot_window_ur'
          2BD_1,	DXF 140
     'plot_paper_unit'
          BS,	DXF 72
     'plot_rotation_mode'
          BS,	DXF 73
     'plot_type'
          BS,	DXF 74
     'paper_units'
          BD,	DXF 142
     'drawing_units'
          BD,	DXF 143
     'stylesheet'
          T,	DXF 7
     'std_scale_type'
          BS,	DXF 75
     'std_scale_factor'
          BD,	DXF 147
     'paper_image_origin'
          2BD_1,	DXF 148
     'shadeplot_type'
          BS,	DXF 76
     'shadeplot_reslevel'
          BS,	DXF 77
     'shadeplot_customdpi'
          BS,	DXF 78
     'shadeplot'
          H,	DXF 333

   *POINTCLOUDCOLORMAP*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'def_intensity_colorscheme'
          T,	DXF 1
     'def_elevation_colorscheme'
          T,	DXF 1
     'def_classification_colorscheme'
          T,	DXF 1
     'num_colorramps'
          BL,	DXF 90
     'colorramps'
          Dwg_POINTCLOUDCOLORMAP_Ramp*
     'num_classification_colorramps'
          BL,	DXF 90
     'classification_colorramps'
          Dwg_POINTCLOUDCOLORMAP_Ramp*

   *POINTCLOUDDEF*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'source_filename'
          T,	DXF 1
     'is_loaded'
          B,	DXF 280
     'numpoints'
          RLL,	DXF 160
     'extents_min'
          3BD,	DXF 10
     'extents_max'
          3BD,	DXF 11

   *POINTCLOUDDEFEX*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'source_filename'
          T,	DXF 1
     'is_loaded'
          B,	DXF 280
     'numpoints'
          RLL,	DXF 160
     'extents_min'
          3BD,	DXF 10
     'extents_max'
          3BD,	DXF 11

   *POINTCLOUDDEF_REACTOR*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90

   *POINTCLOUDDEF_REACTOR_EX*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90

   *POINTPATH*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 90
     'point'
          3BD,	DXF 10

   *PROXY_OBJECT*

     'parent'
          struct _dwg_object_object*
     'class_id'
          BL,	DXF 91
     'version'
          BL,	DXF 71
     'maint_version'
          BL,	DXF 97
     'from_dxf'
          B,	DXF 70
     'data_numbits'
          BL
     'data_size'
          BL,	DXF 93
     'data'
          TF,	DXF 310
     'num_objids'
          BL
     'objids'
          H*,	DXF 340

   *RADIMLGOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'ovr_center'
          3BD,	DXF 12
     'jog_point'
          3BD,	DXF 13

   *RADIMOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'dimension'
          Dwg_OCD_Dimension
     'first_arc_pt'
          3BD,	DXF 11

   *RAPIDRTRENDERSETTINGS*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'fog_enabled'
          B,	DXF 290
     'fog_background_enabled'
          B,	DXF 290
     'backfaces_enabled'
          B,	DXF 290
     'environ_image_enabled'
          B,	DXF 290
     'environ_image_filename'
          T,	DXF 1
     'description'
          T,	DXF 1
     'display_index'
          BL,	DXF 90
     'has_predefined'
          B,	DXF 290
     'rapidrt_version'
          BL,	DXF 90
     'render_target'
          BL,	DXF 70
     'render_level'
          BL,	DXF 90
     'render_time'
          BL,	DXF 90
     'lighting_model'
          BL,	DXF 70
     'filter_type'
          BL,	DXF 70
     'filter_width'
          BD,	DXF 40
     'filter_height'
          BD,	DXF 40

   *RASTERVARIABLES*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'image_frame'
          BS,	DXF 70
     'image_quality'
          BS,	DXF 71
     'units'
          BS,	DXF 72

   *RENDERENTRY*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'image_file_name'
          T,	DXF 1
     'preset_name'
          T,	DXF 1
     'view_name'
          T,	DXF 1
     'dimension_x'
          BL,	DXF 90
     'dimension_y'
          BL,	DXF 90
     'start_year'
          BS,	DXF 70
     'start_month'
          BS,	DXF 70
     'start_day'
          BS,	DXF 70
     'start_minute'
          BS,	DXF 70
     'start_second'
          BS,	DXF 70
     'start_msec'
          BS,	DXF 70
     'render_time'
          BD,	DXF 40
     'memory_amount'
          BL,	DXF 90
     'material_count'
          BL,	DXF 90
     'light_count'
          BL,	DXF 90
     'triangle_count'
          BL,	DXF 90
     'display_index'
          BL,	DXF 90

   *RENDERENVIRONMENT*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'fog_enabled'
          B,	DXF 290
     'fog_background_enabled'
          B,	DXF 290
     'fog_color'
          CMC,	DXF 280
     'fog_density_near'
          BD,	DXF 40
     'fog_density_far'
          BD,	DXF 40
     'fog_distance_near'
          BD,	DXF 40
     'fog_distance_far'
          BD,	DXF 40
     'environ_image_enabled'
          B,	DXF 290
     'environ_image_filename'
          T,	DXF 1

   *RENDERGLOBAL*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'procedure'
          BL,	DXF 90
     'destination'
          BL,	DXF 90
     'save_enabled'
          B,	DXF 290
     'save_filename'
          T,	DXF 1
     'image_width'
          BL,	DXF 90
     'image_height'
          BL,	DXF 90
     'predef_presets_first'
          B,	DXF 290
     'highlevel_info'
          B,	DXF 290

   *RENDERSETTINGS*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'name'
          T,	DXF 1
     'fog_enabled'
          B,	DXF 290
     'fog_background_enabled'
          B,	DXF 290
     'backfaces_enabled'
          B,	DXF 290
     'environ_image_enabled'
          B,	DXF 290
     'environ_image_filename'
          T,	DXF 1
     'description'
          T,	DXF 1
     'display_index'
          BL,	DXF 90
     'has_predefined'
          B,	DXF 290

   *SCALE*

     'parent'
          struct _dwg_object_object*
     'flag'
          BS,	DXF 70
     'name'
          T,	DXF 300
     'paper_units'
          BD,	DXF 140
     'drawing_units'
          BD,	DXF 141
     'is_unit_scale'
          B,	DXF 290

   *SECTIONVIEWSTYLE*

     'parent'
          struct _dwg_object_object*
     'mdoc_class_version'
          BS,	DXF 70
     'desc'
          T,	DXF 3
     'is_modified_for_recompute'
          B,	DXF 290
     'display_name'
          T,	DXF 300
     'viewstyle_flags'
          BL,	DXF 90
     'class_version'
          BS,	DXF 70
     'flags'
          BL,	DXF 90
     'identifier_style'
          H,	DXF 340
     'identifier_color'
          CMC,	DXF 62
     'identifier_height'
          BD,	DXF 40
     'arrow_start_symbol'
          H,	DXF 340
     'arrow_end_symbol'
          H,	DXF 340
     'arrow_symbol_color'
          CMC,	DXF 62
     'arrow_symbol_size'
          BD,	DXF 40
     'identifier_exclude_characters'
          T,	DXF 300
     'identifier_position'
          BLd,	DXF 90
     'identifier_offset'
          BD,	DXF 40
     'arrow_position'
          BLd,	DXF 90
     'arrow_symbol_extension_length'
          BD,	DXF 40
     'plane_ltype'
          H,	DXF 340
     'plane_linewt'
          BLd,	DXF 90
     'plane_line_color'
          CMC,	DXF 62
     'bend_ltype'
          H,	DXF 340
     'bend_linewt'
          BLd,	DXF 90
     'bend_line_color'
          CMC,	DXF 62
     'bend_line_length'
          BD,	DXF 40
     'end_line_overshoot'
          BD,	DXF 40
     'end_line_length'
          BD,	DXF 40
     'viewlabel_text_style'
          H,	DXF 340
     'viewlabel_text_color'
          CMC,	DXF 62
     'viewlabel_text_height'
          BD,	DXF 40
     'viewlabel_attachment'
          BL,	DXF 90
     'viewlabel_offset'
          BD,	DXF 40
     'viewlabel_alignment'
          BL,	DXF 90
     'viewlabel_pattern'
          T,	DXF 300
     'hatch_color'
          CMC,	DXF 62
     'hatch_bg_color'
          CMC,	DXF 62
     'hatch_pattern'
          T,	DXF 300
     'hatch_scale'
          BD,	DXF 40
     'hatch_transparency'
          BLd,	DXF 90
     'unknown_b1'
          B,	DXF 290
     'unknown_b2'
          B,	DXF 290
     'num_hatch_angles'
          BL,	DXF 90
     'hatch_angles'
          BD*,	DXF 40

   *SECTION_MANAGER*

     'parent'
          struct _dwg_object_object*
     'is_live'
          B,	DXF 70
     'num_sections'
          BS,	DXF 90
     'sections'
          H*,	DXF 330

   *SECTION_SETTINGS*

     'parent'
          struct _dwg_object_object*
     'curr_type'
          BS,	DXF 90
     'num_types'
          BL,	DXF 91
     'types'
          Dwg_SECTION_typesettings*

   *SKYLIGHT_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'sunid'
          H,	DXF 340

   *SOLID_BACKGROUND*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'color'
          BLx,	DXF 90

   *SORTENTSTABLE*

     'parent'
          struct _dwg_object_object*
     'num_ents'
          BL
     'sort_ents'
          H*,	DXF 5
     'block_owner'
          H
     'ents'
          H*,	DXF 331

   *SPATIAL_FILTER*

     'parent'
          struct _dwg_object_object*
     'num_clip_verts'
          BS,	DXF 70
     'clip_verts'
          2RD*,	DXF 10
     'extrusion'
          BE,	DXF 210
     'origin'
          3BD,	DXF 11
     'display_boundary_on'
          BS,	DXF 71
     'front_clip_on'
          BS,	DXF 72
     'front_clip_z'
          BD,	DXF 40
     'back_clip_on'
          BS,	DXF 73
     'back_clip_z'
          BD,	DXF 41
     'inverse_transform'
          BD*,	DXF 40
     'transform'
          BD*,	DXF 40

   *SPATIAL_INDEX*

     'parent'
          struct _dwg_object_object*
     'last_updated'
          TIMEBLL,	DXF 40
     'num1'
          BD,	DXF 40
     'num_hdls'
          BL,	DXF 90
     'hdls'
          H*,	DXF 330
     'bindata_size'
          BL,	DXF 90
     'bindata'
          TF,	DXF 310

   *STYLE*

   STYLE is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'is_shape'
          B
     'is_vertical'
          B
     'text_size'
          BD,	DXF 40
     'width_factor'
          BD,	DXF 41
     'oblique_angle'
          BD,	DXF 50
     'generation'
          RC,	DXF 71
     'last_height'
          BD,	DXF 42
     'font_file'
          T,	DXF 3
     'bigfont_file'
          T,	DXF 4

   *STYLE_CONTROL*

   STYLE_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *SUN*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'is_on'
          B,	DXF 290
     'color'
          CMC,	DXF 63
     'intensity'
          BD,	DXF 40
     'has_shadow'
          B,	DXF 291
     'julian_day'
          BL,	DXF 91
     'msecs'
          BL,	DXF 92
     'is_dst'
          B,	DXF 292
     'shadow_type'
          BL,	DXF 70
     'shadow_mapsize'
          BS,	DXF 71
     'shadow_softness'
          RC,	DXF 280

   *SUNSTUDY*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL,	DXF 90
     'setup_name'
          T,	DXF 1
     'description'
          T,	DXF 2
     'output_type'
          BL,	DXF 70
     'sheet_set_name'
          T,	DXF 3
     'use_subset'
          B,	DXF 290
     'sheet_subset_name'
          T,	DXF 4
     'select_dates_from_calendar'
          B,	DXF 291
     'num_dates'
          BL,	DXF 91
     'dates'
          Dwg_SUNSTUDY_Dates*
     'select_range_of_dates'
          B,	DXF 292
     'start_time'
          BL,	DXF 93
     'end_time'
          BL,	DXF 94
     'interval'
          BL,	DXF 95
     'num_hours'
          BL,	DXF 91
     'hours'
          B*,	DXF 290
     'shade_plot_type'
          BL,	DXF 74
     'numvports'
          BL,	DXF 75
     'numrows'
          BL,	DXF 76
     'numcols'
          BL,	DXF 77
     'spacing'
          BD,	DXF 40
     'lock_viewports'
          B,	DXF 293
     'label_viewports'
          B,	DXF 294
     'page_setup_wizard'
          H,	DXF 340
     'view'
          H,	DXF 341
     'visualstyle'
          H,	DXF 342
     'text_style'
          H,	DXF 343

   *TABLECONTENT*

     'parent'
          struct _dwg_object_object*
     'ldata'
          Dwg_LinkedData
     'tdata'
          Dwg_LinkedTableData
     'fdata'
          Dwg_FormattedTableData
     'tablestyle'
          H,	DXF 340

   *TABLEGEOMETRY*

     'parent'
          struct _dwg_object_object*
     'numrows'
          BL,	DXF 90
     'numcols'
          BL,	DXF 91
     'num_cells'
          BL,	DXF 92
     'cells'
          Dwg_TABLEGEOMETRY_Cell*

   *TABLESTYLE*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS
     'name'
          T,	DXF 3
     'flags'
          BS,	DXF 71
     'flow_direction'
          BS,	DXF 70
     'horiz_cell_margin'
          BD,	DXF 40
     'vert_cell_margin'
          BD,	DXF 41
     'is_title_suppressed'
          B,	DXF 280
     'is_header_suppressed'
          B,	DXF 281
     'unknown_rc'
          RC,	DXF 70
     'unknown_bl1'
          BL
     'unknown_bl2'
          BL
     'cellstyle'
          H
     'sty'
          Dwg_TABLESTYLE_CellStyle
     'numoverrides'
          BL
     'unknown_bl3'
          BL
     'ovr'
          Dwg_TABLESTYLE_CellStyle
     'num_rowstyles'
          BL
     'rowstyles'
          Dwg_TABLESTYLE_rowstyles*

   *TEXTOBJECTCONTEXTDATA*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BS,	DXF 70
     'is_default'
          B,	DXF 290
     'scale'
          H,	DXF 340
     'horizontal_mode'
          BS,	DXF 70
     'rotation'
          BD,	DXF 50
     'ins_pt'
          2RD,	DXF 10
     'alignment_pt'
          2RD,	DXF 11

   *TVDEVICEPROPERTIES*

     'parent'
          struct _dwg_object_object*
     'flags'
          BL
     'max_regen_threads'
          BS
     'use_lut_palette'
          BL
     'alt_hlt'
          BLL
     'alt_hltcolor'
          BLL
     'geom_shader_usage'
          BLL
     'blending_mode'
          BL
     'antialiasing_level'
          BD
     'bd2'
          BD

   *UCS*

   UCS is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'ucsorg'
          3BD,	DXF 10
     'ucsxdir'
          3BD,	DXF 11
     'ucsydir'
          3BD,	DXF 12
     'ucs_elevation'
          BD,	DXF 146
     'UCSORTHOVIEW'
          BS,	DXF 79
     'base_ucs'
          H,	DXF 346
     'named_ucs'
          H
     'num_orthopts'
          BS
     'orthopts'
          Dwg_UCS_orthopts*

   *UCS_CONTROL*

   UCS_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *UNKNOWN_OBJ*

     'parent'
          struct _dwg_object_object*

   *VBA_PROJECT*

     'parent'
          struct _dwg_object_object*
     'data_size'
          BL,	DXF 90
     'data'
          TF,	DXF 310

   *VIEW*

   VIEW is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'VIEWSIZE'
          BD,	DXF 40
     'view_width'
          BD,	DXF 41
     'aspect_ratio'
          BD
     'VIEWCTR'
          2RD,	DXF 10
     'view_target'
          3BD,	DXF 12
     'VIEWDIR'
          3BD,	DXF 11
     'twist_angle'
          BD,	DXF 50
     'lens_length'
          BD,	DXF 42
     'front_clip_z'
          BD,	DXF 43
     'back_clip_z'
          BD,	DXF 44
     'VIEWMODE'
          4BITS,	DXF 71
     'render_mode'
          RC,	DXF 281
     'use_default_lights'
          B,	DXF 292
     'default_lightning_type'
          RC,	DXF 282
     'brightness'
          BD,	DXF 141
     'contrast'
          BD,	DXF 142
     'ambient_color'
          CMC,	DXF 63
     'is_pspace'
          B
     'associated_ucs'
          B,	DXF 72
     'ucsorg'
          3BD,	DXF 110
     'ucsxdir'
          3BD,	DXF 111
     'ucsydir'
          3BD,	DXF 112
     'ucs_elevation'
          BD,	DXF 146
     'UCSORTHOVIEW'
          BS,	DXF 79
     'is_camera_plottable'
          B,	DXF 73
     'background'
          H,	DXF 332
     'visualstyle'
          H,	DXF 348
     'sun'
          H,	DXF 361
     'base_ucs'
          H,	DXF 346
     'named_ucs'
          H,	DXF 345
     'livesection'
          H,	DXF 334

   *VIEW_CONTROL*

   VIEW_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *VISUALSTYLE*

     'parent'
          struct _dwg_object_object*
     'description'
          T,	DXF 2
     'style_type'
          BL,	DXF 70
     'ext_lighting_model'
          BS,	DXF 177
     'internal_only'
          B,	DXF 291
     'face_lighting_model'
          BL,	DXF 71
     'face_lighting_model_int'
          BS,	DXF 176
     'face_lighting_quality'
          BL,	DXF 72
     'face_lighting_quality_int'
          BS,	DXF 176
     'face_color_mode'
          BL,	DXF 73
     'face_color_mode_int'
          BS,	DXF 176
     'face_opacity'
          BD,	DXF 40
     'face_opacity_int'
          BS,	DXF 176
     'face_specular'
          BD,	DXF 41
     'face_specular_int'
          BS,	DXF 176
     'face_modifier'
          BL,	DXF 90
     'face_modifier_int'
          BS,	DXF 176
     'face_mono_color'
          CMC,	DXF 63
     'face_mono_color_int'
          BS,	DXF 176
     'edge_model'
          BS,	DXF 74
     'edge_model_int'
          BS,	DXF 176
     'edge_style'
          BL,	DXF 91
     'edge_style_int'
          BS,	DXF 176
     'edge_intersection_color'
          CMC,	DXF 64
     'edge_intersection_color_int'
          BS,	DXF 176
     'edge_obscured_color'
          CMC,	DXF 65
     'edge_obscured_color_int'
          BS,	DXF 176
     'edge_obscured_ltype'
          BL,	DXF 75
     'edge_obscured_ltype_int'
          BS,	DXF 176
     'edge_intersection_ltype'
          BL,	DXF 175
     'edge_intersection_ltype_int'
          BS,	DXF 176
     'edge_crease_angle'
          BD,	DXF 42
     'edge_crease_angle_int'
          BS,	DXF 176
     'edge_modifier'
          BL,	DXF 92
     'edge_modifier_int'
          BS,	DXF 176
     'edge_color'
          CMC,	DXF 66
     'edge_color_int'
          BS,	DXF 176
     'edge_opacity'
          BD,	DXF 43
     'edge_opacity_int'
          BS,	DXF 176
     'edge_width'
          BL,	DXF 76
     'edge_width_int'
          BS,	DXF 176
     'edge_overhang'
          BL,	DXF 77
     'edge_overhang_int'
          BS,	DXF 176
     'edge_jitter'
          BL,	DXF 78
     'edge_jitter_int'
          BS,	DXF 176
     'edge_silhouette_color'
          CMC,	DXF 67
     'edge_silhouette_color_int'
          BS,	DXF 176
     'edge_silhouette_width'
          BL,	DXF 79
     'edge_silhouette_width_int'
          BS,	DXF 176
     'edge_halo_gap'
          BL,	DXF 170
     'edge_halo_gap_int'
          BS,	DXF 176
     'edge_isolines'
          BL,	DXF 171
     'edge_isolines_int'
          BS,	DXF 176
     'edge_do_hide_precision'
          B,	DXF 290
     'edge_do_hide_precision_int'
          BS,	DXF 176
     'edge_style_apply'
          BL,	DXF 174
     'edge_style_apply_int'
          BS
     'display_settings'
          BL,	DXF 93
     'display_settings_int'
          BS,	DXF 176
     'display_brightness_bl'
          BLd,	DXF 44
     'display_brightness'
          BD,	DXF 44
     'display_brightness_int'
          BS,	DXF 176
     'display_shadow_type'
          BL,	DXF 173
     'display_shadow_type_int'
          BS,	DXF 176
     'bd2007_45'
          BD,	DXF 45
     'num_props'
          BS,	DXF 70
     'b_prop1c'
          B,	DXF 290
     'b_prop1c_int'
          BS,	DXF 176
     'b_prop1d'
          B,	DXF 290
     'b_prop1d_int'
          BS,	DXF 176
     'b_prop1e'
          B,	DXF 290
     'b_prop1e_int'
          BS,	DXF 176
     'b_prop1f'
          B,	DXF 290
     'b_prop1f_int'
          BS,	DXF 176
     'b_prop20'
          B,	DXF 290
     'b_prop20_int'
          BS,	DXF 176
     'b_prop21'
          B,	DXF 290
     'b_prop21_int'
          BS,	DXF 176
     'b_prop22'
          B,	DXF 290
     'b_prop22_int'
          BS,	DXF 176
     'b_prop23'
          B,	DXF 290
     'b_prop23_int'
          BS,	DXF 176
     'b_prop24'
          B,	DXF 290
     'b_prop24_int'
          BS,	DXF 176
     'bl_prop25'
          BL,	DXF 90
     'bl_prop25_int'
          BS,	DXF 176
     'bd_prop26'
          BD,	DXF 40
     'bd_prop26_int'
          BS,	DXF 176
     'bd_prop27'
          BD,	DXF 40
     'bd_prop27_int'
          BS,	DXF 176
     'bl_prop28'
          BL,	DXF 90
     'bl_prop28_int'
          BS,	DXF 176
     'c_prop29'
          CMC,	DXF 62
     'c_prop29_int'
          BS,	DXF 176
     'bl_prop2a'
          BL,	DXF 90
     'bl_prop2a_int'
          BS,	DXF 176
     'bl_prop2b'
          BL,	DXF 90
     'bl_prop2b_int'
          BS,	DXF 176
     'c_prop2c'
          CMC,	DXF 62
     'c_prop2c_int'
          BS,	DXF 176
     'b_prop2d'
          B,	DXF 290
     'b_prop2d_int'
          BS,	DXF 176
     'bl_prop2e'
          BL,	DXF 90
     'bl_prop2e_int'
          BS,	DXF 176
     'bl_prop2f'
          BL,	DXF 90
     'bl_prop2f_int'
          BS,	DXF 176
     'bl_prop30'
          BL,	DXF 90
     'bl_prop30_int'
          BS,	DXF 176
     'b_prop31'
          B,	DXF 290
     'b_prop31_int'
          BS,	DXF 176
     'bl_prop32'
          BL,	DXF 90
     'bl_prop32_int'
          BS,	DXF 176
     'c_prop33'
          CMC,	DXF 62
     'c_prop33_int'
          BS,	DXF 176
     'bd_prop34'
          BD,	DXF 40
     'bd_prop34_int'
          BS,	DXF 176
     'edge_wiggle'
          BL,	DXF 90
     'edge_wiggle_int'
          BS,	DXF 176
     'strokes'
          T,	DXF 1
     'strokes_int'
          BS,	DXF 176
     'b_prop37'
          B,	DXF 290
     'b_prop37_int'
          BS,	DXF 176
     'bd_prop38'
          BD,	DXF 40
     'bd_prop38_int'
          BS,	DXF 176
     'bd_prop39'
          BD,	DXF 40
     'bd_prop39_int'
          BS,	DXF 176

   *VPORT*

   VPORT is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'VIEWSIZE'
          BD,	DXF 40
     'view_width'
          BD
     'aspect_ratio'
          BD,	DXF 41
     'VIEWCTR'
          2RD,	DXF 12
     'view_target'
          3BD,	DXF 17
     'VIEWDIR'
          3BD,	DXF 16
     'view_twist'
          BD,	DXF 51
     'lens_length'
          BD,	DXF 42
     'front_clip_z'
          BD,	DXF 43
     'back_clip_z'
          BD,	DXF 44
     'VIEWMODE'
          4BITS,	DXF 71
     'render_mode'
          RC,	DXF 281
     'use_default_lights'
          B,	DXF 292
     'default_lightning_type'
          RC,	DXF 282
     'brightness'
          BD,	DXF 141
     'contrast'
          BD,	DXF 142
     'ambient_color'
          CMC,	DXF 63
     'lower_left'
          2RD,	DXF 10
     'upper_right'
          2RD,	DXF 11
     'UCSFOLLOW'
          B,	DXF 71
     'circle_zoom'
          BS,	DXF 72
     'FASTZOOM'
          B,	DXF 73
     'UCSICON'
          RC,	DXF 74
     'GRIDMODE'
          B,	DXF 76
     'GRIDUNIT'
          2RD,	DXF 15
     'SNAPMODE'
          B,	DXF 75
     'SNAPSTYLE'
          B,	DXF 77
     'SNAPISOPAIR'
          BS,	DXF 78
     'SNAPANG'
          BD,	DXF 50
     'SNAPBASE'
          2RD,	DXF 13
     'SNAPUNIT'
          2RD,	DXF 14
     'ucs_at_origin'
          B
     'UCSVP'
          B,	DXF 71
     'ucsorg'
          3BD,	DXF 110
     'ucsxdir'
          3BD,	DXF 111
     'ucsydir'
          3BD,	DXF 112
     'ucs_elevation'
          BD,	DXF 146
     'UCSORTHOVIEW'
          BS,	DXF 79
     'grid_flags'
          BS,	DXF 60
     'grid_major'
          BS,	DXF 61
     'background'
          H,	DXF 332
     'visualstyle'
          H,	DXF 348
     'sun'
          H,	DXF 361
     'named_ucs'
          H,	DXF 345
     'base_ucs'
          H,	DXF 346

   *VPORT_CONTROL*

   VPORT_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *VX_CONTROL*

   VX_CONTROL is a table_control object.

     'parent'
          struct _dwg_object_object*
     'num_entries'
          BS,	DXF 70
     'entries'
          H*

   *VX_TABLE_RECORD*

   VX_TABLE_RECORD is a table object.

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'name'
          TV
     'used'
          RS
     'is_xref_ref'
          B
     'is_xref_resolved'
          BS
     'is_xref_dep'
          B
     'xref'
          H
     'is_on'
          B,	DXF 290
     'viewport'
          H,	DXF 338
     'prev_entry'
          H,	DXF 340

   *WIPEOUTVARIABLES*

     'parent'
          struct _dwg_object_object*
     'display_frame'
          BS,	DXF 70

   *XRECORD*

     'parent'
          struct _dwg_object_object*
     'cloning'
          BS,	DXF 280
     'xdata_size'
          BL
     'num_xdata'
          BL
     'xdata'
          Dwg_Resbuf*
     'num_objid_handles'
          BL
     'objid_handles'
          H*,	DXF 340

   *PDFDEFINITION*

     'parent'
          struct _dwg_object_object*
     'filename'
          T,	DXF 1
     'name'
          T,	DXF 2

   *DGNDEFINITION*

     *Note UNDERLAYDEFINITION::

   *DWFDEFINITION*

     *Note UNDERLAYDEFINITION::

   *ASSOCARRAYMODIFYPARAMETERS*

     'parent'
          struct _dwg_object_object*
     'aap_version'
          BL
     'num_items'
          BL
     'classname'
          TV
     'items'
          Dwg_ASSOCARRAYITEM*
     'numitems'
          BL
     'numrows'
          BL
     'numlevels'
          BL

   *ASSOCARRAYPATHPARAMETERS*

     *Note ASSOCARRAYPARAMETERS::

   *ASSOCARRAYPOLARPARAMETERS*

     *Note ASSOCARRAYPARAMETERS::

   *ASSOCARRAYRECTANGULARPARAMETERS*

     *Note ASSOCARRAYPARAMETERS::

   *Dwg_3DSOLID_material*

     'parent'
          struct _dwg_entity_3DSOLID*
     'array_index'
          BL
     'mat_absref'
          BL
     'material_handle'
          H

   *Dwg_3DSOLID_silhouette*

     'parent'
          struct _dwg_entity_3DSOLID*
     'vp_id'
          BL
     'vp_target'
          3BD
     'vp_dir_from_target'
          3BD
     'vp_up_dir'
          3BD
     'vp_perspective'
          B
     'has_wires'
          B
     'num_wires'
          BL
     'wires'
          Dwg_3DSOLID_wire*

   *Dwg_3DSOLID_wire*

     'parent'
          struct _dwg_entity_3DSOLID*
     'type'
          RC
     'selection_marker'
          BLd
     'color'
          BL
     'acis_index'
          BLd
     'num_points'
          BL
     'points'
          3BD*
     'transform_present'
          B
     'axis_x'
          3BD
     'axis_y'
          3BD
     'axis_z'
          3BD
     'translation'
          3BD
     'scale'
          3BD
     'has_rotation'
          B
     'has_reflection'
          B
     'has_shear'
          B

   *Dwg_ACSH_HistoryNode*

     'major'
          BL
     'minor'
          BL
     'trans'
          BD*,	DXF 40
     'color'
          CMC
     'step_id'
          BL
     'material'
          H

   *Dwg_ACSH_SubentColor*

     'major'
          BL
     'minor'
          BL
     'transparency'
          BL
     'bl93'
          BL
     'is_face_variable'
          B

   *Dwg_ACSH_SubentMaterial*

     'major'
          BL
     'minor'
          BL
     'reflectance'
          BL
     'displacement'
          BL

   *Dwg_ACTIONBODY*

     'parent'
          struct _dwg_object_ASSOCNETWORK*
     'evaluatorid'
          T
     'expression'
          T
     'value'
          BL

   *Dwg_ARRAYITEMLOCATOR*

     'parent'
          struct _dwg_object_ASSOCARRAYMODIFYACTIONBODY*
     'itemloc1'
          BL,	DXF 90
     'itemloc2'
          BL,	DXF 90
     'itemloc3'
          BL,	DXF 90

   *Dwg_ASSOCACTIONBODY_action*

     'parent'
          struct _dwg_object_ASSOCMLEADERACTIONBODY*
     'depid'
          BL
     'dep'
          H,	DXF 330

   *Dwg_ASSOCACTION_Deps*

     'parent'
          struct _dwg_object_ASSOCACTION*
     'is_owned'
          B
     'dep'
          H

   *Dwg_ASSOCARRAYITEM*

     'parent'
          struct _dwg_abstractobject_ASSOCARRAYPARAMETERS*
     'class_version'
          BL,	DXF 90
     'itemloc[3]'
          BL
     'flags'
          BL
     'is_default_transmatrix'
          int
     'x_dir'
          3BD
     'transmatrix'
          BD*
     'rel_transform'
          BD*
     'has_h1'
          int
     'h1'
          H
     'h2'
          H

   *Dwg_ASSOCPARAMBASEDACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'version'
          BL
     'minor'
          BL
     'num_deps'
          BL,	DXF 90
     'deps'
          H*
     'l4'
          BL
     'l5'
          BL
     'assocdep'
          H
     'num_values'
          BL
     'values'
          struct _dwg_VALUEPARAM*

   *Dwg_ASSOCSURFACEACTIONBODY*

     'parent'
          struct _dwg_object_object*
     'version'
          BL
     'is_semi_assoc'
          B
     'l2'
          BL
     'is_semi_ovr'
          B
     'grip_status'
          BS
     'assocdep'
          H

   *Dwg_AcDs*

     'file_signature'
          RL
     'file_header_size'
          RL
     'unknown_1'
          RL
     'version'
          RL
     'unknown_2'
          RL
     'ds_version'
          RL
     'segidx_offset'
          RL
     'segidx_unknown'
          RL
     'num_segidx'
          RL
     'schidx_segidx'
          RL
     'datidx_segidx'
          RL
     'search_segidx'
          RL
     'prvsav_segidx'
          RL
     'file_size'
          RL
     'total_segments'
          BL
     'segidx'
          Dwg_AcDs_SegmentIndex*
     'datidx'
          Dwg_AcDs_DataIndex
     'data'
          Dwg_AcDs_Data*
     'blob01'
          Dwg_AcDs_DataBlob
     'schidx'
          Dwg_AcDs_SchemaIndex
     'schdat'
          Dwg_AcDs_SchemaData
     'search'
          Dwg_AcDs_Search
     'segments'
          Dwg_AcDs_Segment*

   *Dwg_AcDs_Data*

     'record_hdrs'
          Dwg_AcDs_Data_RecordHdr*
     'records'
          Dwg_AcDs_Data_Record*

   *Dwg_AcDs_DataBlob*

     'data_size'
          RLL
     'page_count'
          RL
     'record_size'
          RL
     'page_size'
          RL
     'unknown_1'
          RL
     'unknown_2'
          RL
     'ref'
          Dwg_AcDs_DataBlobRef*

   *Dwg_AcDs_DataBlob01*

     'total_data_size'
          RLL
     'page_start_offset'
          RLL
     'page_index'
          int32_t
     'page_count'
          int32_t
     'page_data_size'
          RLL
     'page_data'
          RC*

   *Dwg_AcDs_DataBlobRef*

     'total_data_size'
          RLL
     'num_pages'
          RL
     'record_size'
          RL
     'page_size'
          RL
     'unknown_1'
          RL
     'unknown_2'
          RL
     'pages'
          Dwg_AcDs_DataBlobRef_Page*

   *Dwg_AcDs_DataBlobRef_Page*

     'segidx'
          RL
     'size'
          RL

   *Dwg_AcDs_DataIndex*

     'num_entries'
          RL
     'di_unknown'
          RL
     'entries'
          Dwg_AcDs_DataIndex_Entry*

   *Dwg_AcDs_DataIndex_Entry*

     'segidx'
          RL
     'offset'
          RL
     'schidx'
          RL

   *Dwg_AcDs_Data_Record*

     'data_size'
          RL
     'blob'
          RC*

   *Dwg_AcDs_Data_RecordHdr*

     'entry_size'
          RL
     'unknown'
          RL
     'handle'
          RLL
     'offset'
          RL

   *Dwg_AcDs_Schema*

     'num_index'
          RS
     'index'
          RLL*
     'num_props'
          RS
     'props'
          Dwg_AcDs_Schema_Prop*

   *Dwg_AcDs_SchemaData*

     'num_uprops'
          RL
     'uprops'
          Dwg_AcDs_SchemaData_UProp*
     'num_schemas'
          RL
     'schemas'
          Dwg_AcDs_Schema*
     'num_propnames'
          RL
     'propnames'
          TV*

   *Dwg_AcDs_SchemaData_UProp*

     'size'
          RL
     'flags'
          RL

   *Dwg_AcDs_SchemaIndex*

     'num_props'
          RL
     'si_unknown_1'
          RL
     'props'
          Dwg_AcDs_SchemaIndex_Prop*
     'si_tag'
          RLL
     'num_prop_entries'
          RL
     'si_unknown_2'
          RL
     'prop_entries'
          Dwg_AcDs_SchemaIndex_Prop*

   *Dwg_AcDs_SchemaIndex_Prop*

     'index'
          RL
     'segidx'
          RL
     'offset'
          RL

   *Dwg_AcDs_Schema_Prop*

     'flags'
          RL
     'namidx'
          RL
     'type'
          RL
     'type_size'
          RL
     'unknown_1'
          RL
     'unknown_2'
          RL
     'num_values'
          RS
     'values'
          RC*

   *Dwg_AcDs_Search*

     'num_search'
          RL
     'search'
          Dwg_AcDs_Search_Data*

   *Dwg_AcDs_Search_Data*

     'schema_namidx'
          RL
     'num_sortedidx'
          RL
     'sortedidx'
          RLL*
     'num_ididxs'
          RL
     'unknown'
          RL
     'ididxs'
          Dwg_AcDs_Search_IdIdxs*

   *Dwg_AcDs_Search_IdIdx*

     'handle'
          RLL
     'num_ididx'
          RL
     'ididx'
          RLL*

   *Dwg_AcDs_Search_IdIdxs*

     'num_ididx'
          RL
     'ididx'
          Dwg_AcDs_Search_IdIdx*

   *Dwg_AcDs_Segment*

     'signature'
          RL
     'name[7]'
          RC
     'type'
          RCd
     'segment_idx'
          RL
     'is_blob01'
          RL
     'segsize'
          RL
     'unknown_2'
          RL
     'ds_version'
          RL
     'unknown_3'
          RL
     'data_algn_offset'
          RL
     'objdata_algn_offset'
          RL
     'padding[9]'
          RC

   *Dwg_AcDs_SegmentIndex*

     'offset'
          RLL
     'size'
          RL

   *Dwg_BLOCKACTION_connectionpts*

     'code'
          BL
     'name'
          TV

   *Dwg_BLOCKLOOKUPACTION_lut*

     'parent'
          struct _dwg_object_BLOCKLOOKUPACTION*
     'conn_pts'
          Dwg_BLOCKACTION_connectionpts
     'b282'
          B,	DXF 282
     'b281'
          B,	DXF 281

   *Dwg_BLOCKPARAMETER_PropInfo*

     'num_connections'
          BL
     'connections'
          Dwg_BLOCKPARAMETER_connection*

   *Dwg_BLOCKPARAMETER_connection*

     'code'
          BL
     'name'
          T

   *Dwg_BLOCKPARAMVALUESET*

     'desc'
          TV
     'flags'
          BL
     'minimum'
          BD
     'maximum'
          BD
     'increment'
          BD
     'num_valuelist'
          BS
     'valuelist'
          BD*

   *Dwg_BLOCKVISIBILITYPARAMETER_state*

     'parent'
          struct _dwg_object_BLOCKVISIBILITYPARAMETER*
     'name'
          T,	DXF 303
     'num_blocks'
          BL,	DXF 94
     'blocks'
          H*,	DXF 332
     'num_params'
          BL,	DXF 95
     'params'
          H*,	DXF 333

   *Dwg_COMPOUNDOBJECTID*

     'parent'
          struct _dwg_object_object*
     'has_object'
          B
     'name'
          T
     'object'
          H

   *Dwg_CONSTRAINTGROUPNODE*

     'parent'
          struct _dwg_object_ASSOC2DCONSTRAINTGROUP*
     'nodeid'
          BL
     'status'
          RC
     'num_connections'
          BL
     'connections'
          BL*

   *Dwg_CONTEXTDATA_dict*

     'parent'
          struct _dwg_CONTEXTDATA_submgr*
     'text'
          T,	DXF 3
     'itemhandle'
          H,	DXF 350

   *Dwg_CONTEXTDATA_submgr*

     'parent'
          struct _dwg_object_CONTEXTDATAMANAGER*
     'handle'
          H
     'num_entries'
          BL,	DXF 90
     'entries'
          Dwg_CONTEXTDATA_dict*

   *Dwg_CellContentGeometry*

     'dist_top_left'
          3BD,	DXF 10
     'dist_center'
          3BD,	DXF 11
     'content_width'
          BD,	DXF 43
     'content_height'
          BD,	DXF 44
     'width'
          BD,	DXF 45
     'height'
          BD,	DXF 46
     'unknown'
          BL,	DXF 95
     'cell_parent'
          struct _dwg_TableCell*
     'geom_parent'
          struct _dwg_TABLEGEOMETRY_Cell*

   *Dwg_CellStyle*

     'type'
          BL,	DXF 90
     'data_flags'
          BS,	DXF 170
     'property_override_flags'
          BL,	DXF 91
     'merge_flags'
          BL,	DXF 92
     'bg_color'
          CMC,	DXF 62
     'content_layout'
          BL,	DXF 93
     'content_format'
          Dwg_ContentFormat
     'margin_override_flags'
          BS,	DXF 171
     'vert_margin'
          BD,	DXF 40
     'horiz_margin'
          BD,	DXF 40
     'bottom_margin'
          BD,	DXF 40
     'right_margin'
          BD,	DXF 40
     'margin_horiz_spacing'
          BD,	DXF 40
     'margin_vert_spacing'
          BD,	DXF 40
     'num_borders'
          BL,	DXF 94
     'borders'
          Dwg_GridFormat*
     'tablerow_parent'
          struct _dwg_TableRow*
     'tabledatacolumn_parent'
          struct _dwg_TableDataColumn*

   *Dwg_ColorRamp*

     'parent'
          struct _dwg_POINTCLOUDCOLORMAP_Ramp*
     'colorscheme'
          T,	DXF 1
     'unknown_bl'
          BL,	DXF 91
     'unknown_b'
          B,	DXF 290

   *Dwg_ContentFormat*

     'property_override_flags'
          BL,	DXF 90
     'property_flags'
          BL,	DXF 91
     'value_data_type'
          BL,	DXF 92
     'value_unit_type'
          BL,	DXF 93
     'value_format_string'
          T,	DXF 300
     'rotation'
          BD,	DXF 40
     'block_scale'
          BD,	DXF 140
     'cell_alignment'
          BL,	DXF 94
     'content_color'
          CMC,	DXF 62
     'text_style'
          H
     'text_height'
          BD,	DXF 144

   *Dwg_DATALINK_customdata*

     'parent'
          struct _dwg_object_DATALINK*
     'target'
          H
     'text'
          T,	DXF 304

   *Dwg_DATATABLE_column*

     'parent'
          struct _dwg_object_DATATABLE*
     'type'
          BL,	DXF 92
     'text'
          T,	DXF 2
     'rows'
          Dwg_DATATABLE_row*

   *Dwg_DATATABLE_row*

     'parent'
          struct _dwg_DATATABLE_column*
     'value'
          Dwg_TABLE_value

   *Dwg_DIMASSOC_Ref*

     'parent'
          struct _dwg_object_DIMASSOC*
     'classname'
          T,	DXF 1
     'osnap_type'
          RC,	DXF 72
     'osnap_dist'
          BD,	DXF 40
     'osnap_pt'
          3BD,	DXF 10
     'num_xrefs'
          BS
     'xrefs'
          H*,	DXF 331
     'main_subent_type'
          BS,	DXF 73
     'main_gsmarker'
          BL,	DXF 91
     'num_xrefpaths'
          BS
     'xrefpaths'
          TV*,	DXF 301
     'has_lastpt_ref'
          B,	DXF 75
     'lastpt_ref'
          3BD
     'num_intsectobj'
          BL,	DXF 74
     'intsectobj'
          H*,	DXF 332

   *Dwg_DIMENSION_common*

     'parent'
          struct _dwg_object_entity*
     'class_version'
          RC,	DXF 280
     'extrusion'
          BE,	DXF 210
     'def_pt'
          3BD,	DXF 10
     'text_midpt'
          2RD,	DXF 11
     'elevation'
          BD,	DXF 31
     'flag'
          RC,	DXF 70
     'flag1'
          RC
     'user_text'
          TV,	DXF 1
     'text_rotation'
          BD,	DXF 53
     'horiz_dir'
          BD,	DXF 51
     'ins_scale'
          3BD
     'ins_rotation'
          BD,	DXF 54
     'attachment'
          BS,	DXF 71
     'lspace_style'
          BS,	DXF 72
     'lspace_factor'
          BD,	DXF 41
     'act_measurement'
          BD,	DXF 42
     'unknown'
          B,	DXF 73
     'flip_arrow1'
          B,	DXF 74
     'flip_arrow2'
          B,	DXF 75
     'clone_ins_pt'
          2RD,	DXF 12
     'dimstyle'
          H,	DXF 3
     'block'
          H

   *Dwg_EVAL_Edge*

     'parent'
          struct _dwg_object_EVALUATION_GRAPH*
     'id'
          BL,	DXF 92
     'nextid'
          BLd,	DXF 93
     'e1'
          BLd,	DXF 94
     'e2'
          BLd,	DXF 91
     'e3'
          BLd,	DXF 91
     'out_edge[5]'
          BLd

   *Dwg_EVAL_Node*

     'parent'
          struct _dwg_object_EVALUATION_GRAPH*
     'id'
          BL,	DXF 91
     'edge_flags'
          BL,	DXF 93
     'nextid'
          BLd,	DXF 95
     'evalexpr'
          H,	DXF 360
     'node[4]'
          BLd
     'active_cycles'
          B

   *Dwg_EvalExpr*

     'parentid'
          BLd
     'major'
          BL
     'minor'
          BL
     'value_code'
          BSd
     'value.num40'
          BD
     'value.pt2d'
          2RD
     'value.pt3d'
          3BD
     'value.text1'
          TV
     'value.long90'
          BL
     'value.handle91'
          H
     'value.short70'
          BS
     'nodeid'
          BL

   *Dwg_EvalVariant*

     'code'
          BS
     'u.bd'
          BD
     'u.bl'
          BL
     'u.bs'
          BS
     'u.rc'
          RC
     'u.text'
          TV
     'u.handle'
          H

   *Dwg_FIELD_ChildValue*

     'parent'
          struct _dwg_object_FIELD*
     'key'
          TV,	DXF 6
     'value'
          Dwg_TABLE_value

   *Dwg_FileDepList_Files*

     'filename'
          T32
     'filepath'
          T32
     'fingerprint'
          T32
     'version'
          T32
     'feature_index'
          RL
     'timestamp'
          RL
     'filesize'
          RL
     'affects_graphics'
          RS
     'refcount'
          RL

   *Dwg_FormattedTableData*

     'parent'
          struct _dwg_object_TABLECONTENT*
     'cellstyle'
          Dwg_CellStyle
     'num_merged_cells'
          BL,	DXF 90
     'merged_cells'
          Dwg_FormattedTableMerged*

   *Dwg_FormattedTableMerged*

     'parent'
          struct _dwg_FormattedTableData*
     'top_row'
          BL,	DXF 91
     'left_col'
          BL,	DXF 92
     'bottom_row'
          BL,	DXF 93
     'right_col'
          BL,	DXF 94

   *Dwg_GEODATA_meshface*

     'face1'
          BL
     'face2'
          BL
     'face3'
          BL

   *Dwg_GEODATA_meshpt*

     'source_pt'
          2RD
     'dest_pt'
          2RD

   *Dwg_GridFormat*

     'parent'
          struct _dwg_CellStyle*
     'index_mask'
          BL,	DXF 95
     'border_overrides'
          BL,	DXF 90
     'border_type'
          BL,	DXF 91
     'color'
          CMC,	DXF 62
     'linewt'
          BLd,	DXF 92
     'ltype'
          H,	DXF 340
     'visible'
          B,	DXF 93
     'double_line_spacing'
          BD,	DXF 40

   *Dwg_HATCH_Color*

     'parent'
          struct _dwg_entity_HATCH*
     'shift_value'
          BD,	DXF 463
     'color'
          CMC,	DXF 63

   *Dwg_HATCH_ControlPoint*

     'parent'
          struct _dwg_HATCH_PathSeg*
     'point'
          2RD,	DXF 10
     'weight'
          BD,	DXF 40

   *Dwg_HATCH_DefLine*

     'parent'
          struct _dwg_entity_HATCH*
     'angle'
          BD,	DXF 53
     'pt0'
          2BD,	DXF 43
     'offset'
          2BD,	DXF 45
     'num_dashes'
          BS,	DXF 79
     'dashes'
          BD*

   *Dwg_HATCH_Path*

     'parent'
          struct _dwg_entity_HATCH*
     'flag'
          BL,	DXF 92
     'num_segs_or_paths'
          BL,	DXF 93
     'segs'
          Dwg_HATCH_PathSeg*
     'bulges_present'
          B,	DXF 72
     'closed'
          B,	DXF 73
     'polyline_paths'
          Dwg_HATCH_PolylinePath*
     'num_boundary_handles'
          BL,	DXF 97
     'boundary_handles'
          H*,	DXF 330

   *Dwg_HATCH_PathSeg*

     'parent'
          struct _dwg_HATCH_Path*
     'curve_type'
          RC,	DXF 72
     'first_endpoint'
          2RD,	DXF 10
     'second_endpoint'
          2RD,	DXF 11
     'center'
          2RD,	DXF 10
     'radius'
          BD,	DXF 40
     'start_angle'
          BD,	DXF 50
     'end_angle'
          BD,	DXF 51
     'is_ccw'
          B,	DXF 73
     'endpoint'
          2RD,	DXF 11
     'minor_major_ratio'
          BD,	DXF 40
     'degree'
          BL,	DXF 94
     'is_rational'
          B,	DXF 73
     'is_periodic'
          B,	DXF 74
     'num_knots'
          BL,	DXF 95
     'num_control_points'
          BL,	DXF 96
     'knots'
          BD*
     'control_points'
          Dwg_HATCH_ControlPoint*
     'num_fitpts'
          BL,	DXF 97
     'fitpts'
          2RD*
     'start_tangent'
          2RD
     'end_tangent'
          2RD

   *Dwg_HATCH_PolylinePath*

     'parent'
          struct _dwg_HATCH_Path*
     'point'
          2RD,	DXF 10
     'bulge'
          BD,	DXF 42

   *Dwg_LAYER_entry*

     'parent'
          struct _dwg_object_LAYER_INDEX*
     'numlayers'
          BL,	DXF 90
     'name'
          T,	DXF 8
     'handle'
          H,	DXF 360

   *Dwg_LEADER_ArrowHead*

     'parent'
          struct _dwg_entity_MULTILEADER*
     'is_default'
          B,	DXF 94
     'arrowhead'
          H,	DXF 345

   *Dwg_LEADER_BlockLabel*

     'parent'
          struct _dwg_entity_MULTILEADER*
     'attdef'
          H,	DXF 330
     'label_text'
          TV,	DXF 302
     'ui_index'
          BS,	DXF 177
     'width'
          BD,	DXF 44

   *Dwg_LEADER_Break*

     'parent'
          struct _dwg_LEADER_Line*
     'start'
          3BD,	DXF 11
     'end'
          3BD,	DXF 12

   *Dwg_LEADER_Line*

     'parent'
          struct _dwg_LEADER_Node*
     'num_points'
          BL
     'points'
          3DPOINT*
     'num_breaks'
          BL
     'breaks'
          Dwg_LEADER_Break*
     'line_index'
          BL,	DXF 91
     'type'
          BS,	DXF 170
     'color'
          CMC,	DXF 92
     'ltype'
          H,	DXF 340
     'linewt'
          BLd,	DXF 171
     'arrow_size'
          BD,	DXF 40
     'arrow_handle'
          H,	DXF 341
     'flags'
          BL,	DXF 93

   *Dwg_LEADER_Node*

     'parent'
          struct _dwg_entity_MULTILEADER*
     'has_lastleaderlinepoint'
          B,	DXF 290
     'has_dogleg'
          B,	DXF 291
     'lastleaderlinepoint'
          3BD,	DXF 10
     'dogleg_vector'
          3BD,	DXF 11
     'branch_index'
          BL,	DXF 90
     'dogleg_length'
          BD,	DXF 40
     'num_lines'
          BL
     'lines'
          Dwg_LEADER_Line*
     'num_breaks'
          BL
     'breaks'
          Dwg_LEADER_Break*
     'attach_dir'
          BS,	DXF 271

   *Dwg_LIGHTLIST_light*

     'parent'
          struct _dwg_object_LIGHTLIST*
     'name'
          T,	DXF 1
     'handle'
          H,	DXF 5

   *Dwg_LTYPE_dash*

     'parent'
          struct _dwg_object_LTYPE*
     'length'
          BD,	DXF 49
     'complex_shapecode'
          BS,	DXF 75
     'style'
          H,	DXF 340
     'x_offset'
          RD,	DXF 44
     'y_offset'
          RD,	DXF 45
     'scale'
          BD,	DXF 46
     'rotation'
          BD,	DXF 50
     'shape_flag'
          BS,	DXF 74
     'text'
          T,	DXF 9

   *Dwg_LWPOLYLINE_width*

     'start'
          BD,	DXF 40
     'end'
          BD,	DXF 41

   *Dwg_LinkedData*

     'name'
          T,	DXF 1
     'description'
          T,	DXF 300

   *Dwg_LinkedTableData*

     'num_cols'
          BL,	DXF 90
     'cols'
          Dwg_TableDataColumn*
     'num_rows'
          BL,	DXF 90
     'rows'
          Dwg_TableRow*
     'num_field_refs'
          BL
     'field_refs'
          H*

   *Dwg_MATERIAL_color*

     'parent'
          struct _dwg_object_object*
     'flag'
          RC
     'factor'
          BD
     'rgb'
          BL

   *Dwg_MATERIAL_gentexture*

     'parent'
          struct _dwg_object_MATERIAL*
     'genprocname'
          T
     'material'
          struct _dwg_object_MATERIAL*

   *Dwg_MATERIAL_mapper*

     'parent'
          struct _dwg_object_object*
     'blendfactor'
          BD
     'transmatrix'
          BD*
     'filename'
          T
     'color1'
          Dwg_MATERIAL_color
     'color2'
          Dwg_MATERIAL_color
     'source'
          RC
     'projection'
          RC
     'tiling'
          RC
     'autotransform'
          RC
     'texturemode'
          BS

   *Dwg_MESH_edge*

     'parent'
          struct _dwg_entity_MESH*
     'idxfrom'
          BL,	DXF 90
     'idxto'
          BL,	DXF 90

   *Dwg_MLEADER_AnnotContext*

     'num_leaders'
          BL
     'leaders'
          Dwg_LEADER_Node*
     'attach_dir'
          BS
     'scale_factor'
          BD,	DXF 40
     'content_base'
          3BD,	DXF 10
     'text_height'
          BD,	DXF 41
     'arrow_size'
          BD,	DXF 140
     'landing_gap'
          BD,	DXF 145
     'text_left'
          BS,	DXF 174
     'text_right'
          BS,	DXF 175
     'text_angletype'
          BS,	DXF 176
     'text_alignment'
          BS,	DXF 177
     'has_content_txt'
          B,	DXF 290
     'has_content_blk'
          B,	DXF 296
     'content'
          Dwg_MLEADER_Content
     'base'
          3BD,	DXF 110
     'base_dir'
          3BD,	DXF 111
     'base_vert'
          3BD,	DXF 112
     'is_normal_reversed'
          B,	DXF 297
     'text_top'
          BS,	DXF 273
     'text_bottom'
          BS,	DXF 272

   *Dwg_MLEADER_Content_Block*

     'type'
          RC
     'normal'
          3BD
     'location'
          3BD
     'rotation'
          BD
     'block_table'
          H
     'scale'
          3BD
     'color'
          CMC
     'transform'
          BD*

   *Dwg_MLEADER_Content_MText*

     'type'
          RC
     'normal'
          3BD
     'location'
          3BD
     'rotation'
          BD
     'default_text'
          T
     'style'
          H
     'direction'
          3BD
     'width'
          BD
     'height'
          BD
     'line_spacing_factor'
          BD
     'line_spacing_style'
          BS
     'color'
          CMC
     'alignment'
          BS
     'flow'
          BS
     'bg_color'
          CMC
     'bg_scale'
          BD
     'bg_transparency'
          BL
     'is_bg_fill'
          B
     'is_bg_mask_fill'
          B
     'col_type'
          BS
     'is_height_auto'
          B
     'col_width'
          BD
     'col_gutter'
          BD
     'is_col_flow_reversed'
          B
     'num_col_sizes'
          BL
     'col_sizes'
          BD*
     'word_break'
          B
     'unknown'
          B

   *Dwg_MLINESTYLE_line*

     'parent'
          struct _dwg_object_MLINESTYLE*
     'offset'
          BD,	DXF 49
     'color'
          CMC,	DXF 62
     'lt_index'
          BSd,	DXF 6
     'lt_ltype'
          H,	DXF 6

   *Dwg_MLINE_line*

     'parent'
          struct _dwg_MLINE_vertex*
     'num_segparms'
          BS,	DXF 74
     'segparms'
          BD*
     'num_areafillparms'
          BS,	DXF 75
     'areafillparms'
          BD*

   *Dwg_MLINE_vertex*

     'parent'
          struct _dwg_entity_MLINE*
     'vertex'
          3BD,	DXF 11
     'vertex_direction'
          3BD,	DXF 12
     'miter_direction'
          3BD,	DXF 13
     'num_lines'
          RC
     'lines'
          Dwg_MLINE_line*

   *Dwg_OCD_Dimension*

     'b293'
          B,	DXF 293
     'def_pt'
          2RD,	DXF 10
     'is_def_textloc'
          B,	DXF 294
     'text_rotation'
          BD,	DXF 140
     'block'
          H,	DXF 2
     'dimtofl'
          B,	DXF 298
     'dimosxd'
          B,	DXF 291
     'dimatfit'
          B,	DXF 70
     'dimtix'
          B,	DXF 292
     'dimtmove'
          B,	DXF 71
     'override_code'
          RC,	DXF 280
     'has_arrow2'
          B,	DXF 295
     'flip_arrow2'
          B,	DXF 296
     'flip_arrow1'
          B,	DXF 297

   *Dwg_PARTIAL_VIEWING_INDEX_Entry*

     'parent'
          struct _dwg_object_PARTIAL_VIEWING_INDEX*
     'extents_min'
          3BD
     'extents_max'
          3BD
     'object'
          H

   *Dwg_POINTCLOUDCOLORMAP_Ramp*

     'parent'
          struct _dwg_object_POINTCLOUDCOLORMAP*
     'class_version'
          BS,	DXF 70
     'num_ramps'
          BL,	DXF 90
     'ramps'
          Dwg_ColorRamp*

   *Dwg_POINTCLOUDEX_Croppings*

     'parent'
          struct _dwg_entity_POINTCLOUDEX*
     'type'
          BS,	DXF 280
     'is_inside'
          B,	DXF 290
     'is_inverted'
          B,	DXF 290
     'crop_plane'
          3BD,	DXF 13
     'crop_x_dir'
          3BD,	DXF 213
     'crop_y_dir'
          3BD,	DXF 213
     'num_pts'
          BL,	DXF 93
     'pts'
          3BD*

   *Dwg_POINTCLOUD_Clippings*

     'parent'
          struct _dwg_entity_POINTCLOUD*
     'is_inverted'
          B
     'type'
          BS
     'num_vertices'
          BL
     'vertices'
          2RD*
     'z_min'
          BD
     'z_max'
          BD

   *Dwg_POINTCLOUD_IntensityStyle*

     'parent'
          struct _dwg_entity_POINTCLOUD*
     'min_intensity'
          BD
     'max_intensity'
          BD
     'intensity_low_treshold'
          BD
     'intensity_high_treshold'
          BD

   *Dwg_PROXY_LWPOLYLINE*

     'parent'
          struct _dwg_entity_PROXY_ENTITY*
     'size'
          RL
     'flags'
          BS
     'const_width'
          BD
     'elevation'
          BD
     'thickness'
          BD
     'extrusion'
          BE
     'num_points'
          BL
     'points'
          2RD*
     'num_bulges'
          BL
     'bulges'
          BD*
     'num_widths'
          BL
     'widths'
          Dwg_LWPOLYLINE_width*
     'unknown_1'
          RC
     'unknown_2'
          RC
     'unknown_3'
          RC

   *Dwg_R2004_Header*

     'file_ID_string[12]'
          RC
     'header_address'
          RLx
     'header_size'
          RL
     'x04'
          RL
     'root_tree_node_gap'
          RLd
     'lowermost_left_tree_node_gap'
          RLd
     'lowermost_right_tree_node_gap'
          RLd
     'unknown_long'
          RL
     'last_section_id'
          RL
     'last_section_address'
          RLL
     'second_header_address'
          RLL
     'numgaps'
          RL
     'numsections'
          RL
     'x20'
          RL
     'x80'
          RL
     'x40'
          RL
     'section_map_id'
          RL
     'section_map_address'
          RLL
     'section_info_id'
          RLd
     'section_array_size'
          RL
     'gap_array_size'
          RL
     'crc32'
          RLx
     'padding[12]'
          RC
     'section_type'
          RL
     'decomp_data_size'
          RL
     'comp_data_size'
          RL
     'compression_type'
          RL
     'checksum'
          RLx

   *Dwg_SECTION_geometrysettings*

     'parent'
          struct _dwg_SECTION_typesettings*
     'num_geoms'
          BL,	DXF 90
     'hexindex'
          BL,	DXF 91
     'flags'
          BL,	DXF 92
     'color'
          CMC,	DXF 62
     'layer'
          T,	DXF 8
     'ltype'
          T,	DXF 6
     'ltype_scale'
          BD,	DXF 40
     'plotstyle'
          T,	DXF 1
     'linewt'
          BLd,	DXF 370
     'face_transparency'
          BS,	DXF 70
     'edge_transparency'
          BS,	DXF 71
     'hatch_type'
          BS,	DXF 72
     'hatch_pattern'
          T,	DXF 2
     'hatch_angle'
          BD,	DXF 41
     'hatch_spacing'
          BD,	DXF 42
     'hatch_scale'
          BD,	DXF 43

   *Dwg_SECTION_typesettings*

     'parent'
          struct _dwg_object_SECTION_SETTINGS*
     'type'
          BS,	DXF 90
     'generation'
          BS,	DXF 91
     'num_sources'
          BL,	DXF 92
     'sources'
          H*,	DXF 330
     'destblock'
          H,	DXF 331
     'destfile'
          T,	DXF 1
     'num_geom'
          BL,	DXF 93
     'geom'
          Dwg_SECTION_geometrysettings*

   *Dwg_SPLINE_control_point*

     'parent'
          struct _dwg_entity_SPLINE*
     'x'
          BD
     'y'
          BD
     'z'
          BD
     'w'
          BD,	DXF 41

   *Dwg_SUNSTUDY_Dates*

     'julian_day'
          BL,	DXF 90
     'msecs'
          BL,	DXF 90

   *Dwg_SummaryInfo_Property*

     'tag'
          TU
     'value'
          TU

   *Dwg_TABLEGEOMETRY_Cell*

     'parent'
          struct _dwg_object_TABLEGEOMETRY*
     'geom_data_flag'
          BL,	DXF 93
     'width_w_gap'
          BD,	DXF 40
     'height_w_gap'
          BD,	DXF 41
     'tablegeometry'
          H,	DXF 330
     'num_geometry'
          BL,	DXF 94
     'geometry'
          Dwg_CellContentGeometry*

   *Dwg_TABLESTYLE_CellStyle*

     'parent'
          struct _dwg_object_TABLESTYLE*
     'id'
          BL,	DXF 90
     'type'
          BL,	DXF 91
     'name'
          T,	DXF 300
     'cellstyle.type'
          BL
     'cellstyle.data_flags'
          BS
     'cellstyle.property_override_flags'
          BL
     'cellstyle.merge_flags'
          BL
     'cellstyle.bg_color'
          CMC
     'cellstyle.content_layout'
          BL
     'cellstyle.content_format'
          Dwg_ContentFormat
     'cellstyle.margin_override_flags'
          BS
     'cellstyle.vert_margin'
          BD
     'cellstyle.horiz_margin'
          BD
     'cellstyle.bottom_margin'
          BD
     'cellstyle.right_margin'
          BD
     'cellstyle.margin_horiz_spacing'
          BD
     'cellstyle.margin_vert_spacing'
          BD
     'cellstyle.num_borders'
          BL
     'cellstyle.borders'
          Dwg_GridFormat*
     'cellstyle.tablerow_parent'
          struct _dwg_TableRow*
     'cellstyle.tabledatacolumn_parent'
          struct _dwg_TableDataColumn*
     'cellstyle'
          struct _dwg_CellStyle

   *Dwg_TABLESTYLE_border*

     'linewt'
          BSd
     'visible'
          B
     'color'
          CMC

   *Dwg_TABLESTYLE_rowstyles*

     'parent'
          struct _dwg_object_TABLESTYLE*
     'text_style'
          H,	DXF 7
     'text_height'
          BD,	DXF 140
     'text_alignment'
          BS,	DXF 170
     'text_color'
          CMC,	DXF 62
     'fill_color'
          CMC,	DXF 63
     'has_bgcolor'
          B,	DXF 283
     'num_borders'
          BL
     'borders'
          Dwg_TABLESTYLE_border*
     'data_type'
          BL,	DXF 90
     'unit_type'
          BL,	DXF 91
     'format_string'
          TU,	DXF 1

   *Dwg_TABLE_AttrDef*

     'parent'
          struct _dwg_TABLE_Cell*
     'attdef'
          H,	DXF 331
     'index'
          BS,	DXF 179
     'text'
          T,	DXF 300

   *Dwg_TABLE_BreakHeight*

     'parent'
          struct _dwg_entity_TABLE*
     'position'
          3BD
     'height'
          BD
     'flag'
          BL

   *Dwg_TABLE_BreakRow*

     'parent'
          struct _dwg_entity_TABLE*
     'position'
          3BD
     'start'
          BL
     'end'
          BL

   *Dwg_TABLE_Cell*

     'parent'
          struct _dwg_entity_TABLE*
     'type'
          BS,	DXF 171
     'flags'
          RC,	DXF 172
     'is_merged_value'
          B,	DXF 173
     'is_autofit_flag'
          B,	DXF 174
     'merged_width_flag'
          BL,	DXF 175
     'merged_height_flag'
          BL,	DXF 176
     'rotation'
          BD,	DXF 145
     'text_value'
          T,	DXF 1
     'text_style'
          H,	DXF 7
     'block_handle'
          H,	DXF 340
     'block_scale'
          BD,	DXF 144
     'additional_data_flag'
          B
     'cell_flag_override'
          BL,	DXF 177
     'virtual_edge_flag'
          RC,	DXF 178
     'cell_alignment'
          RS,	DXF 170
     'bg_fill_none'
          B,	DXF 283
     'bg_color'
          CMC,	DXF 63
     'content_color'
          CMC,	DXF 64
     'text_height'
          BD,	DXF 140
     'top_grid_color'
          CMC,	DXF 69
     'top_grid_linewt'
          BS,	DXF 279
     'top_visibility'
          BS,	DXF 289
     'right_grid_color'
          CMC,	DXF 65
     'right_grid_linewt'
          BS,	DXF 275
     'right_visibility'
          BS,	DXF 285
     'bottom_grid_color'
          CMC,	DXF 66
     'bottom_grid_linewt'
          BS,	DXF 276
     'bottom_visibility'
          BS,	DXF 286
     'left_grid_color'
          CMC,	DXF 68
     'left_grid_linewt'
          BS,	DXF 278
     'left_visibility'
          BS,	DXF 288
     'unknown'
          BL
     'value'
          Dwg_TABLE_value
     'num_attr_defs'
          BL
     'attr_defs'
          Dwg_TABLE_AttrDef*

   *Dwg_TABLE_CustomDataItem*

     'name'
          T,	DXF 300
     'value'
          Dwg_TABLE_value
     'cell_parent'
          struct _dwg_TableCell*
     'row_parent'
          struct _dwg_TableRow*

   *Dwg_TABLE_value*

     'flags'
          BL
     'format_flags'
          BL
     'data_type'
          BL,	DXF 90
     'data_size'
          BL,	DXF 92
     'data_long'
          BL,	DXF 91
     'data_double'
          BD,	DXF 140
     'data_string'
          T,	DXF 1
     'data_date'
          TF
     'data_point'
          2RD,	DXF 11
     'data_3dpoint'
          3RD,	DXF 11
     'data_handle'
          H
     'unit_type'
          BL,	DXF 94
     'format_string'
          T,	DXF 300
     'value_string'
          T,	DXF 302

   *Dwg_TableCell*

     'flag'
          BL,	DXF 90
     'tooltip'
          TV,	DXF 300
     'customdata'
          BL,	DXF 91
     'num_customdata_items'
          BL,	DXF 90
     'customdata_items'
          Dwg_TABLE_CustomDataItem*
     'has_linked_data'
          BL
     'data_link'
          H
     'num_rows'
          BL
     'num_cols'
          BL
     'unknown'
          BL
     'num_cell_contents'
          BL
     'cell_contents'
          Dwg_TableCellContent*
     'style_id'
          BL
     'has_geom_data'
          BL
     'geom_data_flag'
          BL
     'width_w_gap'
          BD
     'height_w_gap'
          BD
     'tablegeometry'
          H
     'num_geometry'
          BL
     'geometry'
          Dwg_CellContentGeometry*
     'style_parent'
          struct _dwg_CellStyle*
     'row_parent'
          struct _dwg_TableRow*

   *Dwg_TableCellContent*

     'parent'
          struct _dwg_TableCell*
     'type'
          BL,	DXF 90
     'value'
          Dwg_TABLE_value
     'handle'
          H,	DXF 340
     'num_attrs'
          BL,	DXF 91
     'attrs'
          Dwg_TableCellContent_Attr*
     'has_content_format_overrides'
          BS
     'content_format'
          Dwg_ContentFormat

   *Dwg_TableCellContent_Attr*

     'parent'
          struct _dwg_TableCellContent*
     'attdef'
          H,	DXF 330
     'value'
          TV,	DXF 301
     'index'
          BL,	DXF 92

   *Dwg_TableDataColumn*

     'parent'
          struct _dwg_LinkedTableData*
     'name'
          T,	DXF 300
     'custom_data'
          BL,	DXF 91
     'cellstyle'
          Dwg_CellStyle
     'cellstyle_id'
          BL
     'width'
          BL

   *Dwg_TableRow*

     'parent'
          struct _dwg_LinkedTableData*
     'num_cells'
          BL
     'cells'
          Dwg_TableCell*
     'custom_data'
          BL
     'num_customdata_items'
          BL
     'customdata_items'
          Dwg_TABLE_CustomDataItem*
     'cellstyle'
          Dwg_CellStyle
     'style_id'
          BL
     'height'
          BL

   *Dwg_UCS_orthopts*

     'parent'
          struct _dwg_object_UCS*
     'type'
          BS,	DXF 71
     'pt'
          3BD,	DXF 13

   *Dwg_VALUEPARAM*

     'parent'
          struct _dwg_object_object*
     'class_version'
          BL
     'name'
          T
     'unit_type'
          BL
     'num_vars'
          BL
     'vars'
          Dwg_VALUEPARAM_vars*
     'controlled_objdep'
          H

   *Dwg_VALUEPARAM_vars*

     'value'
          Dwg_EvalVariant
     'handle'
          H

   *Dwg_MLEADER_Content*

     'txt'
          Dwg_MLEADER_Content_MText
     'blk'
          Dwg_MLEADER_Content_Block

   *Common Entity fields*

     '__iterator'
          BL
     'color'
          CMC,	DXF 62
     'color_r11'
          RC,	DXF 62
     'dwg'
          struct _dwg_struct*
     'edge_visualstyle'
          H,	DXF 348
     'eed'
          Dwg_Eed*
     'elevation_r11'
          RD
     'entmode'
          BB,	DXF 67
     'extra_r11'
          RC
     'face_visualstyle'
          H,	DXF 348
     'flag_r11'
          RC
     'full_visualstyle'
          H,	DXF 348
     'has_ds_data'
          B
     'has_edge_visualstyle'
          B
     'has_face_visualstyle'
          B
     'has_full_visualstyle'
          B
     'invisible'
          BS,	DXF 60
     'is_xdic_missing'
          B
     'isbylayerlt'
          B
     'kind_r11'
          RS
     'layer'
          H,	DXF 8
     'layer_r11'
          RS
     'linewt'
          RC,	DXF 370
     'ltype'
          H,	DXF 6
     'ltype_flags'
          BB
     'ltype_r11'
          RS
     'ltype_scale'
          BD,	DXF 48
     'material'
          H,	DXF 347
     'material_flags'
          BB
     'next_entity'
          H
     'nolinks'
          B
     'num_eed'
          BL
     'num_reactors'
          BL
     'objid'
          BL
     'opts_r11'
          RS
     'ownerhandle'
          H,	DXF 330
     'paper_r11'
          RS,	DXF 67
     'plotstyle'
          H,	DXF 390
     'plotstyle_flags'
          BB
     'prev_entity'
          H
     'preview'
          TF,	DXF 310
     'preview_exists'
          B
     'preview_is_proxy'
          B
     'preview_size'
          BLL,	DXF 160
     'reactors'
          H*,	DXF 330
     'shadow'
          H
     'shadow_flags'
          RC,	DXF 284
     'thickness_r11'
          RD
     'xdicobjhandle'
          H,	DXF 360

   *Common Object fields*

     'dwg'
          struct _dwg_struct*
     'eed'
          Dwg_Eed*
     'handleref'
          Dwg_Handle*
     'has_ds_data'
          B
     'is_xdic_missing'
          B
     'num_eed'
          BL
     'num_reactors'
          BL
     'objid'
          BL
     'ownerhandle'
          H,	DXF 330
     'reactors'
          H*,	DXF 330
     'xdicobjhandle'
          H,	DXF 360

   *SummaryInfo fields*

   *note SummaryInfo::

     'TITLE'
          TU16,	DXF 1
     'SUBJECT'
          TU16,	DXF 1
     'AUTHOR'
          TU16,	DXF 1
     'KEYWORDS'
          TU16,	DXF 1
     'COMMENTS'
          TU16,	DXF 1
     'LASTSAVEDBY'
          TU16,	DXF 1
     'REVISIONNUMBER'
          TU16,	DXF 1
     'HYPERLINKBASE'
          TU16,	DXF 1
     'TDINDWG'
          TIMERLL
     'TDCREATE'
          TIMERLL
     'TDUPDATE'
          TIMERLL
     'num_props'
          RS
     'props'
          Dwg_SummaryInfo_Property*
     'unknown1'
          RL
     'unknown2'
          RL


File: LibreDWG.info,  Node: Sections,  Next: Structures,  Prev: Objects,  Up: Top

5 Sections
**********

* Menu:

* HEADER_::           All Header variables
* OBJECTS_::          All Entities and Objects
* CLASSES::           The dynamically loaded class types
* HANDLES::           The sorted handle map (relative handle and size) of all objects
* R2004_Header::      R2004 Section meta-data to find the INFO and SYSTEM_MAP
* UNKNOWN::           Unknown Section
* SummaryInfo::       Some dwg meta-data
* Preview::           The Thumbnail BMP or WMF data
* VBAProject::        VBA Section
* AppInfo::           Which product and version exactly created that DWG
* AppInfoHistory::    AppInfoHistory Section
* FileDepList::       Features and File Dependencies. Image files, fonts, xrefs, plotconfigs.
* AcDS::              The AcDsPrototype_1b DataStorage, used mostly for binary ACIS blobs
* RevHistory::        Revision History
* Security::          Password Info
* ObjFreeSpace::      Some Objects meta-data
* Template::          Contains one Measurement Header variable.
* AuxHeader::         In case the original Header gets lost
* Signature::         Signature Section
* INFO::              The info of all used sections
* SYSTEM_MAP::        The map of all used sections and its chunked pages

The r2000 format (used for r13-r2000) knows the following 6 sections:

   HEADER CLASSES HANDLES 2NDHEADER MEASUREMENT AUXHEADER (only r2000)

   The r2004 and r2007 format (used for r2004-r2018) knows the following
sections:

   R2004_Header UNKNOWN SUMMARYINFO PREVIEW VBAPROJECT APPINFO
APPINFOHISTORY FILEDEPLIST ACDS REVHISTORY SECURITY OBJECTS OBJFREESPACE
TEMPLATE HANDLES CLASSES AUXHEADER HEADER SIGNATURE INFO SYSTEM_MAP


File: LibreDWG.info,  Node: HEADER_,  Next: OBJECTS_,  Up: Sections

5.1 HEADER Section
==================

*Note HEADER: Objects.


File: LibreDWG.info,  Node: OBJECTS_,  Next: CLASSES,  Prev: HEADER_,  Up: Sections

5.2 OBJECTS Section
===================

The OBJECTS Section is usually split up into multiple pages (seperate
sections of type AcDbObjects) and contains all entities and objects.  It
is indexed by *note HANDLES::.

   *Note OBJECTS: Objects.


File: LibreDWG.info,  Node: CLASSES,  Next: HANDLES,  Prev: OBJECTS_,  Up: Sections

5.3 CLASSES Section
===================

The *Classes* Section contains the basic info for all dynamically loaded
types for entities and objects.  It's types start with 500, and are
variable.  An entity which has no class loaded is displayed as proxy.

   LibreDWG contains support for many classes, but not all.  See
'src/classes.inc' and 'src/classes.c'.  We define a stability for each
class, one of stable, unstable, debugging and unhandled.

   Objects in *stable* classes are treated as the fixed-type objects
with full support.  Changes are treated as API breaking.

   Objects in *unstable* classes are sometimes written to DXF or JSON,
but not to DWG. Changes are not treated as API breaking.  Usually such
objects are converted to UNKNOWN_OBJ or UNKNOWN_ENT objects, and when
written to DWG converted to PLACEHOLDER, DUMMY or POINT objects with EED
pointing to the original class and content.  Only when rewriting from-to
the very same version with the full known unknown_bits blob (e.g.
dwgrewrite or json) such classes can persist as such.

   Objects in *debugging* classes are only handled with the develper
'configure --enable-debug' flag, otherwise ignored.  See unstable above.

   Objects in *undhandled* classes are always ignored.  There are no
fields known, only it's type.


File: LibreDWG.info,  Node: HANDLES,  Next: R2004_Header,  Prev: CLASSES,  Up: Sections

5.4 HANDLES Section
===================

The Handles section contains a sorted list of all object handles and
it's position in the Objects stream.  All values are stored relatively,
as offsets.  Handles only increase and can contain holews when an object
is deleted, offsets can jump back also.


File: LibreDWG.info,  Node: R2004_Header,  Next: UNKNOWN,  Prev: HANDLES,  Up: Sections

5.5 R2004_Header
================

The R2004_Header section at fixed position '0x100' in the DWG contains
some meta-data for r2004 sections to find the two important sections
INFO and SYSTEM_MAP.


File: LibreDWG.info,  Node: UNKNOWN,  Next: SummaryInfo,  Prev: R2004_Header,  Up: Sections

5.6 UNKNOWN Section
===================

The content of the UNKNOWN section with type 0 is unknown and does not
always exist.


File: LibreDWG.info,  Node: SummaryInfo,  Next: Preview,  Prev: UNKNOWN,  Up: Sections

5.7 SummaryInfo
===============

All Section SummaryInfo fields:

     'TITLE'
          TU16,	DXF 1
     'SUBJECT'
          TU16,	DXF 1
     'AUTHOR'
          TU16,	DXF 1
     'KEYWORDS'
          TU16,	DXF 1
     'COMMENTS'
          TU16,	DXF 1
     'LASTSAVEDBY'
          TU16,	DXF 1
     'REVISIONNUMBER'
          TU16,	DXF 1
     'HYPERLINKBASE'
          TU16,	DXF 1
     'TDINDWG'
          TIMERLL
     'TDCREATE'
          TIMERLL
     'TDUPDATE'
          TIMERLL
     'num_props'
          RS
     'props'
          Dwg_SummaryInfo_Property*
     'unknown1'
          RL
     'unknown2'
          RL

   *Note Dwg_SummaryInfo_Property::


File: LibreDWG.info,  Node: Preview,  Next: VBAProject,  Prev: SummaryInfo,  Up: Sections

5.8 Preview
===========

The optional Preview section contains the thumbnail stream of BMP or WMF
data of the drawing.  Note that blocks or proxy objects can also contain
it's own preview fields.  The program *dwgbmp* can extract the bitmap
from this section.


File: LibreDWG.info,  Node: VBAProject,  Next: AppInfo,  Prev: Preview,  Up: Sections

5.9 VBAProject
==============


File: LibreDWG.info,  Node: AppInfo,  Next: AppInfoHistory,  Prev: VBAProject,  Up: Sections

5.10 AppInfo
============

Which product and version exactly created that DWG.


File: LibreDWG.info,  Node: AppInfoHistory,  Next: FileDepList,  Prev: AppInfo,  Up: Sections

5.11 AppInfoHistory
===================


File: LibreDWG.info,  Node: FileDepList,  Next: AcDS,  Prev: AppInfoHistory,  Up: Sections

5.12 FileDepList
================

Features and File Dependencies.  Image files, fonts, xrefs, plotconfigs.


File: LibreDWG.info,  Node: AcDS,  Next: RevHistory,  Prev: FileDepList,  Up: Sections

5.13 AcDS
=========

The AcDsPrototype_1b DataStorage, used mostly for binary ACIS blobs,
embedded fonts, ...


File: LibreDWG.info,  Node: RevHistory,  Next: Security,  Prev: AcDS,  Up: Sections

5.14 RevHistory
===============

Revision History


File: LibreDWG.info,  Node: Security,  Next: ObjFreeSpace,  Prev: RevHistory,  Up: Sections

5.15 Security
=============

Password Info


File: LibreDWG.info,  Node: ObjFreeSpace,  Next: Template,  Prev: Security,  Up: Sections

5.16 ObjFreeSpace
=================

Some Objects meta-data


File: LibreDWG.info,  Node: Template,  Next: AuxHeader,  Prev: ObjFreeSpace,  Up: Sections

5.17 Template
=============

Contains one Measurement Header variable.


File: LibreDWG.info,  Node: AuxHeader,  Next: Signature,  Prev: Template,  Up: Sections

5.18 AuxHeader
==============

In case the original Header gets lost.


File: LibreDWG.info,  Node: Signature,  Next: INFO,  Prev: AuxHeader,  Up: Sections

5.19 Signature
==============


File: LibreDWG.info,  Node: INFO,  Next: SYSTEM_MAP,  Prev: Signature,  Up: Sections

5.20 INFO
=========

The info of all used sections.


File: LibreDWG.info,  Node: SYSTEM_MAP,  Prev: INFO,  Up: Sections

5.21 SYSTEM_MAP
===============

The map of all used sections and its chunked pages.


File: LibreDWG.info,  Node: Structures,  Next: Functions,  Prev: Sections,  Up: Top

6 Structures
************

* Menu:

* EED::            eed[] array
* XDATA::          xdata list for XRECORD


File: LibreDWG.info,  Node: EED,  Next: XDATA,  Up: Structures

6.1 EED
=======

"Extended Entity Data" (EED) may be optionally attached to each object.
They consist of a handle to the registered APPID, and a list of typed
data.  Each block is preceded with a size, the processing stops with
size 0.

   Internally libredwg stores each eed line as an array of num_eed
structs.  If the size > 0, then new block starts with a handle, an
optional raw string (when reading from a DWG), and a number of typed
data entries.  Only the first eed struct of each block has a size, all
subsequent eed structs have size 0.

   Example:
       EED[0] size: 109 [BS]
       EED[0] handle: 5.2.762
       EED[0] code: 70 [RC] short: 2 [RS]
       EED[1] code: 70 [RC] short: 0 [RS]
       EED[2] code: 70 [RC] short: 0 [RS]
       EED[3] code: 11 [RC] 3dpoint: (0.000000, 0.000000, 0.000000) [3RD]
       EED[4] code: 11 [RC] 3dpoint: (1.000000, 0.000000, 0.000000) [3RD]
       EED[5] code: 11 [RC] 3dpoint: (0.000000, 1.000000, 0.000000) [3RD]
       EED[6] code: 11 [RC] 3dpoint: (0.000000, 0.000000, 1.000000) [3RD]
       EED[7] size: 6 [BS]
       EED[7] handle: 5.2.763
       EED[7] code: 70 [RC] short: 0 [RS]
       EED[8] code: 70 [RC] short: 0 [RS]
       EED[9] size: 23 [BS]
       EED[9] handle: 5.1.12
       EED[9] code: 0 [RC] string: "RTMaterial" len=10 cp=30
       EED[10] code: 5 [RC] entity: 0x6507000000000000 [RLL]
       - size: 0 [BS]

   These 10 num_eed structs consist of 3 blocks with 3 size and handle
entries.  EED[0] starts with size 109, the handle pointing to object
762, 3 shorts and 4 points.  The next block at EED[7] has size 6, the
handle pointing to object 763 and 2 shorts.  The last block at EED[9]
has size 9, the handle pointing to object 12 (the APPID.ACAD
application) and a string and an entity reference.  The size is
calculated by the needed room for all data code + values, without the
handle.  E.g.  EED[7] size: 6 is 1 + 2 for EED[7] RC + RS, and 1 + 2 for
EED[8] RC + RS.

   Each data block consists of a RC code, and a variable value.  A
string may be a an old pre-r2007 ASCII string with a RC length (max 255
chars), a codepage and the string.  Or a r2007+ wide string with a RS
length (max 32767 chars) and a UCS-2 wide string.

   decode stores both, the raw data, and the structured data.  in_dxf
just the data.  encode prefers raw over the data.


File: LibreDWG.info,  Node: XDATA,  Prev: EED,  Up: Structures

6.2 XDATA
=========

XRECORD XDATA are very similar to the EED array, but internally it is a
single linked-list, consisting of something like the EED data code +
value pairs.  There's only one size, xdata_size, and only one handle to
the APPID, which handles this XRECORD XDATA.


File: LibreDWG.info,  Node: Functions,  Next: Errors,  Prev: Structures,  Up: Top

7 Functions
***********

You can use LibreDWG immediately upon loading, without any particular
initialization.  Only when using some *note dynapi:: functions you might
need to initialize the version via 'dwg_api_init_version(&dwg)', when
you need other formats than r2000 and you call an API function which
does not store the version internally.  Most do.  This limitation will
soon be fixed.

   You usually use one set of functions - either decoding or encoding -
at a time.  All functions use the common data types (*note Types::).
All functions return an error code, and the high-level functions for
multiple objects add the error bitmask, which is sorted by severity.
When the error exceeds DWG_ERR_CRITICAL, processing is stopped.

   The new *note dynapi:: has dynamic get and set functions for all
objects and its fields.  You can get and set a property value from any
object pointer by the object name and the field name.

* Menu:

* Decoding::                    Functions on the DWG read path.
* Encoding::                    Functions on the DWG write path.
* add api::                     How to create a DWG and objects from scratch
* dynapi::                      Dynamic object field access.
* strings::                     The various string types, how Unicode strings are handled
* Other Formats::		Functions on the DWG to read or write other formats.


File: LibreDWG.info,  Node: Decoding,  Next: Encoding,  Up: Functions

7.1 Decoding
============

The highest level function for decoding a file is *'dwg_read_file'*.

 -- Function: int dwg_read_file (char *FILENAME, Dwg_Data *DWG)
     Open FILENAME and decode it, saving information into DWG.  Return 0
     if successful.

   You can then iterate over the entities in model space or paper space
via two ways:

   1.  by using the 'dwg.h' data structures.  Via 'dwg->object[0]',
which is of type 'Dwg_Object_BLOCK_CONTROL', and a custom 'void
process_BLOCK_HEADER(Dwg_Object_Ref* ref)':

  Dwg_Object_BLOCK_CONTROL* block_control = dwg->block_control;
  // first all entities in the model space
  process_BLOCK_HEADER(dwg->header_vars.BLOCK_RECORD_MSPACE);
  // then all entities in the blocks
  for (i=0; i < block_control->num_entries; i++)
    {
      process_BLOCK_HEADER(block_control->block_headers[i]);
    }
  // and last all entities in the paper space
  process_BLOCK_HEADER(dwg->header_vars.BLOCK_RECORD_PSPACE);

   or 2.  by using the API functions from 'dwg_api.h':

  Dwg_Object_BLOCK_CONTROL* block_control = dwg_block_control(dwg);
  process_BLOCK_HEADER(dwg_model_space_ref(dwg));
  for (i=0; i < block_control->num_entries; i++)
    {
      process_BLOCK_HEADER(block_control->block_headers[i]);
    }
  process_BLOCK_HEADER(dwg_paper_space_ref(dwg));

   and inside the 'process_BLOCK_HEADER' function, you iterate over the
entities from the block_header via:

  Dwg_Object* obj = get_first_owned_entity(ref->obj);
  while (obj)
    {
      process_object(obj);
      obj = get_next_owned_entity(ref->obj, obj);
    }

   where 'process_object' checks the type of each entity under the
DWG_OBJECT* OBJ.

   For each entity or object type (i.e.  a non-graphical dwg object,
also tables) there also exist the simple and expensive
'dwg_getall_ENTITY' and 'dwg_getall_OBJECT' functions:

 -- Function: int dwg_getall_ENTITY (Dwg_Object_Ref *BLOCK_HEADER_REF)
     Return a malloc'ed NULL-terminated array of all such entities for
     Model Space, Paper Space or an individual block.

 -- Function: int dwg_getall_OBJECT (Dwg_Data *DWG)
     Return a malloc'ed NULL-terminated array of all such DWG objects.

   The decoder is driven by the fields definition in the 'src/dwg.spec',
which adds each field to the object.  This is done in the 'src/decode.c'
or 'src/decode_r2007.c'.
 -- Function: int dwg_decode_OBJECT (Bit_Chain *DAT, Dwg_Object *OBJ)
     Sets the fields for the object from the DWG bitstream.


File: LibreDWG.info,  Node: Encoding,  Next: add api,  Prev: Decoding,  Up: Functions

7.2 Encoding
============

Encoding DWG files, i.e.  DWG write support, can be disabled via
'./configure --disable-write'.  The default format and only useful one
is currently r13-r2000.  Experimentally work is ongoing for the r2004
format, which is also used for r2010, r2013, and r2018.  Only the
pre-r13 and r2007 versions are not covered yet.

   See 'src/in_dxf.c' for a high-level usage example.  The default
codepage is Latin-1, 30.

   The highest level function for encoding a bitstream to a file is
'dwg_write_file', which dumps the dwg to a file.

 -- Function: int dwg_write_file (char *FILENAME, Dwg_Data *DWG)
     Open FILENAME and write the DWG to it.  Return 0 if successful.

   *Note add api:: for:
 -- Function: Dwg_Data* dwg_add_Document (const Dwg_Version_Type
          VERSION,
     const int IMPERIAL, const int LOGLEVEL) Creates an initial template
     dwg structure in memory, suitable to be written to a DWG or DXF
     file, without any additional table records or entities.  Creates
     ModelSpace, PaperSpace and most Tables and basic Dictionaries.
   and how to add entities and objects from scratch.

   Low level-functions:

 -- Function: int dwg_add_object (Dwg_Data *DWG)
     Adds a new uninitialized object to the DWG->OBJECT[] array.  Return
     0 or -1 if successful, otherwise DWG_ERR_OUTOFMEM. -1 is the array
     was re-allocated.

   Then for each object or entity type there is a
 -- Function: int dwg_setup_<OBJECT> (Dwg_Object *OBJ)
     Initializes an object for the given OBJECT or ENTITY type, with all
     fields being zero'ed.  This does not initialize the OBJ size, type,
     address, handlestream_size, bitsize fields.

   The encoder is driven by the fields definition in the 'src/dwg.spec'
and the generated 'src/dynapi.c', which adds each field to the object.
This is done by 'src/encode.c' or any 'src/in_*.c' import module.

 -- Function: int dwg_encode_<OBJECT> (Bit_Chain *DAT, Dwg_Object *OBJ)
     Encodes the DWG bitstream from the fields of the object.

   The iterator is similar to above, but you want to encode all data
structures, not just the entities.  But note that you need many helper
functions, such as the *note dynapi::, to create all needed sections to
store a DWG if you didn't read a DWG into the right a DWG_DATA* DWG
struct already.  This is especially important when importing from DXF or
from an earlier or later DWG version.


File: LibreDWG.info,  Node: add api,  Next: dynapi,  Prev: Encoding,  Up: Functions

7.3 add api
===========

The add api functions are useful for CAD programs which want to write
DWG. All the other API's are mostly to convert from and to DWG, so the
main structures and links already do exist.  With the add api you can
easily create an empty DWG from scratch, add table entries (into fixed
Tables or variables Dictionaries), and add entities.  To set more entity
fields use the *note dynapi::.

   For each almost each entity and table exists a function at to add it,
with arguments to initialize some fields as in the VBA object model.
The other objects are either created automatically, or handled
seperately.

   All BITCODE_T strings are encoded as UTF-8, as with the dynapi.
*Note strings::.  Most names are copied, since most names are considered
to be constant.  If not, you need to free them by yourself.  Exceptions
are dxfname (there exists a seperate dxfname_u variant), the VX name,
which does not exists anymore since r2000.

   A very simple example using the add API is the example program *Note
dwgadd::.

 -- Function: Dwg_Data dwg_add_Document (const Dwg_Version_Type VERSION,
          const int IMPERIAL, const int LOGLEVEL))

     Creates an initial template dwg structure in memory, suitable to be
     written to a DWG or DXF file, without any additional table records
     or entities.  Creates ModelSpace, PaperSpace and most Tables and
     basic Dictionaries.

     When writing DWG, a VERSION of R_2000 is recommended, only R_13 -
     R-2000 are supported yet.  For DXF you can try all versions >=
     R_13.

   For each OBJECT and ENTITY type there exists a specific
'dwg_add_<OBJECT>' function, which takes the owner and some default
arguments.  Entities are normally added to a block header, like
modelspace, paperspace or any block.  Objects are normally added to the
dwg, or to some other object or entity.  E.g.
 -- Function: Dwg_Entity_LINE *line = dwg_add_LINE
          (Dwg_Object_BLOCK_HEADER *modelspace,
     dwg_point_3d *start_pt, dwg_point_3d *end_pt)
 -- Function: Dwg_Entity_TEXT* dwg_add_TEXT (Dwg_Object_BLOCK_HEADER
          *restrict BLKHDR, const char* restrict TEXT_VALUE, const
          dwg_point_3d *restrict INS_PT, const double height)

     Adds a TEXT entity to the ModelSpace, PaperSpace or a Block.
     Entity specific arguments are here the text, the point (as pointer
     to the struct of 3 doubles), and the text height.
 -- Function: Dwg_Object_LAYER *layer = dwg_add_LAYER (Dwg_Data *dwg,
          const char *name)
     Adds a new layer the Layer Table, i.e.  creates the new LAYER
     object, and adds it to LAYER_CONTROL object, the list of layers.

   Names and strings are encoded as UTF-8 and will be translated to type
BITCODE_T (i.e.  versions specific TU or TV types, either UCS-2 unicode
or single-byte codepage) internally, as with the dynapi.  Only
internally you will have to deal with 2 different DWG text
representations: UCS-2 since r2007, single-byte before.  *note
strings::.

   To understand the object model for the add API see some VBA Object
model documentation, such as e.g.  <http://entercad.ru/acadauto.en/>.

   The new add API mostly handles the direct 'Dwg_Entity_ENTITY'
structs, not all the generic 'Dwg_Object' structs.  Thus you can access
the object specific fields directly, the common fields, not so easily.

   The DWG Document consists of 3 basic entity containers 'ModelSpace',
'PaperSpace' and 'Blocks', plus 'Tables' ('Layers', 'Linetypes', ...),
'Dictionaries' as generic replacements of 'Tables' with a root
Dictionary, the 'NOD' ("Named Object Dictionary"), and more support
objects and complex entity groups.

   Helper functions:

 -- Function: dwg_add_u8_input (Dwg_Data *restrict DWG, const char
          *restrict U8STR)
     Convert UTF-8 strings to BITCODE_T fields.  Returns a copy of the
     string.  All external API's only deal with UTF-8 strings.


File: LibreDWG.info,  Node: dynapi,  Next: strings,  Prev: add api,  Up: Functions

7.4 dynapi
==========

The new dynapi replaced the old dwg_api functions to access each object
field.  The old dwg_api functions were deprecated, and need to be
re-enabled by defining 'CFLAGS="-DUSE_DEPRECATED_API"'.  See *note
Objects:: for an description of each object and its fields..

   For each of header, entity, common or subclass there is a function to
get and set the value of any type, or converted utf8 string.

 -- Function: bool dwg_dynapi_entity_value (void *ENTITY, const char
          *DXFNAME, const char *FIELDNAME, void *OUT, Dwg_DYNAPI_field
          *FP)
     ENTITY is of type 'dwg_ent_generic', that is the pointer to the
     object specific struct.  DXFNAME is the dxfname of the object,
     FIELDNAME is the field or property name of the field to be read
     from, *OUT the result pointer and the optiona *FP is filled by the
     information for this field.

 -- Function: bool dwg_dynapi_common_value (void *ENTITY, const char
          *FIELDNAME, void *OUT, Dwg_DYNAPI_field *FP)
     This accesses the common 'Dwg_Object_Object*' or
     'Dwg_Object_Entity*' fields.

 -- Function: bool dwg_dynapi_header_value (void *DWG, const char
          *FIELDNAME, void *OUT, Dwg_DYNAPI_field *FP)
     This accesses the Header (or sometimes also called Database)
     fields.

 -- Function: bool dwg_dynapi_subclass_value (void *PTR, const char
          *SUBCLASS, const char *FIELDNAME, void *OUT, Dwg_DYNAPI_field
          *FP)
     This accesses a subclass, a structure within the object.

   The utf8text functions convert version-specific text strings to UTF-8
strings.  Internally the dwg stores strings as TU (unicode) or TV
(single-byte codepage).  The API treats all strings as UTF-8, as with
JSON, DXF or the add API.

 -- Function: bool dwg_dynapi_entity_utf8text (void *ENTITY, const char
          *DXFNAME, const char *FIELDNAME, char *TEXTP, int *ISNEWP,
          Dwg_DYNAPI_field *FP)
     isnewp is set to 1 f the string is a fresh copy, for unicode
     strings.

 -- Function: bool dwg_dynapi_common_utf8text (void *ENTITY, const char
          *FIELDNAME, char *TEXTP, int *ISNEWP, Dwg_DYNAPI_field *FP)

 -- Function: bool dwg_dynapi_header_utf8text (void *DWG, const char
          *FIELDNAME, char *TEXTP, int *ISNEWP, Dwg_DYNAPI_field *FP)
     This accesses the Header (or sometimes also called Database)
     fields.

 -- Function: bool dwg_dynapi_subclass_utf8text (void *PTR, const char
          *SUBCLASS, const char *FIELDNAME, char *TEXTP, int *ISNEWP,
          Dwg_DYNAPI_field *FP)
     This accesses a subclass, a structure within the object.

   The setters don't differentiate betwen common values and strings.

 -- Function: bool dwg_dynapi_entity_set_value (dwg_ent_generic *_OBJ,
          const char *FIELDNAME, const void *VALUE, const bool IS_UTF8)
     Sets the ENTITY.fieldname to a value.  A malloc'ed struct is passed
     by ptr, not by the content.  A non-malloc'ed struct is set by
     content.  Arrays or strings must be malloced before.  We just set
     the new pointer, the old value will be freed.  If is_utf8 is set,
     the given value is a UTF-8 string, and will be converted to TV or
     TU

 -- Function: bool dwg_dynapi_header_set_value (Dwg_Data *DWG, const
          char *FIELDNAME, const void *VALUE, const bool IS_UTF8)

 -- Function: bool dwg_dynapi_common_set_value (dwg_ent_generic *_OBJ,
          const char *FIELDNAME, const void *VALUE, const bool IS_UTF8)

   See the sourcecode of the importers or programs for the usage of the
API's.


File: LibreDWG.info,  Node: strings,  Next: Other Formats,  Prev: dynapi,  Up: Functions

7.5 strings
===========

Internally the DWG consists of multiple different string formats, *note
Types::.  The most important are 'BITCODE_TV' (i.e.  'char*') encoded
according to 'dwg->header.codepage', and 'BITCODE_TU' (i.e.  'wchar_t'
on Windows, UCS-2).

   Externally most functions get and set strings as UTF-8, as in DXF or
JSON.

   Before r2007 DWG's the TV and T strings are encoded in its codepage,
they are not yet converted from and to their proper codepage to UTF-8,
but will eventually.  Not via libiconv, just via the locale specific
libc btowc().  To encode unicode characters special \U+XXXX sequences
are used, and with japanese shift-jis for Katagana and Hiregana \M+1XXXX
sequences.

   On DWG's r2007 and later most strings (T and TU) are encoded in the
Microsoft specific two-byte UCS-2 Unicode encoding, without proper
support for surrogate pairs and the upper planes (i.e.  emojis).

   Fixed TF strings are not encoded and have a length stored also.
Normal strings are all zero-delimited.  EED and XDATA strings do have a
length though, but have length limitations.

   Strings in DXF and JSON also have quoting rules for special
characters, like \r, \n, \" and so on.

   Transformations:

   DWG to DWG: decode reads the T and TU strings in its natural format
into the field.  encode translate it to TV or TU. encode needs
'header.from_version' and how it was read, from DWG or from an importer
(in_dxf or in_json) or the *note add api:: (DWG_OPTS_IN).

   DXF/JSON to DWG: in_dxf/json keeps the T and TU strings as TV. encode
to <r2007 keeps it as TV, r2007+ translates it to TU. it sets
DWG_OPTS_IN.

   DWG to DXF/JSON: decode keeps the T and TU strings as TV or TU.
out_dxf/json translate them to TV or UTF-8 and quote them via \U+XXXX

   add api to DWG/DXF: add reads strings as UTF-8, and encodes it from
UTF-8 to TV or TU. (TU not yet, as we don't encode R2004+ yet).  add
sets DWG_OPTS_IN.


File: LibreDWG.info,  Node: Other Formats,  Prev: strings,  Up: Functions

7.6 Other Formats
=================

* Menu:

* DXF::                    Write and read ASCII DXF
* DXFB::                   Write (and soon read) Binary DXF.
* JSON::		   Write and read our own JSON serialization of the DWG
* GeoJSON::		   See the GeoJSON spec


File: LibreDWG.info,  Node: DXF,  Next: DXFB,  Up: Other Formats

7.6.1 DXF
---------

We can write ASCII DXF files in various versions, with much more data
than other free DWG libraries, but not as stable as the unfree Teigha
library yet.  AutoCAD fails to import some of our files still (~10%
failure rate).

   Options: '--minimal' (see 'dwg2dxf' or 'dwgread') creates only a
short header with a ACADVER and HANDSEED element, and the entities,
without any subclass markers, reactors or handles.

   Reading DXF is under construction and works for most entities.


File: LibreDWG.info,  Node: DXFB,  Next: JSON,  Prev: DXF,  Up: Other Formats

7.6.2 DXFB
----------

We can almost write Binary DXF files in various versions.

   Reading DXFB is under construction and un-tested.


File: LibreDWG.info,  Node: JSON,  Next: GeoJSON,  Prev: DXFB,  Up: Other Formats

7.6.3 JSON
----------

We write to and read back from our own JSON format, which is a readable
1:1 mapping of the DWG structures, and carries much more information
than the DXF format.  The idea is to dump a DWG to JSON and filter/query
or postprocess it with more powerful JSON query tools such as jq
(<https://stedolan.github.io/jq/>), and optionally import it back in.
*Note dwgfilter: Programs.  JSON is much better structured than DXF.

   The current first level objects are all the section names, like
"HEADER", "CLASSES", "OBJECTS". For more see the specs.


File: LibreDWG.info,  Node: GeoJSON,  Prev: JSON,  Up: Other Formats

7.6.4 GeoJSON
-------------

'dwgread' supports writing to the GeoJSON format as specified at
<http://geojson.org/geojson-spec.html>.  See 'dwgread' with the '--fmt
GeoJSON' option.

   We write in the RFC7946 format, the new GeoJSON format since 2016,
which means smaller, less precision, and normalized polygons with proper
right-hande rule orientation.

   We write all coordinates as [x, y], not [y, x].  z-coordinates are
optional, and only written if not 0.0.  Colors are either written as
palette index as integer if not 256 (ByLayer), or as TrueColor RGB hex
string values for all r2004+ DWG's.

   Missing entities: No 3D entities, HATCH by definition.  ELLIPSE, ARC,
CIRCLE would need segmention into lines.  MLINE, SPLINE, MINSERT, SOLID,
TRACE, RAY(?), XLINE(?)

   Due to implementation quirks with ending commas in JSON, we mostly
add an empty dummy feature at the very end, with null properties and
null geometry.


File: LibreDWG.info,  Node: Errors,  Next: Programs,  Prev: Functions,  Up: Top

8 Errors
********

LibreDWG is mostly a library, and as such collects error codes from the
highest level function down to the lowest level functions.  The error
codes are sorted by severity, and only if the error exceeds
DWG_ERR_CRITICAL, i.e.  'DWG_ERR_CLASSESNOTFOUND', processing is
stopped.

   All error bitmasks are collected during read or write and returned at
the end.

'DWG_ERR_WRONGCRC'
     1
'DWG_ERR_NOTYETSUPPORTED'
     2
'DWG_ERR_UNHANDLEDCLASS'
     4
'DWG_ERR_INVALIDTYPE'
     8
'DWG_ERR_INVALIDHANDLE'
     16
'DWG_ERR_INVALIDEED'
     32
'DWG_ERR_VALUEOUTOFBOUNDS'
     64
'DWG_ERR_CLASSESNOTFOUND'
     128 = 'DWG_ERR_CRITICAL'
'DWG_ERR_SECTIONNOTFOUND'
     256
'DWG_ERR_PAGENOTFOUND'
     512
'DWG_ERR_INTERNALERROR'
     1024
'DWG_ERR_INVALIDDWG'
     2048
'DWG_ERR_IOERROR'
     4096
'DWG_ERR_OUTOFMEM'
     8192

   Additionally, verbose warning and error messages are printed to
stderr.

   Unhandled class and Invalid type errors of objects are not severe.  A
DWG format can store a serialization of many third party classes and
objects, and thus we will never be able read all possible types.
Unknown types are just stored as binary blob without any DXF codes.


File: LibreDWG.info,  Node: Programs,  Next: Bindings,  Prev: Errors,  Up: Top

9 Programs
**********

LibreDWG installs some binary programs to read or write DWG files.

'dwgread'

     This reads a DWG file, and optionally converts its content to some
     output formats: JSON, GeoJSON, DXF, DXFB (i.e.  Binary DXF), SVG.

     'dwgread [OPTION]... DWGFILE'

     Options:

     -v[0-9], -verbose [0-9] verbosity

     -O fmt, -format fmt fmt: JSON, DXF, DXFB, GeoJSON.

     More planned formats: YAML, XML/OGR, GPX, SVG, PS.

     -o outfile, -file outfile also defines the output fmt.  Default:
     stdout

     -a rNNNN, -as rNNNN writes the output format as another version.
     Valid versions are r13, r14, r2000, r2004, r2007, r2010, r2013,
     r2018.

     -help display this help and exit

     -version output version information and exit

'dwgwrite'

     Create a DWG from a given input file (*note DXF::, *note Binary
     DXF: DXFB, *note JSON::), optionally via '--as=rNNNN' as another
     version.  For now can only create r13-r2018, but not r2007 DWG
     files.

'dxfwrite'

     Create a DXF from a given input file ('DWG', *note DXF::, *note
     Binary DXF: DXFB, *note JSON::), optionally via '--as=rNNNN' as
     another version.  Highly experimental.  Supports the same options
     as 'dwg2dxf'.

'dwg2dxf'

     Converts DWG files to DXF, optionally via '--as=rNNNN' as another
     version, an earlier or later version, or via '-m' or '--minimal' as
     a minimal DXF version, skipping most headers vars, classes, tables
     and objects.

     '--binary' as a binary DXF file, with full precision, under
     construction.

     The DXF files are created in the current directory and not
     overwritten, unless the option '--overwrite' or '-y' is given.

'dxf2dwg'

     Converts DXF (or Binary DXF) files to DWG, optionally via
     '--as=rVER' as another version, an earlier or later version.

     The DWG files are created in the current directory and not
     overwritten, unless the option '--overwrite' or '-y' is given.

     This program is experimental and AutoCAD may fail to import it.
     For now can only create r13-r2018, but not r2007 DWG files.
     Currently the default is writing as r2000.

'dwgrewrite'

     Read and write the DWG, optionally via '--as=rNNNN' as another
     version, an earlier or later version.  The default is writing as
     r2000.  Pre-r13 and r2007 DWG files cannot be written yet.

'dwglayers'

     Prints all layers in a DWG. With '-x' or '--extnames' prints the
     extended displayed layer name with spaces, not the internally
     stored old-style name with '_' instead.  Only relevant with old r13
     and r14 DWGs, after that layers are always stored in the extended
     format.  With '-f' or '--flags' also the status of frown, on/off
     and locked.  With '--on' only the visible layers, which are on and
     not frozen.

     You can get the same effect via this json filter:
       dwgfilter '.OBJECTS[]' example.dwg | \
         grep -A22 '"object": "LAYER"' | grep name

'dwggrep'

     Search regex pattern in all text values in a list of DWGs.  dwggrep
     uses PCRE.

     With '-i' searches case-insensitive.  With '-c' prints only the
     count of found texts.  With '-h' or '--no-filename' does not print
     the filename.  With '--type NAME' search only NAME entities or
     objects.  With '--dxf NUM' search only in DXF group NUM fields.
     With '--text' searches only TEXT-like entities: TEXT, MTEXT,
     ATTRIB, ATTDEF.

'dwgfilter'

     Search and modify a single DWG file via 'jq', using the powerful JQ
     query expression language on a temporary json file.  See 'man jq'.

     With '-i' replaces the DWG in-place.  This only makes sense with an
     JQ expression which changes values.

'dwg2SVG'

     Convert a DWG to a limited SVG. All paperspace or modelspace enties
     of type: TEXT, LINE, CIRCLE, ARC, POLYLINE_2D, LWPOLYLINE, INSERT,
     ELLIPSE (unrotated), SOLID, 3DFACE, RAY, XLINE.

     With '-m' or '--mspace' all paper-space entities are ignored, and
     only model-space is printed.  The default is to print all
     paper-space entities.  But if there are none, print all model-space
     entities instead.

     Limitations: Many other graphical entities and some properties are
     still missing.

'dwg2ps'

     Convert a DWG to a very limited Postscript file.  All paperspace
     and modelspace entities of type LINE, POLYLINE_2D, LWPOLYLINE, ARC
     and CIRCLE.

     This requires installation of pslib
     <http://pslib.sourceforge.net/doc/pslib.html>.

     Note that the graphical representation for PS and SVG output is
     severely lacking, block references (insert entities) are not yet
     exploded, UCS and paper space transformations per entity are not
     yet done.

   Planned is *dwgplot*, via GNU Plotutils
<https://www.gnu.org/software/plotutils/>, to replace 'dwg2SVG' and
'dwg2ps'.  This supports much more bitmap and vector formats.

   There are also some more examples in the source distribution:

'load_dwg'
     loads a DWG and adds some entities.

'dwg2svg2'
     converts a DWG to SVG similar to 'dwg2SVG', but via the 'dwg_api.h'
     only.  The graphical representation for PS and SVG output is
     severely lacking, block references (insert entities) are not yet
     exploded , UCS and paper space transformations per entity are not
     yet done.

'unknown'
     lists the not yet reverse-engineered blobs from our examples files,
     and is the framework to guess the field layout for these.  It is
     optionally using picat (<http://picat-lang.org/>) to solve some of
     the field-packing problems.

'dwgfuzz'
     afl++ fuzzing frontend, to test and debug various fast
     shared-memory options for afl-clang-fast, with the following
     runtime options: '-indxf', '-injson', '-rw', '-dwg', '-dxf',
     '-dxfb', '-json', '-geojson'.  All other output formats, like BMP,
     SVG, PS need to be fuzzed via their programs, which is the
     recommended way.  The now default and fastest method INMEM does not
     need the 2nd file argument '@@', the 2nd method STDIN neither.

     See also <https://github.com/LibreDWG/libredwg-fuzz> for our
     fuzzing setup to test new fuzzing campaigns automatically and find
     regressions.

'dwgadd'
     is the easiest way to create DWG's (or DXF, JSON) from scratch or
     add entities to an existing DWG. It accepts a very simple file with
     commands to create entities or objects.  See 'man 1 dwgadd' and
     'man 5 dwgadd'.


File: LibreDWG.info,  Node: Bindings,  Next: Reference API,  Prev: Programs,  Up: Top

10 Bindings
***********

LibreDWG generates library bindings to python and perl5 via swig.  These
can be quite huge, and it is recommended to use 'ccache'.  You can
easily add bindings to other swig-supported languages, like Go, C#,
ruby, php, D, lua, tcl, common lisp, ocaml, or others by yourself.
Patches accepted.

   Bindings for gambas (which looks very close to VBA) are at GitHub
(https://github.com/LibreDWG/gambas3-bindings) and will soon be added to
gambas3 as gb.dwg component.  This is in development and about 80%
finished.


File: LibreDWG.info,  Node: Reference API,  Next: Reporting bugs,  Prev: Bindings,  Up: Top

11 Reference API
****************

See the separate refman (https://www.gnu.org/software/libredwg/refman/)
manual (in pdf or html format, the pdf has ~1800 pages) for a detailed
API description, or see the relevant 'dwg.h', 'dwg_api.h' or the
'*.spec' files.

   For reference you might also want to check the public AutoCAD DXF
reference manuals, the VBA object model and the ODA
'OpenDesign_Specification_for_dwg_files.pdf'.


File: LibreDWG.info,  Node: Reporting bugs,  Next: GNU Free Documentation License,  Prev: Reference API,  Up: Top

12 Reporting bugs
*****************

To report bugs or suggest enhancements for GNU LibreDWG, please "submit
a bug" at Savannah (http://savannah.gnu.org/projects/libredwg) or send
electronic mail to <libredwg@gnu.org>.  (If you use the web interface,
you don't need to also send email, since that is done automatically.)
Pull requests at the github mirror
(https://github.com/LibreDWG/libredwg) are also accepted for now.

   For bug reports, please include enough information for the
maintainers to reproduce the problem.  Generally speaking, that means:

   * The version numbers of LibreDWG and any other program(s) or
     manual(s) involved.
   * Hardware and operating system names and versions.
   * The contents of any input files necessary to reproduce the bug.
   * The expected behavior and/or output.
   * A description of the problem and samples of any erroneous output.
   * Options you gave to 'configure' other than specifying installation
     directories.
   * Anything else that you think would be helpful.  Usually that's the
     failing part of the object processed with 'dwgread -v5', but only
     the failing part, not the whole output.

   When in doubt whether something is needed or not, include it.  It's
better to include too much than to leave out something important.

   Patches are welcome; if possible, please make them with 'git
format-patch' and include 'ChangeLog' entries (*note (emacs)Change
Log::).  Please follow the existing GNU coding conventions.  See
'CONTRIBUTING' in the source distribution.


File: LibreDWG.info,  Node: GNU Free Documentation License,  Next: Index,  Prev: Reporting bugs,  Up: Top

Appendix A GNU Free Documentation License
*****************************************

                     Version 1.3, 3 November 2008

     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
     <http://fsf.org/>

     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

  0. PREAMBLE

     The purpose of this License is to make a manual, textbook, or other
     functional and useful document "free" in the sense of freedom: to
     assure everyone the effective freedom to copy and redistribute it,
     with or without modifying it, either commercially or
     noncommercially.  Secondarily, this License preserves for the
     author and publisher a way to get credit for their work, while not
     being considered responsible for modifications made by others.

     This License is a kind of "copyleft", which means that derivative
     works of the document must themselves be free in the same sense.
     It complements the GNU General Public License, which is a copyleft
     license designed for free software.

     We have designed this License in order to use it for manuals for
     free software, because free software needs free documentation: a
     free program should come with manuals providing the same freedoms
     that the software does.  But this License is not limited to
     software manuals; it can be used for any textual work, regardless
     of subject matter or whether it is published as a printed book.  We
     recommend this License principally for works whose purpose is
     instruction or reference.

  1. APPLICABILITY AND DEFINITIONS

     This License applies to any manual or other work, in any medium,
     that contains a notice placed by the copyright holder saying it can
     be distributed under the terms of this License.  Such a notice
     grants a world-wide, royalty-free license, unlimited in duration,
     to use that work under the conditions stated herein.  The
     "Document", below, refers to any such manual or work.  Any member
     of the public is a licensee, and is addressed as "you".  You accept
     the license if you copy, modify or distribute the work in a way
     requiring permission under copyright law.

     A "Modified Version" of the Document means any work containing the
     Document or a portion of it, either copied verbatim, or with
     modifications and/or translated into another language.

     A "Secondary Section" is a named appendix or a front-matter section
     of the Document that deals exclusively with the relationship of the
     publishers or authors of the Document to the Document's overall
     subject (or to related matters) and contains nothing that could
     fall directly within that overall subject.  (Thus, if the Document
     is in part a textbook of mathematics, a Secondary Section may not
     explain any mathematics.)  The relationship could be a matter of
     historical connection with the subject or with related matters, or
     of legal, commercial, philosophical, ethical or political position
     regarding them.

     The "Invariant Sections" are certain Secondary Sections whose
     titles are designated, as being those of Invariant Sections, in the
     notice that says that the Document is released under this License.
     If a section does not fit the above definition of Secondary then it
     is not allowed to be designated as Invariant.  The Document may
     contain zero Invariant Sections.  If the Document does not identify
     any Invariant Sections then there are none.

     The "Cover Texts" are certain short passages of text that are
     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
     that says that the Document is released under this License.  A
     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     be at most 25 words.

     A "Transparent" copy of the Document means a machine-readable copy,
     represented in a format whose specification is available to the
     general public, that is suitable for revising the document
     straightforwardly with generic text editors or (for images composed
     of pixels) generic paint programs or (for drawings) some widely
     available drawing editor, and that is suitable for input to text
     formatters or for automatic translation to a variety of formats
     suitable for input to text formatters.  A copy made in an otherwise
     Transparent file format whose markup, or absence of markup, has
     been arranged to thwart or discourage subsequent modification by
     readers is not Transparent.  An image format is not Transparent if
     used for any substantial amount of text.  A copy that is not
     "Transparent" is called "Opaque".

     Examples of suitable formats for Transparent copies include plain
     ASCII without markup, Texinfo input format, LaTeX input format,
     SGML or XML using a publicly available DTD, and standard-conforming
     simple HTML, PostScript or PDF designed for human modification.
     Examples of transparent image formats include PNG, XCF and JPG.
     Opaque formats include proprietary formats that can be read and
     edited only by proprietary word processors, SGML or XML for which
     the DTD and/or processing tools are not generally available, and
     the machine-generated HTML, PostScript or PDF produced by some word
     processors for output purposes only.

     The "Title Page" means, for a printed book, the title page itself,
     plus such following pages as are needed to hold, legibly, the
     material this License requires to appear in the title page.  For
     works in formats which do not have any title page as such, "Title
     Page" means the text near the most prominent appearance of the
     work's title, preceding the beginning of the body of the text.

     The "publisher" means any person or entity that distributes copies
     of the Document to the public.

     A section "Entitled XYZ" means a named subunit of the Document
     whose title either is precisely XYZ or contains XYZ in parentheses
     following text that translates XYZ in another language.  (Here XYZ
     stands for a specific section name mentioned below, such as
     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     To "Preserve the Title" of such a section when you modify the
     Document means that it remains a section "Entitled XYZ" according
     to this definition.

     The Document may include Warranty Disclaimers next to the notice
     which states that this License applies to the Document.  These
     Warranty Disclaimers are considered to be included by reference in
     this License, but only as regards disclaiming warranties: any other
     implication that these Warranty Disclaimers may have is void and
     has no effect on the meaning of this License.

  2. VERBATIM COPYING

     You may copy and distribute the Document in any medium, either
     commercially or noncommercially, provided that this License, the
     copyright notices, and the license notice saying this License
     applies to the Document are reproduced in all copies, and that you
     add no other conditions whatsoever to those of this License.  You
     may not use technical measures to obstruct or control the reading
     or further copying of the copies you make or distribute.  However,
     you may accept compensation in exchange for copies.  If you
     distribute a large enough number of copies you must also follow the
     conditions in section 3.

     You may also lend copies, under the same conditions stated above,
     and you may publicly display copies.

  3. COPYING IN QUANTITY

     If you publish printed copies (or copies in media that commonly
     have printed covers) of the Document, numbering more than 100, and
     the Document's license notice requires Cover Texts, you must
     enclose the copies in covers that carry, clearly and legibly, all
     these Cover Texts: Front-Cover Texts on the front cover, and
     Back-Cover Texts on the back cover.  Both covers must also clearly
     and legibly identify you as the publisher of these copies.  The
     front cover must present the full title with all words of the title
     equally prominent and visible.  You may add other material on the
     covers in addition.  Copying with changes limited to the covers, as
     long as they preserve the title of the Document and satisfy these
     conditions, can be treated as verbatim copying in other respects.

     If the required texts for either cover are too voluminous to fit
     legibly, you should put the first ones listed (as many as fit
     reasonably) on the actual cover, and continue the rest onto
     adjacent pages.

     If you publish or distribute Opaque copies of the Document
     numbering more than 100, you must either include a machine-readable
     Transparent copy along with each Opaque copy, or state in or with
     each Opaque copy a computer-network location from which the general
     network-using public has access to download using public-standard
     network protocols a complete Transparent copy of the Document, free
     of added material.  If you use the latter option, you must take
     reasonably prudent steps, when you begin distribution of Opaque
     copies in quantity, to ensure that this Transparent copy will
     remain thus accessible at the stated location until at least one
     year after the last time you distribute an Opaque copy (directly or
     through your agents or retailers) of that edition to the public.

     It is requested, but not required, that you contact the authors of
     the Document well before redistributing any large number of copies,
     to give them a chance to provide you with an updated version of the
     Document.

  4. MODIFICATIONS

     You may copy and distribute a Modified Version of the Document
     under the conditions of sections 2 and 3 above, provided that you
     release the Modified Version under precisely this License, with the
     Modified Version filling the role of the Document, thus licensing
     distribution and modification of the Modified Version to whoever
     possesses a copy of it.  In addition, you must do these things in
     the Modified Version:

       A. Use in the Title Page (and on the covers, if any) a title
          distinct from that of the Document, and from those of previous
          versions (which should, if there were any, be listed in the
          History section of the Document).  You may use the same title
          as a previous version if the original publisher of that
          version gives permission.

       B. List on the Title Page, as authors, one or more persons or
          entities responsible for authorship of the modifications in
          the Modified Version, together with at least five of the
          principal authors of the Document (all of its principal
          authors, if it has fewer than five), unless they release you
          from this requirement.

       C. State on the Title page the name of the publisher of the
          Modified Version, as the publisher.

       D. Preserve all the copyright notices of the Document.

       E. Add an appropriate copyright notice for your modifications
          adjacent to the other copyright notices.

       F. Include, immediately after the copyright notices, a license
          notice giving the public permission to use the Modified
          Version under the terms of this License, in the form shown in
          the Addendum below.

       G. Preserve in that license notice the full lists of Invariant
          Sections and required Cover Texts given in the Document's
          license notice.

       H. Include an unaltered copy of this License.

       I. Preserve the section Entitled "History", Preserve its Title,
          and add to it an item stating at least the title, year, new
          authors, and publisher of the Modified Version as given on the
          Title Page.  If there is no section Entitled "History" in the
          Document, create one stating the title, year, authors, and
          publisher of the Document as given on its Title Page, then add
          an item describing the Modified Version as stated in the
          previous sentence.

       J. Preserve the network location, if any, given in the Document
          for public access to a Transparent copy of the Document, and
          likewise the network locations given in the Document for
          previous versions it was based on.  These may be placed in the
          "History" section.  You may omit a network location for a work
          that was published at least four years before the Document
          itself, or if the original publisher of the version it refers
          to gives permission.

       K. For any section Entitled "Acknowledgements" or "Dedications",
          Preserve the Title of the section, and preserve in the section
          all the substance and tone of each of the contributor
          acknowledgements and/or dedications given therein.

       L. Preserve all the Invariant Sections of the Document, unaltered
          in their text and in their titles.  Section numbers or the
          equivalent are not considered part of the section titles.

       M. Delete any section Entitled "Endorsements".  Such a section
          may not be included in the Modified Version.

       N. Do not retitle any existing section to be Entitled
          "Endorsements" or to conflict in title with any Invariant
          Section.

       O. Preserve any Warranty Disclaimers.

     If the Modified Version includes new front-matter sections or
     appendices that qualify as Secondary Sections and contain no
     material copied from the Document, you may at your option designate
     some or all of these sections as invariant.  To do this, add their
     titles to the list of Invariant Sections in the Modified Version's
     license notice.  These titles must be distinct from any other
     section titles.

     You may add a section Entitled "Endorsements", provided it contains
     nothing but endorsements of your Modified Version by various
     parties--for example, statements of peer review or that the text
     has been approved by an organization as the authoritative
     definition of a standard.

     You may add a passage of up to five words as a Front-Cover Text,
     and a passage of up to 25 words as a Back-Cover Text, to the end of
     the list of Cover Texts in the Modified Version.  Only one passage
     of Front-Cover Text and one of Back-Cover Text may be added by (or
     through arrangements made by) any one entity.  If the Document
     already includes a cover text for the same cover, previously added
     by you or by arrangement made by the same entity you are acting on
     behalf of, you may not add another; but you may replace the old
     one, on explicit permission from the previous publisher that added
     the old one.

     The author(s) and publisher(s) of the Document do not by this
     License give permission to use their names for publicity for or to
     assert or imply endorsement of any Modified Version.

  5. COMBINING DOCUMENTS

     You may combine the Document with other documents released under
     this License, under the terms defined in section 4 above for
     modified versions, provided that you include in the combination all
     of the Invariant Sections of all of the original documents,
     unmodified, and list them all as Invariant Sections of your
     combined work in its license notice, and that you preserve all
     their Warranty Disclaimers.

     The combined work need only contain one copy of this License, and
     multiple identical Invariant Sections may be replaced with a single
     copy.  If there are multiple Invariant Sections with the same name
     but different contents, make the title of each such section unique
     by adding at the end of it, in parentheses, the name of the
     original author or publisher of that section if known, or else a
     unique number.  Make the same adjustment to the section titles in
     the list of Invariant Sections in the license notice of the
     combined work.

     In the combination, you must combine any sections Entitled
     "History" in the various original documents, forming one section
     Entitled "History"; likewise combine any sections Entitled
     "Acknowledgements", and any sections Entitled "Dedications".  You
     must delete all sections Entitled "Endorsements."

  6. COLLECTIONS OF DOCUMENTS

     You may make a collection consisting of the Document and other
     documents released under this License, and replace the individual
     copies of this License in the various documents with a single copy
     that is included in the collection, provided that you follow the
     rules of this License for verbatim copying of each of the documents
     in all other respects.

     You may extract a single document from such a collection, and
     distribute it individually under this License, provided you insert
     a copy of this License into the extracted document, and follow this
     License in all other respects regarding verbatim copying of that
     document.

  7. AGGREGATION WITH INDEPENDENT WORKS

     A compilation of the Document or its derivatives with other
     separate and independent documents or works, in or on a volume of a
     storage or distribution medium, is called an "aggregate" if the
     copyright resulting from the compilation is not used to limit the
     legal rights of the compilation's users beyond what the individual
     works permit.  When the Document is included in an aggregate, this
     License does not apply to the other works in the aggregate which
     are not themselves derivative works of the Document.

     If the Cover Text requirement of section 3 is applicable to these
     copies of the Document, then if the Document is less than one half
     of the entire aggregate, the Document's Cover Texts may be placed
     on covers that bracket the Document within the aggregate, or the
     electronic equivalent of covers if the Document is in electronic
     form.  Otherwise they must appear on printed covers that bracket
     the whole aggregate.

  8. TRANSLATION

     Translation is considered a kind of modification, so you may
     distribute translations of the Document under the terms of section
     4.  Replacing Invariant Sections with translations requires special
     permission from their copyright holders, but you may include
     translations of some or all Invariant Sections in addition to the
     original versions of these Invariant Sections.  You may include a
     translation of this License, and all the license notices in the
     Document, and any Warranty Disclaimers, provided that you also
     include the original English version of this License and the
     original versions of those notices and disclaimers.  In case of a
     disagreement between the translation and the original version of
     this License or a notice or disclaimer, the original version will
     prevail.

     If a section in the Document is Entitled "Acknowledgements",
     "Dedications", or "History", the requirement (section 4) to
     Preserve its Title (section 1) will typically require changing the
     actual title.

  9. TERMINATION

     You may not copy, modify, sublicense, or distribute the Document
     except as expressly provided under this License.  Any attempt
     otherwise to copy, modify, sublicense, or distribute it is void,
     and will automatically terminate your rights under this License.

     However, if you cease all violation of this License, then your
     license from a particular copyright holder is reinstated (a)
     provisionally, unless and until the copyright holder explicitly and
     finally terminates your license, and (b) permanently, if the
     copyright holder fails to notify you of the violation by some
     reasonable means prior to 60 days after the cessation.

     Moreover, your license from a particular copyright holder is
     reinstated permanently if the copyright holder notifies you of the
     violation by some reasonable means, this is the first time you have
     received notice of violation of this License (for any work) from
     that copyright holder, and you cure the violation prior to 30 days
     after your receipt of the notice.

     Termination of your rights under this section does not terminate
     the licenses of parties who have received copies or rights from you
     under this License.  If your rights have been terminated and not
     permanently reinstated, receipt of a copy of some or all of the
     same material does not give you any rights to use it.

  10. FUTURE REVISIONS OF THIS LICENSE

     The Free Software Foundation may publish new, revised versions of
     the GNU Free Documentation License from time to time.  Such new
     versions will be similar in spirit to the present version, but may
     differ in detail to address new problems or concerns.  See
     <http://www.gnu.org/copyleft/>.

     Each version of the License is given a distinguishing version
     number.  If the Document specifies that a particular numbered
     version of this License "or any later version" applies to it, you
     have the option of following the terms and conditions either of
     that specified version or of any later version that has been
     published (not as a draft) by the Free Software Foundation.  If the
     Document does not specify a version number of this License, you may
     choose any version ever published (not as a draft) by the Free
     Software Foundation.  If the Document specifies that a proxy can
     decide which future versions of this License can be used, that
     proxy's public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.

  11. RELICENSING

     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
     World Wide Web server that publishes copyrightable works and also
     provides prominent facilities for anybody to edit those works.  A
     public wiki that anybody can edit is an example of such a server.
     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
     site means any set of copyrightable works thus published on the MMC
     site.

     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
     license published by Creative Commons Corporation, a not-for-profit
     corporation with a principal place of business in San Francisco,
     California, as well as future copyleft versions of that license
     published by that same organization.

     "Incorporate" means to publish or republish a Document, in whole or
     in part, as part of another Document.

     An MMC is "eligible for relicensing" if it is licensed under this
     License, and if all works that were first published under this
     License somewhere other than this MMC, and subsequently
     incorporated in whole or in part into the MMC, (1) had no cover
     texts or invariant sections, and (2) were thus incorporated prior
     to November 1, 2008.

     The operator of an MMC Site may republish an MMC contained in the
     site under CC-BY-SA on the same site at any time before August 1,
     2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents
====================================================

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

       Copyright (C)  YEAR  YOUR NAME.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
       Texts.  A copy of the license is included in the section entitled ``GNU
       Free Documentation License''.

   If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the "with...Texts."  line with this:

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover Texts
         being LIST.

   If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

   If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.

