Coverage Report

Created: 2026-03-29 06:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libredwg/include/dwg.h
Line
Count
Source
1
/*****************************************************************************/
2
/*  LibreDWG - free implementation of the DWG file format                    */
3
/*                                                                           */
4
/*  Copyright (C) 2009-2010,2018-2025 Free Software Foundation, Inc.         */
5
/*                                                                           */
6
/*  This library is free software, licensed under the terms of the GNU       */
7
/*  General Public License as published by the Free Software Foundation,     */
8
/*  either version 3 of the License, or (at your option) any later version.  */
9
/*  You should have received a copy of the GNU General Public License        */
10
/*  along with this program.  If not, see <http://www.gnu.org/licenses/>.    */
11
/*****************************************************************************/
12
13
/*
14
 * dwg.h: main public header file (the other variant is dwg_api.h)
15
 *
16
 * written by Felipe Castro
17
 * modified by Felipe Corrêa da Silva Sances
18
 * modified by Rodrigo Rodrigues da Silva
19
 * modified by Till Heuschmann
20
 * modified by Reini Urban
21
 * modified by Michal Josef Špaček
22
 */
23
24
#ifndef DWG_H
25
#define DWG_H
26
27
/* keep in sync with release tags */
28
0
#define LIBREDWG_VERSION_MAJOR 0
29
0
#define LIBREDWG_VERSION_MINOR 13
30
0
#define LIBREDWG_VERSION       ((LIBREDWG_VERSION_MAJOR * 100) + LIBREDWG_VERSION_MINOR)
31
32
/* for uint64_t, but not in swig */
33
#ifndef SWIGIMPORTED
34
#  include <stddef.h>
35
#  include <stdint.h>
36
#  include <inttypes.h>
37
38
/* wchar for R2007+ support
39
 * But we need the win32 UTF-16 variant, not UTF-32.
40
 * i.e. only on Windows, AIX, Solaris
41
 */
42
# if defined(HAVE_WCHAR_H) && defined(SIZEOF_WCHAR_T)
43
#    if SIZEOF_WCHAR_T == 2
44
#      include <wchar.h>
45
#      define HAVE_NATIVE_WCHAR2
46
#      define DWGCHAR wchar_t
47
#      define dwg_wchar_t wchar_t
48
#    endif
49
#  endif
50
#endif
51
52
#ifndef EXPORT
53
# ifdef SWIG
54
#  define EXPORT extern
55
# elif defined(_WIN32) && defined(ENABLE_SHARED)
56
#  ifdef DLL_EXPORT
57
#    define EXPORT  __declspec(dllexport)
58
#  else
59
#    define EXPORT  __declspec(dllimport)
60
#  endif
61
# elif defined(__clang__) || defined(__clang) || \
62
        (defined( __GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 303)
63
#  define EXPORT __attribute__((visibility("default")))
64
# else
65
#  define EXPORT
66
# endif
67
#endif
68
69
#ifndef __counted_by
70
#  if (defined(__clang__) && (__clang_major__ >= 18)) || \
71
      (defined( __GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 1500)
72
#    define __counted_by(x) __attribute__((__counted_by__(x)))
73
#    ifdef __cplusplus
74
#      undef __counted_by
75
#      define __counted_by(x)
76
#    endif
77
#  else
78
#    define __counted_by(x)
79
#  endif
80
#endif
81
82
#ifdef __cplusplus
83
extern "C" {
84
# ifndef restrict
85
#  define restrict __restrict
86
# endif
87
#endif
88
89
#define BITCODE_DOUBLE double
90
91
/* The FORMAT_* are for logging only */
92
typedef unsigned char BITCODE_RC;
93
#if defined _MSC_VER && !defined __clang__
94
# define FORMAT_RC "0x%2x"
95
# define SCANF_2X "%2hhX"
96
#else
97
# define FORMAT_RC "0x%hhx"
98
0
# define SCANF_2X "%2hhX"
99
#endif
100
#define FORMAT_RCd "%d"
101
#define FORMAT_RCu "%u"
102
#define FORMAT_RCx "0x%x"
103
typedef signed char BITCODE_RCd;
104
typedef unsigned char BITCODE_RCu;
105
typedef unsigned char BITCODE_RCx;
106
typedef unsigned char BITCODE_B;
107
#define FORMAT_B "%d"
108
typedef unsigned char BITCODE_BB;
109
#define FORMAT_BB "%u"
110
/* Since R24 */
111
typedef unsigned char BITCODE_3B;
112
#define FORMAT_3B "%u"
113
//#ifdef HAVE_STDINT_H
114
//#define BITCODE_BS uint16_t
115
//#define BITCODE_RS uint16_t
116
//#define BITCODE_BL uint32_t
117
//#define BITCODE_RL uint32_t
118
//#define BITCODE_BLd int32_t
119
//#define BITCODE_RLd int32_t
120
typedef uint16_t BITCODE_BS;
121
typedef int16_t BITCODE_BSd;
122
typedef uint16_t BITCODE_BSx;
123
typedef uint16_t BITCODE_RS;
124
typedef int16_t BITCODE_RSd;
125
typedef uint16_t BITCODE_RSx;
126
typedef uint32_t BITCODE_BL;
127
typedef uint32_t BITCODE_BLx;
128
typedef int32_t BITCODE_BLd;
129
typedef uint32_t BITCODE_RL;
130
typedef uint32_t BITCODE_RLx;
131
typedef int32_t BITCODE_RLd;
132
/* e.g. old cygwin 64 vs 32 */
133
/*#else
134
# if defined(__WORDSIZE) && __WORDSIZE == 64
135
  typedef unsigned short int BITCODE_BS;
136
  typedef unsigned short int BITCODE_RS;
137
  typedef unsigned int BITCODE_BL;
138
  typedef unsigned int BITCODE_RL;
139
  typedef int BITCODE_BLd;
140
  typedef int BITCODE_RLd;
141
# else
142
  typedef unsigned short int BITCODE_BS;
143
  typedef unsigned short int BITCODE_RS;
144
  typedef unsigned long BITCODE_BL;
145
  typedef unsigned long BITCODE_RL;
146
  typedef long BITCODE_BLd;
147
  typedef long BITCODE_RLd;
148
# endif
149
#endif
150
*/
151
//#ifdef HAVE_INTTYPES_H
152
#define FORMAT_BS "%" PRIu16
153
#define FORMAT_BSd "%" PRId16
154
#define FORMAT_BSx "0x%" PRIx16
155
#define FORMAT_RS "%" PRIu16
156
#define FORMAT_RSd "%" PRId16
157
#define FORMAT_RSx "0x%" PRIx16
158
#define FORMAT_BL "%" PRIu32
159
#define FORMAT_RL "%" PRIu32
160
#define FORMAT_BLd "%" PRId32
161
#define FORMAT_RLd "%" PRId32
162
#define FORMAT_RLx "0x%" PRIx32
163
#define FORMAT_BLX "%" PRIX32
164
#define FORMAT_BLx "0x%" PRIx32
165
/*#else
166
# define FORMAT_BS "%hu"
167
# define FORMAT_RS "%hu"
168
# define FORMAT_BL "%u"
169
# define FORMAT_RL "%u"
170
# define FORMAT_BLd "%d"
171
# define FORMAT_RLd "%d"
172
# define FORMAT_BLX "%X"
173
# define FORMAT_BLx "%x"
174
#endif
175
*/
176
typedef BITCODE_DOUBLE BITCODE_RD;
177
#define FORMAT_RD "%g"
178
/* Since R2004 */
179
typedef uint64_t BITCODE_RLL;
180
typedef uint64_t BITCODE_RLLx;
181
typedef int64_t BITCODE_RLLd;
182
typedef uint64_t BITCODE_BLL;
183
0
#define FORMAT_RLLx "%" PRIX64
184
#define FORMAT_RLL "0x%" PRIX64
185
#define FORMAT_RLLd "%" PRId64
186
#define FORMAT_BLL "%" PRIu64
187
typedef int32_t BITCODE_MC;
188
#define FORMAT_MC "%" PRId32
189
typedef uint64_t BITCODE_UMC;
190
#define FORMAT_UMC FORMAT_RLL
191
typedef BITCODE_BL BITCODE_MS;
192
#define FORMAT_MS FORMAT_BL
193
#ifndef HAVE_NATIVE_WCHAR2
194
  typedef BITCODE_RS dwg_wchar_t;
195
0
# define DWGCHAR dwg_wchar_t
196
#endif
197
typedef unsigned char* BITCODE_TF;
198
#define FORMAT_TF "\"%s\""
199
typedef char* BITCODE_TV;
200
#define FORMAT_TV "\"%s\""
201
#define BITCODE_T16 BITCODE_TV
202
#define FORMAT_T16 FORMAT_TV
203
#define BITCODE_TU16 BITCODE_TU
204
#define FORMAT_TU16 FORMAT_TU
205
0
#define BITCODE_T32 BITCODE_TV
206
#define FORMAT_T32 FORMAT_TV
207
#define BITCODE_TU32 BITCODE_TV
208
#define FORMAT_TU32 FORMAT_TV
209
typedef BITCODE_DOUBLE BITCODE_BT;
210
#define FORMAT_BT "%g"
211
typedef BITCODE_DOUBLE BITCODE_DD;
212
#define FORMAT_DD "%g"
213
typedef BITCODE_DOUBLE BITCODE_BD;
214
#define FORMAT_BD "%g"
215
typedef BITCODE_RC BITCODE_4BITS;
216
typedef BITCODE_RLLx BITCODE_HV; // handle value (not vector)
217
0
#define FORMAT_HV FORMAT_RLLx
218
#define FORMAT_4BITS "%1x"
219
/* double stored as string. ARCALIGNEDTEXT */
220
typedef BITCODE_TV BITCODE_D2T;
221
#define FORMAT_D2T "%s"
222
223
/* TODO: implement version dependent string parsing */
224
/* encode codepages/utf8 */
225
0
#define BITCODE_T  BITCODE_TV
226
#ifdef HAVE_NATIVE_WCHAR2
227
  typedef dwg_wchar_t* BITCODE_TU; /* native UCS-2 wchar_t */
228
# define FORMAT_TU "\"%ls\""
229
#else
230
  typedef BITCODE_RS* BITCODE_TU;  /* UCS-2 unicode text */
231
# define FORMAT_TU "\"%hn\""       /* will print garbage */
232
#endif
233
234
typedef struct _dwg_time_bll
235
{
236
  BITCODE_BL days;
237
  BITCODE_BL ms;
238
  BITCODE_BD value;
239
} Dwg_Bitcode_TimeBLL;
240
241
typedef struct _dwg_bitcode_2rd
242
{
243
  BITCODE_RD x;
244
  BITCODE_RD y;
245
} Dwg_Bitcode_2RD;
246
247
typedef struct _dwg_bitcode_2bd
248
{
249
  BITCODE_BD x;
250
  BITCODE_BD y;
251
} Dwg_Bitcode_2BD;
252
253
typedef struct _dwg_bitcode_3rd
254
{
255
  BITCODE_RD x;
256
  BITCODE_RD y;
257
  BITCODE_RD z;
258
} Dwg_Bitcode_3RD;
259
260
typedef struct _dwg_bitcode_3bd
261
{
262
  BITCODE_BD x;
263
  BITCODE_BD y;
264
  BITCODE_BD z;
265
} Dwg_Bitcode_3BD;
266
267
typedef Dwg_Bitcode_TimeBLL BITCODE_TIMEBLL;
268
typedef Dwg_Bitcode_TimeBLL BITCODE_TIMERLL;
269
/* #define FORMAT_TIMEBLL FORMAT_BL "." FORMAT_BL */
270
typedef Dwg_Bitcode_2RD  BITCODE_2RD;
271
typedef Dwg_Bitcode_2BD  BITCODE_2BD;
272
typedef Dwg_Bitcode_2BD  BITCODE_2DPOINT;
273
typedef Dwg_Bitcode_2BD  BITCODE_2BD_1;
274
typedef Dwg_Bitcode_3RD  BITCODE_3RD;
275
typedef Dwg_Bitcode_3BD  BITCODE_3BD;
276
typedef Dwg_Bitcode_3BD  BITCODE_3DPOINT;
277
typedef Dwg_Bitcode_3BD  BITCODE_3BD_1;
278
typedef Dwg_Bitcode_3BD  BITCODE_BE;
279
#define BITCODE_3DVECTOR BITCODE_3BD_1
280
281
typedef enum DWG_VERSION_TYPE
282
{
283
  R_INVALID,
284
  // Releases based on https://autodesk.blogs.com/between_the_lines/autocad-release-history.html
285
  R_1_1,  /* MC0.0/1  MicroCAD Release 1 */
286
  R_1_2,  /* AC1.2/2  AutoCAD Release 2 */
287
  R_1_3,  /* AC1.3/?  AutoCAD Release 3 */
288
  R_1_4,  /* AC1.40/3 AutoCAD Release 4 */
289
  R_2_0b, /* AC1.50/4 AutoCAD 2.0 beta */
290
  R_2_0,  /* AC1.50/4 AutoCAD Release 5 */
291
  R_2_10, /* AC2.10/5 AutoCAD Release 6 */
292
  R_2_21, /* AC2.21/6 AutoCAD Release ? */
293
  R_2_22, /* AC2.22/7 AutoCAD Release ? */
294
  R_2_4,  /* AC1001/8 AutoCAD Release ? */
295
  R_2_5,  /* AC1002/9 AutoCAD Release 7 */
296
  R_2_6,  /* AC1003/10 AutoCAD Release 8 */
297
  R_9,    /* AC1004/0xb AutoCAD Release 9 */
298
  R_9c1,  /* AC1005/0xc AutoCAD Release 9c1 */
299
  R_10,   /* AC1006/0xd AutoCAD Release 10 */
300
  R_11b1, /* AC1007/0xe AutoCAD 11 beta 1 */
301
  R_11b2, /* AC1008/0xf AutoCAD 11 beta 2 */
302
  R_11,   /* AC1009/0x10 AutoCAD Release 11/12 (LT R1/R2) */
303
  R_12 = R_11,
304
  R_13b1, /* AC1010/0x11 AutoCAD 13 beta 1 */
305
  R_13b2, /* AC1011/0x12 AutoCAD 13 beta 2 */
306
  R_13,   /* AC1012/0x13 AutoCAD Release 13 */
307
  R_13c3, /* AC1013/0x14 AutoCAD Release 13c3 */
308
  R_14,   /* AC1014/0x15 AutoCAD Release 14 */
309
  R_2000b,  /* AC1500/0x16 AutoCAD 2000 beta */
310
  R_2000, /* AC1015/0x17 AutoCAD Release 2000 */
311
  R_2000i,  /* AC1016/0x17 AutoCAD Release 2000i */
312
  R_2002, /* AC1017/0x17 AutoCAD Release 2002 */
313
  R_2004a,  /* AC402a/0x18 AutoCAD 2004 alpha a */
314
  R_2004b,  /* AC402b/0x18 AutoCAD 2004 alpha b */
315
  R_2004c,  /* AC1018/0x18 AutoCAD 2004 beta */
316
  R_2004, /* AC1018/0x19 AutoCAD Release 2004 - 2006 */
317
  //R_2005, /* AC1019/0x19 AutoCAD 2005 */
318
  //R_2006, /* AC1020/0x19 AutoCAD 2006 */
319
  R_2007a,  /* AC701a/0x19 AutoCAD 2007 alpha 1 */
320
  R_2007b,  /* AC1021/0x19 AutoCAD 2007 beta */
321
  R_2007, /* AC1021/0x1b AutoCAD Release 2007 - 2009 */
322
  //R_2008, /* AC1022/0x1b AutoCAD 2008 */
323
  //R_2009, /* AC1023/0x1b AutoCAD 2009 */
324
  R_2010b,  /* AC1024/0x1b AutoCAD 2009 */
325
  R_2010, /* AC1024/0x1c AutoCAD Release 2010 - 2012 */
326
  //R_2011, /* AC1025/0x1d AutoCAD 2011 */
327
  //R_2012, /* AC1026/0x1e AutoCAD 2012 */
328
  R_2013b,  /* AC1027/0x1e AutoCAD 2013 beta */
329
  R_2013, /* AC1027/0x1f AutoCAD Release 2013 - 2017 */
330
  //R_2014, /* AC1028/0x1f AutoCAD 2014 */
331
  //R_2015, /* AC1029/0x1f AutoCAD 2015 */
332
  //R_2016, /* AC1030/0x1f AutoCAD 2016 */
333
  //R_2017, /* AC1031/0x20 AutoCAD 2017 */
334
  R_2018b,  /* AC1032/0x20 AutoCAD 2018 beta */
335
  R_2018, /* AC1032/0x21 AutoCAD Release 2018 - 2021 */
336
  //R_2019, /* AC1033/0x22 AutoCAD 2019 */
337
  //R_2020, /* AC1034/0x23 AutoCAD 2020 */
338
  //R_2021, /* AC1035/0x24 AutoCAD 2021 */
339
  R_2022b,  /* AC103-4 AutoCAD 2022 beta? */
340
  R_AFTER
341
} Dwg_Version_Type;
342
#define DWG_VERSIONS (int)(R_AFTER+1)
343
344
typedef struct dwg_versions {
345
  Dwg_Version_Type r;
346
  const char *const type;
347
  const char *const hdr; // char[6] mostly
348
  const char *const desc;
349
  uint8_t dwg_version;
350
} Dwg_Versions;
351
352
typedef enum DWG_CLASS_STABILITY {
353
  DWG_CLASS_STABLE,
354
  DWG_CLASS_UNSTABLE,
355
  DWG_CLASS_DEBUGGING,
356
  DWG_CLASS_UNHANDLED
357
} Dwg_Class_Stability;
358
359
typedef enum DWG_ENTITY_SECTIONS {
360
  DWG_ENTITY_SECTION = 0,
361
  DWG_BLOCKS_SECTION = 0x40,
362
  DWG_EXTRA_SECTION = 0x80
363
} Dwg_Entity_Sections;
364
365
/**
366
 Object supertypes that exist in dwg-files.
367
 */
368
typedef enum DWG_OBJECT_SUPERTYPE
369
{
370
  DWG_SUPERTYPE_ENTITY, DWG_SUPERTYPE_OBJECT
371
} Dwg_Object_Supertype;
372
373
/**
374
 Object and Entity types that exist in dwg-files.
375
 */
376
typedef enum DWG_OBJECT_TYPE
377
{
378
  DWG_TYPE_UNUSED = 0x00,
379
  DWG_TYPE_TEXT = 0x01,
380
  DWG_TYPE_ATTRIB = 0x02,
381
  DWG_TYPE_ATTDEF = 0x03,
382
  DWG_TYPE_BLOCK = 0x04,
383
  DWG_TYPE_ENDBLK = 0x05,
384
  DWG_TYPE_SEQEND = 0x06,
385
  DWG_TYPE_INSERT = 0x07,
386
  DWG_TYPE_MINSERT = 0x08,
387
  // DWG_TYPE_TRACE_old = 0x09, /* old TRACE r10-r11 only */
388
  DWG_TYPE_VERTEX_2D = 0x0a,
389
  DWG_TYPE_VERTEX_3D = 0x0b,
390
  DWG_TYPE_VERTEX_MESH = 0x0c,
391
  DWG_TYPE_VERTEX_PFACE = 0x0d,
392
  DWG_TYPE_VERTEX_PFACE_FACE = 0x0e,
393
  DWG_TYPE_POLYLINE_2D = 0x0f,
394
  DWG_TYPE_POLYLINE_3D = 0x10,
395
  DWG_TYPE_ARC = 0x11,
396
  DWG_TYPE_CIRCLE = 0x12,
397
  DWG_TYPE_LINE = 0x13,
398
  DWG_TYPE_DIMENSION_ORDINATE = 0x14,
399
  DWG_TYPE_DIMENSION_LINEAR = 0x15,
400
  DWG_TYPE_DIMENSION_ALIGNED = 0x16,
401
  DWG_TYPE_DIMENSION_ANG3PT = 0x17,
402
  DWG_TYPE_DIMENSION_ANG2LN = 0x18,
403
  DWG_TYPE_DIMENSION_RADIUS = 0x19,
404
  DWG_TYPE_DIMENSION_DIAMETER = 0x1A,
405
  DWG_TYPE_POINT = 0x1b,
406
  DWG_TYPE__3DFACE = 0x1c,
407
  DWG_TYPE_POLYLINE_PFACE = 0x1d,
408
  DWG_TYPE_POLYLINE_MESH = 0x1e,
409
  DWG_TYPE_SOLID = 0x1f,
410
  DWG_TYPE_TRACE = 0x20,
411
  DWG_TYPE_SHAPE = 0x21,
412
  DWG_TYPE_VIEWPORT = 0x22,
413
  DWG_TYPE_ELLIPSE = 0x23,
414
  DWG_TYPE_SPLINE = 0x24,
415
  DWG_TYPE_REGION = 0x25,
416
  DWG_TYPE__3DSOLID = 0x26,
417
  DWG_TYPE_BODY = 0x27,
418
  DWG_TYPE_RAY = 0x28,
419
  DWG_TYPE_XLINE = 0x29,
420
  DWG_TYPE_DICTIONARY = 0x2a,
421
  DWG_TYPE_OLEFRAME = 0x2b,
422
  DWG_TYPE_MTEXT = 0x2c,
423
  DWG_TYPE_LEADER = 0x2d,
424
  DWG_TYPE_TOLERANCE = 0x2e,
425
  DWG_TYPE_MLINE = 0x2f,
426
  DWG_TYPE_BLOCK_CONTROL = 0x30,
427
  DWG_TYPE_BLOCK_HEADER = 0x31,
428
  DWG_TYPE_LAYER_CONTROL = 0x32,
429
  DWG_TYPE_LAYER = 0x33,
430
  DWG_TYPE_STYLE_CONTROL = 0x34, /* 52 SHAPEFILE_CONTROL */
431
  DWG_TYPE_STYLE = 0x35,
432
  /* DWG_TYPE_<UNKNOWN> = 0x36, */
433
  /* DWG_TYPE_<UNKNOWN> = 0x37, */
434
  DWG_TYPE_LTYPE_CONTROL = 0x38,
435
  DWG_TYPE_LTYPE = 0x39,
436
  /* DWG_TYPE_<UNKNOWN> = 0x3a, */
437
  /* DWG_TYPE_<UNKNOWN> = 0x3b, */
438
  DWG_TYPE_VIEW_CONTROL = 0x3c,
439
  DWG_TYPE_VIEW = 0x3d,
440
  DWG_TYPE_UCS_CONTROL = 0x3e,
441
  DWG_TYPE_UCS = 0x3f,
442
  DWG_TYPE_VPORT_CONTROL = 0x40,
443
  DWG_TYPE_VPORT = 0x41,
444
  DWG_TYPE_APPID_CONTROL = 0x42,
445
  DWG_TYPE_APPID = 0x43,
446
  DWG_TYPE_DIMSTYLE_CONTROL = 0x44,
447
  DWG_TYPE_DIMSTYLE = 0x45,
448
  DWG_TYPE_VX_CONTROL = 0x46,
449
  DWG_TYPE_VX_TABLE_RECORD = 0x47,
450
  DWG_TYPE_GROUP = 0x48,
451
  DWG_TYPE_MLINESTYLE = 0x49,
452
  DWG_TYPE_OLE2FRAME = 0x4a,
453
  DWG_TYPE_DUMMY = 0x4b,
454
  DWG_TYPE_LONG_TRANSACTION = 0x4c,
455
  DWG_TYPE_LWPOLYLINE = 0x4d, /* ?? */
456
  DWG_TYPE_HATCH = 0x4e,
457
  DWG_TYPE_XRECORD = 0x4f,
458
  DWG_TYPE_PLACEHOLDER = 0x50,
459
  DWG_TYPE_VBA_PROJECT = 0x51,
460
  DWG_TYPE_LAYOUT = 0x52,
461
462
  DWG_TYPE_PROXY_ENTITY = 0x1f2, /* 498 */
463
  DWG_TYPE_PROXY_OBJECT = 0x1f3, /* 499 */
464
465
  /* non-fixed types > 500. not stored as type, but as fixedtype */
466
467
  DWG_TYPE_ACDSRECORD = 500,
468
  DWG_TYPE_ACDSSCHEMA,
469
  DWG_TYPE_ACMECOMMANDHISTORY,
470
  DWG_TYPE_ACMESCOPE,
471
  DWG_TYPE_ACMESTATEMGR,
472
  DWG_TYPE_ACSH_BOOLEAN_CLASS,
473
  DWG_TYPE_ACSH_BOX_CLASS,
474
  DWG_TYPE_ACSH_BREP_CLASS,
475
  DWG_TYPE_ACSH_CHAMFER_CLASS,
476
  DWG_TYPE_ACSH_CONE_CLASS,
477
  DWG_TYPE_ACSH_CYLINDER_CLASS,
478
  DWG_TYPE_ACSH_EXTRUSION_CLASS,
479
  DWG_TYPE_ACSH_FILLET_CLASS,
480
  DWG_TYPE_ACSH_HISTORY_CLASS,
481
  DWG_TYPE_ACSH_LOFT_CLASS,
482
  DWG_TYPE_ACSH_PYRAMID_CLASS,
483
  DWG_TYPE_ACSH_REVOLVE_CLASS,
484
  DWG_TYPE_ACSH_SPHERE_CLASS,
485
  DWG_TYPE_ACSH_SWEEP_CLASS,
486
  DWG_TYPE_ACSH_TORUS_CLASS,
487
  DWG_TYPE_ACSH_WEDGE_CLASS,
488
  DWG_TYPE_ALDIMOBJECTCONTEXTDATA,
489
  DWG_TYPE_ALIGNMENTPARAMETERENTITY,
490
  DWG_TYPE_ANGDIMOBJECTCONTEXTDATA,
491
  DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA,
492
  DWG_TYPE_ARCALIGNEDTEXT,
493
  DWG_TYPE_ARC_DIMENSION,
494
  DWG_TYPE_ASSOC2DCONSTRAINTGROUP,
495
  DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY,
496
  DWG_TYPE_ASSOCACTION,
497
  DWG_TYPE_ASSOCACTIONPARAM,
498
  DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY,
499
  DWG_TYPE_ASSOCARRAYACTIONBODY,
500
  DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY,
501
  DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS,
502
  DWG_TYPE_ASSOCARRAYPATHPARAMETERS,
503
  DWG_TYPE_ASSOCARRAYPOLARPARAMETERS,
504
  DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS,
505
  DWG_TYPE_ASSOCASMBODYACTIONPARAM,
506
  DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY,
507
  DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM,
508
  DWG_TYPE_ASSOCDEPENDENCY,
509
  DWG_TYPE_ASSOCDIMDEPENDENCYBODY,
510
  DWG_TYPE_ASSOCEDGEACTIONPARAM,
511
  DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY,
512
  DWG_TYPE_ASSOCEDGEFILLETACTIONBODY,
513
  DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY,
514
  DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY,
515
  DWG_TYPE_ASSOCFACEACTIONPARAM,
516
  DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY,
517
  DWG_TYPE_ASSOCGEOMDEPENDENCY,
518
  DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY,
519
  DWG_TYPE_ASSOCMLEADERACTIONBODY,
520
  DWG_TYPE_ASSOCNETWORK,
521
  DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY,
522
  DWG_TYPE_ASSOCOBJECTACTIONPARAM,
523
  DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY,
524
  DWG_TYPE_ASSOCORDINATEDIMACTIONBODY,
525
  DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM,
526
  DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY,
527
  DWG_TYPE_ASSOCPATHACTIONPARAM,
528
  DWG_TYPE_ASSOCPERSSUBENTMANAGER,
529
  DWG_TYPE_ASSOCPLANESURFACEACTIONBODY,
530
  DWG_TYPE_ASSOCPOINTREFACTIONPARAM,
531
  DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY,
532
  DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY,
533
  DWG_TYPE_ASSOCROTATEDDIMACTIONBODY,
534
  DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY,
535
  DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY,
536
  DWG_TYPE_ASSOCVALUEDEPENDENCY,
537
  DWG_TYPE_ASSOCVARIABLE,
538
  DWG_TYPE_ASSOCVERTEXACTIONPARAM,
539
  DWG_TYPE_BASEPOINTPARAMETERENTITY,
540
  DWG_TYPE_BLKREFOBJECTCONTEXTDATA,
541
  DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER,
542
  DWG_TYPE_BLOCKALIGNMENTGRIP,
543
  DWG_TYPE_BLOCKALIGNMENTPARAMETER,
544
  DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER,
545
  DWG_TYPE_BLOCKARRAYACTION,
546
  DWG_TYPE_BLOCKBASEPOINTPARAMETER,
547
  DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER,
548
  DWG_TYPE_BLOCKFLIPACTION,
549
  DWG_TYPE_BLOCKFLIPGRIP,
550
  DWG_TYPE_BLOCKFLIPPARAMETER,
551
  DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT,
552
  DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER,
553
  DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER,
554
  DWG_TYPE_BLOCKLINEARGRIP,
555
  DWG_TYPE_BLOCKLINEARPARAMETER,
556
  DWG_TYPE_BLOCKLOOKUPACTION,
557
  DWG_TYPE_BLOCKLOOKUPGRIP,
558
  DWG_TYPE_BLOCKLOOKUPPARAMETER,
559
  DWG_TYPE_BLOCKMOVEACTION,
560
  DWG_TYPE_BLOCKPARAMDEPENDENCYBODY,
561
  DWG_TYPE_BLOCKPOINTPARAMETER,
562
  DWG_TYPE_BLOCKPOLARGRIP,
563
  DWG_TYPE_BLOCKPOLARPARAMETER,
564
  DWG_TYPE_BLOCKPOLARSTRETCHACTION,
565
  DWG_TYPE_BLOCKPROPERTIESTABLE,
566
  DWG_TYPE_BLOCKPROPERTIESTABLEGRIP,
567
  DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER,
568
  DWG_TYPE_BLOCKREPRESENTATION,
569
  DWG_TYPE_BLOCKROTATEACTION,
570
  DWG_TYPE_BLOCKROTATIONGRIP,
571
  DWG_TYPE_BLOCKROTATIONPARAMETER,
572
  DWG_TYPE_BLOCKSCALEACTION,
573
  DWG_TYPE_BLOCKSTRETCHACTION,
574
  DWG_TYPE_BLOCKUSERPARAMETER,
575
  DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER,
576
  DWG_TYPE_BLOCKVISIBILITYGRIP,
577
  DWG_TYPE_BLOCKVISIBILITYPARAMETER,
578
  DWG_TYPE_BLOCKXYGRIP,
579
  DWG_TYPE_BLOCKXYPARAMETER,
580
  DWG_TYPE_CAMERA,
581
  DWG_TYPE_CELLSTYLEMAP,
582
  DWG_TYPE_CONTEXTDATAMANAGER,
583
  DWG_TYPE_CSACDOCUMENTOPTIONS,
584
  DWG_TYPE_CURVEPATH,
585
  DWG_TYPE_DATALINK,
586
  DWG_TYPE_DATATABLE,
587
  DWG_TYPE_DBCOLOR,
588
  DWG_TYPE_DETAILVIEWSTYLE,
589
  DWG_TYPE_DGNDEFINITION,
590
  DWG_TYPE_DGNUNDERLAY,
591
  DWG_TYPE_DICTIONARYVAR,
592
  DWG_TYPE_DICTIONARYWDFLT,
593
  DWG_TYPE_DIMASSOC,
594
  DWG_TYPE_DMDIMOBJECTCONTEXTDATA,
595
  DWG_TYPE_DWFDEFINITION,
596
  DWG_TYPE_DWFUNDERLAY,
597
  DWG_TYPE_DYNAMICBLOCKPROXYNODE,
598
  DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER,
599
  DWG_TYPE_EVALUATION_GRAPH,
600
  DWG_TYPE_EXTRUDEDSURFACE,
601
  DWG_TYPE_FCFOBJECTCONTEXTDATA,
602
  DWG_TYPE_FIELD,
603
  DWG_TYPE_FIELDLIST,
604
  DWG_TYPE_FLIPPARAMETERENTITY,
605
  DWG_TYPE_FLIPACTIONENTITY, // AcDbBlockFlipActionEntity,
606
  DWG_TYPE_GEODATA,
607
  DWG_TYPE_GEOMAPIMAGE,
608
  DWG_TYPE_GEOPOSITIONMARKER,
609
  DWG_TYPE_GRADIENT_BACKGROUND,
610
  DWG_TYPE_GROUND_PLANE_BACKGROUND,
611
  DWG_TYPE_HELIX,
612
  DWG_TYPE_IBL_BACKGROUND,
613
  DWG_TYPE_IDBUFFER,
614
  DWG_TYPE_IMAGE,
615
  DWG_TYPE_IMAGEDEF,
616
  DWG_TYPE_IMAGEDEF_REACTOR,
617
  DWG_TYPE_IMAGE_BACKGROUND,
618
  DWG_TYPE_INDEX,
619
  DWG_TYPE_LARGE_RADIAL_DIMENSION,
620
  DWG_TYPE_LAYERFILTER,
621
  DWG_TYPE_LAYER_INDEX,
622
  DWG_TYPE_LAYOUTPRINTCONFIG,
623
  DWG_TYPE_LEADEROBJECTCONTEXTDATA,
624
  DWG_TYPE_LIGHT,
625
  DWG_TYPE_LIGHTLIST,
626
  DWG_TYPE_LINEARPARAMETERENTITY,
627
  DWG_TYPE_LOFTEDSURFACE,
628
  DWG_TYPE_MATERIAL,
629
  DWG_TYPE_MENTALRAYRENDERSETTINGS,
630
  DWG_TYPE_MESH,
631
  DWG_TYPE_MLEADEROBJECTCONTEXTDATA,
632
  DWG_TYPE_MLEADERSTYLE,
633
  DWG_TYPE_MOVEACTIONENTITY,
634
  DWG_TYPE_MOTIONPATH,
635
  DWG_TYPE_MPOLYGON,
636
  DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA,
637
  DWG_TYPE_MTEXTOBJECTCONTEXTDATA,
638
  DWG_TYPE_MULTILEADER,
639
  DWG_TYPE_NAVISWORKSMODEL,
640
  DWG_TYPE_NAVISWORKSMODELDEF,
641
  DWG_TYPE_NPOCOLLECTION,
642
  DWG_TYPE_NURBSURFACE,
643
  DWG_TYPE_OBJECT_PTR,
644
  DWG_TYPE_ORDDIMOBJECTCONTEXTDATA,
645
  DWG_TYPE_PARTIAL_VIEWING_INDEX,
646
  //DWG_TYPE_PARTIAL_VIEWING_FILTER,
647
  DWG_TYPE_PDFDEFINITION,
648
  DWG_TYPE_PDFUNDERLAY,
649
  DWG_TYPE_PERSUBENTMGR,
650
  DWG_TYPE_PLANESURFACE,
651
  DWG_TYPE_PLOTSETTINGS,
652
  DWG_TYPE_POINTCLOUD,
653
  DWG_TYPE_POINTCLOUDCOLORMAP,
654
  DWG_TYPE_POINTCLOUDDEF,
655
  DWG_TYPE_POINTCLOUDDEFEX,
656
  DWG_TYPE_POINTCLOUDDEF_REACTOR,
657
  DWG_TYPE_POINTCLOUDDEF_REACTOR_EX,
658
  DWG_TYPE_POINTCLOUDEX,
659
  DWG_TYPE_POINTPARAMETERENTITY,
660
  DWG_TYPE_POINTPATH,
661
  DWG_TYPE_POLARGRIPENTITY,
662
  DWG_TYPE_RADIMLGOBJECTCONTEXTDATA,
663
  DWG_TYPE_RADIMOBJECTCONTEXTDATA,
664
  DWG_TYPE_RAPIDRTRENDERSETTINGS,
665
  DWG_TYPE_RASTERVARIABLES,
666
  DWG_TYPE_RENDERENTRY,
667
  DWG_TYPE_RENDERENVIRONMENT,
668
  DWG_TYPE_RENDERGLOBAL,
669
  DWG_TYPE_RENDERSETTINGS,
670
  DWG_TYPE_REVOLVEDSURFACE,
671
  DWG_TYPE_ROTATIONPARAMETERENTITY,
672
  DWG_TYPE_ROTATEACTIONENTITY,
673
  DWG_TYPE_RTEXT,
674
  DWG_TYPE_SCALE,
675
  DWG_TYPE_SCALEACTIONENTITY,
676
  DWG_TYPE_SECTIONOBJECT,
677
  DWG_TYPE_SECTIONVIEWSTYLE,
678
  DWG_TYPE_SECTION_MANAGER,
679
  DWG_TYPE_SECTION_SETTINGS,
680
  DWG_TYPE_SKYLIGHT_BACKGROUND,
681
  DWG_TYPE_SOLID_BACKGROUND,
682
  DWG_TYPE_SORTENTSTABLE,
683
  DWG_TYPE_SPATIAL_FILTER,
684
  DWG_TYPE_SPATIAL_INDEX,
685
  DWG_TYPE_STRETCHACTIONENTITY,
686
  DWG_TYPE_SUN,
687
  DWG_TYPE_SUNSTUDY,
688
  DWG_TYPE_SWEPTSURFACE,
689
  DWG_TYPE_TABLE,
690
  DWG_TYPE_TABLECONTENT,
691
  DWG_TYPE_TABLEGEOMETRY,
692
  DWG_TYPE_TABLESTYLE,
693
  DWG_TYPE_TEXTOBJECTCONTEXTDATA,
694
  DWG_TYPE_TVDEVICEPROPERTIES,
695
  DWG_TYPE_VISIBILITYGRIPENTITY,
696
  DWG_TYPE_VISIBILITYPARAMETERENTITY,
697
  DWG_TYPE_VISUALSTYLE,
698
  DWG_TYPE_WIPEOUT,
699
  DWG_TYPE_WIPEOUTVARIABLES,
700
  DWG_TYPE_XREFPANELOBJECT,
701
  DWG_TYPE_XYPARAMETERENTITY,
702
  DWG_TYPE_BREAKDATA,
703
  DWG_TYPE_BREAKPOINTREF,
704
  DWG_TYPE_FLIPGRIPENTITY,
705
  DWG_TYPE_LINEARGRIPENTITY,
706
  DWG_TYPE_ROTATIONGRIPENTITY,
707
  DWG_TYPE_XYGRIPENTITY,
708
709
  /* preR13 entities */
710
  DWG_TYPE__3DLINE,
711
  DWG_TYPE_REPEAT,
712
  DWG_TYPE_ENDREP,
713
  DWG_TYPE_JUMP,
714
  /* pre2.0 entities */
715
  DWG_TYPE_LOAD,
716
  // after 1.0 add new types here for binary compat
717
718
  // all known UNHANDLED classes (mostly AEC)
719
  // DWG_TYPE_ACAD_PROXY_OBJECT_WRAPPER,
720
  DWG_TYPE_ABSHDRAWINGSETTINGS,
721
  DWG_TYPE_ACAECUSTOBJ,
722
  DWG_TYPE_ACAEEEMGROBJ,
723
  DWG_TYPE_ACAMCOMP,
724
  DWG_TYPE_ACAMCOMPDEF,
725
  DWG_TYPE_ACAMCOMPDEFMGR,
726
  DWG_TYPE_ACAMCONTEXTMODELER,
727
  DWG_TYPE_ACAMGDIMSTD,
728
  DWG_TYPE_ACAMGFILTERDAT,
729
  DWG_TYPE_ACAMGHOLECHARTSTDCSN,
730
  DWG_TYPE_ACAMGHOLECHARTSTDDIN,
731
  DWG_TYPE_ACAMGHOLECHARTSTDISO,
732
  DWG_TYPE_ACAMGLAYSTD,
733
  DWG_TYPE_ACAMGRCOMPDEF,
734
  DWG_TYPE_ACAMGRCOMPDEFSET,
735
  DWG_TYPE_ACAMGTITLESTD,
736
  DWG_TYPE_ACAMMVDBACKUPOBJECT,
737
  DWG_TYPE_ACAMPROJECT,
738
  DWG_TYPE_ACAMSHAFTCOMPDEF,
739
  DWG_TYPE_ACAMSTDPCOMPDEF,
740
  DWG_TYPE_ACAMWBLOCKTEMPENTS,
741
  DWG_TYPE_ACARRAYJIGENTITY,
742
  DWG_TYPE_ACCMCONTEXT,
743
  DWG_TYPE_ACDBCIRCARCRES,
744
  DWG_TYPE_ACDBDIMENSIONRES,
745
  DWG_TYPE_ACDBENTITYCACHE,
746
  DWG_TYPE_ACDBLINERES,
747
  DWG_TYPE_ACDBSTDPARTRES_ARC,
748
  DWG_TYPE_ACDBSTDPARTRES_LINE,
749
  DWG_TYPE_ACDB_HATCHSCALECONTEXTDATA_CLASS,
750
  DWG_TYPE_ACDB_HATCHVIEWCONTEXTDATA_CLASS,
751
  DWG_TYPE_ACDB_PROXY_ENTITY_DATA,
752
  DWG_TYPE_ACGREFACADMASTER,
753
  DWG_TYPE_ACGREFMASTER,
754
  DWG_TYPE_ACIMINTSYSVAR,
755
  DWG_TYPE_ACIMREALSYSVAR,
756
  DWG_TYPE_ACIMSTRSYSVAR,
757
  DWG_TYPE_ACIMSYSVARMAN,
758
  DWG_TYPE_ACMANOOTATIONVIEWSTANDARDANSI,
759
  DWG_TYPE_ACMANOOTATIONVIEWSTANDARDCSN,
760
  DWG_TYPE_ACMANOOTATIONVIEWSTANDARDDIN,
761
  DWG_TYPE_ACMANOOTATIONVIEWSTANDARDISO,
762
  DWG_TYPE_ACMAPLEGENDDBOBJECT,
763
  DWG_TYPE_ACMAPLEGENDITEMDBOBJECT,
764
  DWG_TYPE_ACMAPMAPVIEWPORTDBOBJECT,
765
  DWG_TYPE_ACMAPPRINTLAYOUTELEMENTDBOBJECTCONTAINER,
766
  DWG_TYPE_ACMBALLOON,
767
  DWG_TYPE_ACMBOM,
768
  DWG_TYPE_ACMBOMROW,
769
  DWG_TYPE_ACMBOMROWSTRUCT,
770
  DWG_TYPE_ACMBOMSTANDARDANSI,
771
  DWG_TYPE_ACMBOMSTANDARDCSN,
772
  DWG_TYPE_ACMBOMSTANDARDDIN,
773
  DWG_TYPE_ACMBOMSTANDARDISO,
774
  DWG_TYPE_ACMCENTERLINESTANDARDANSI,
775
  DWG_TYPE_ACMCENTERLINESTANDARDCSN,
776
  DWG_TYPE_ACMCENTERLINESTANDARDDIN,
777
  DWG_TYPE_ACMCENTERLINESTANDARDISO,
778
  DWG_TYPE_ACMDATADICTIONARY,
779
  DWG_TYPE_ACMDATAENTRY,
780
  DWG_TYPE_ACMDATAENTRYBLOCK,
781
  DWG_TYPE_ACMDATUMID,
782
  DWG_TYPE_ACMDATUMSTANDARDANSI,
783
  DWG_TYPE_ACMDATUMSTANDARDCSN,
784
  DWG_TYPE_ACMDATUMSTANDARDDIN,
785
  DWG_TYPE_ACMDATUMSTANDARDISO,
786
  DWG_TYPE_ACMDATUMSTANDARDISO2012,
787
  DWG_TYPE_ACMDETAILSTANDARDANSI,
788
  DWG_TYPE_ACMDETAILSTANDARDCSN,
789
  DWG_TYPE_ACMDETAILSTANDARDDIN,
790
  DWG_TYPE_ACMDETAILSTANDARDISO,
791
  DWG_TYPE_ACMDETAILTANDARDCUSTOM,
792
  DWG_TYPE_ACMDIMBREAKPERSREACTOR,
793
  DWG_TYPE_ACMEDRAWINGMAN,
794
  DWG_TYPE_ACMEVIEW,
795
  DWG_TYPE_ACME_DATABASE,
796
  DWG_TYPE_ACME_DOCUMENT,
797
  DWG_TYPE_ACMFCFRAME,
798
  DWG_TYPE_ACMFCFSTANDARDANSI,
799
  DWG_TYPE_ACMFCFSTANDARDCSN,
800
  DWG_TYPE_ACMFCFSTANDARDDIN,
801
  DWG_TYPE_ACMFCFSTANDARDISO,
802
  DWG_TYPE_ACMFCFSTANDARDISO2004,
803
  DWG_TYPE_ACMFCFSTANDARDISO2012,
804
  DWG_TYPE_ACMIDSTANDARDANSI,
805
  DWG_TYPE_ACMIDSTANDARDCSN,
806
  DWG_TYPE_ACMIDSTANDARDDIN,
807
  DWG_TYPE_ACMIDSTANDARDISO,
808
  DWG_TYPE_ACMIDSTANDARDISO2004,
809
  DWG_TYPE_ACMIDSTANDARDISO2012,
810
  DWG_TYPE_ACMNOTESTANDARDANSI,
811
  DWG_TYPE_ACMNOTESTANDARDCSN,
812
  DWG_TYPE_ACMNOTESTANDARDDIN,
813
  DWG_TYPE_ACMNOTESTANDARDISO,
814
  DWG_TYPE_ACMPARTLIST,
815
  DWG_TYPE_ACMPICKOBJ,
816
  DWG_TYPE_ACMSECTIONSTANDARDANSI,
817
  DWG_TYPE_ACMSECTIONSTANDARDCSN2002,
818
  DWG_TYPE_ACMSECTIONSTANDARDCUSTOM,
819
  DWG_TYPE_ACMSECTIONSTANDARDDIN,
820
  DWG_TYPE_ACMSECTIONSTANDARDISO,
821
  DWG_TYPE_ACMSECTIONSTANDARDISO2001,
822
  DWG_TYPE_ACMSTANDARDANSI,
823
  DWG_TYPE_ACMSTANDARDCSN,
824
  DWG_TYPE_ACMSTANDARDDIN,
825
  DWG_TYPE_ACMSTANDARDISO,
826
  DWG_TYPE_ACMSURFSTANDARDANSI,
827
  DWG_TYPE_ACMSURFSTANDARDCSN,
828
  DWG_TYPE_ACMSURFSTANDARDDIN,
829
  DWG_TYPE_ACMSURFSTANDARDISO,
830
  DWG_TYPE_ACMSURFSTANDARDISO2002,
831
  DWG_TYPE_ACMSURFSYM,
832
  DWG_TYPE_ACMTAPERSTANDARDANSI,
833
  DWG_TYPE_ACMTAPERSTANDARDCSN,
834
  DWG_TYPE_ACMTAPERSTANDARDDIN,
835
  DWG_TYPE_ACMTAPERSTANDARDISO,
836
  DWG_TYPE_ACMTHREADLINESTANDARDANSI,
837
  DWG_TYPE_ACMTHREADLINESTANDARDCSN,
838
  DWG_TYPE_ACMTHREADLINESTANDARDDIN,
839
  DWG_TYPE_ACMTHREADLINESTANDARDISO,
840
  DWG_TYPE_ACMWELDSTANDARDANSI,
841
  DWG_TYPE_ACMWELDSTANDARDCSN,
842
  DWG_TYPE_ACMWELDSTANDARDDIN,
843
  DWG_TYPE_ACMWELDSTANDARDISO,
844
  DWG_TYPE_ACMWELDSYM,
845
  DWG_TYPE_ACRFATTGENMGR,
846
  DWG_TYPE_ACRFINSADJ,
847
  DWG_TYPE_ACRFINSADJUSTERMGR,
848
  DWG_TYPE_ACRFMCADAPIATTHOLDER,
849
  DWG_TYPE_ACRFOBJATTMGR,
850
  DWG_TYPE_ACSH_SUBENT_MATERIAL_CLASS,
851
  DWG_TYPE_AC_AM_2D_XREF_MGR,
852
  DWG_TYPE_AC_AM_BASIC_VIEW,
853
  DWG_TYPE_AC_AM_BASIC_VIEW_DEF,
854
  DWG_TYPE_AC_AM_COMPLEX_HIDE_SITUATION,
855
  DWG_TYPE_AC_AM_COMP_VIEW_DEF,
856
  DWG_TYPE_AC_AM_COMP_VIEW_INST,
857
  DWG_TYPE_AC_AM_DIRTY_NODES,
858
  DWG_TYPE_AC_AM_HIDE_SITUATION,
859
  DWG_TYPE_AC_AM_MAPPER_CACHE,
860
  DWG_TYPE_AC_AM_MASTER_VIEW_DEF,
861
  DWG_TYPE_AC_AM_MVD_DEP_MGR,
862
  DWG_TYPE_AC_AM_OVERRIDE_FILTER,
863
  DWG_TYPE_AC_AM_PROPS_OVERRIDE,
864
  DWG_TYPE_AC_AM_SHAFT_HIDE_SITUATION,
865
  DWG_TYPE_AC_AM_STDP_VIEW_DEF,
866
  DWG_TYPE_AC_AM_TRANSFORM_GHOST,
867
  DWG_TYPE_ADAPPL,
868
  DWG_TYPE_AECC_ALIGNMENT_DESIGN_CHECK_SET,
869
  DWG_TYPE_AECC_ALIGNMENT_LABEL_SET,
870
  DWG_TYPE_AECC_ALIGNMENT_LABEL_SET_EXT,
871
  DWG_TYPE_AECC_ALIGNMENT_PARCEL_NODE,
872
  DWG_TYPE_AECC_ALIGNMENT_STYLE,
873
  DWG_TYPE_AECC_APPURTENANCE_STYLE,
874
  DWG_TYPE_AECC_ASSEMBLY_STYLE,
875
  DWG_TYPE_AECC_BUILDING_SITE_STYLE,
876
  DWG_TYPE_AECC_CANT_DIAGRAM_VIEW_STYLE,
877
  DWG_TYPE_AECC_CATCHMENT_STYLE,
878
  DWG_TYPE_AECC_CLASS_NODE,
879
  DWG_TYPE_AECC_CONTOURVIEW,
880
  DWG_TYPE_AECC_CORRIDOR_STYLE,
881
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT,
882
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_CANT_LABEL_GROUP,
883
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_CSV,
884
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_CURVE_LABEL,
885
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_DESIGNSPEED_LABEL_GROUP,
886
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_GEOMPT_LABEL_GROUP,
887
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_INDEXED_PI_LABEL,
888
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_MINOR_STATION_LABEL_GROUP,
889
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_PI_LABEL,
890
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_SPIRAL_LABEL,
891
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_STAEQU_LABEL_GROUP,
892
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_STATION_LABEL_GROUP,
893
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_STATION_OFFSET_LABEL,
894
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_SUPERELEVATION_LABEL_GROUP,
895
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_TABLE,
896
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_TANGENT_LABEL,
897
  DWG_TYPE_AECC_DISP_REP_ALIGNMENT_VERTICAL_GEOMPT_LABELING,
898
  DWG_TYPE_AECC_DISP_REP_APPURTENANCE,
899
  DWG_TYPE_AECC_DISP_REP_APPURTENANCE_CSV,
900
  DWG_TYPE_AECC_DISP_REP_APPURTENANCE_LABELING,
901
  DWG_TYPE_AECC_DISP_REP_APPURTENANCE_PROFILE_LABELING,
902
  DWG_TYPE_AECC_DISP_REP_ASSEMBLY,
903
  DWG_TYPE_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE,
904
  DWG_TYPE_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_PROFILE,
905
  DWG_TYPE_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_SECTION,
906
  DWG_TYPE_AECC_DISP_REP_AUTO_FEATURE_LINE,
907
  DWG_TYPE_AECC_DISP_REP_AUTO_FEATURE_LINE_CSV,
908
  DWG_TYPE_AECC_DISP_REP_AUTO_FEATURE_LINE_PROFILE,
909
  DWG_TYPE_AECC_DISP_REP_AUTO_FEATURE_LINE_SECTION,
910
  DWG_TYPE_AECC_DISP_REP_BUILDINGSITE,
911
  DWG_TYPE_AECC_DISP_REP_BUILDINGUTIL_CONNECTOR,
912
  DWG_TYPE_AECC_DISP_REP_CANT_DIAGRAM_VIEW,
913
  DWG_TYPE_AECC_DISP_REP_CATCHMENT_AREA,
914
  DWG_TYPE_AECC_DISP_REP_CATCHMENT_AREA_LABEL,
915
  DWG_TYPE_AECC_DISP_REP_CORRIDOR,
916
  DWG_TYPE_AECC_DISP_REP_CROSSING_PIPE_PROFILE_LABELING,
917
  DWG_TYPE_AECC_DISP_REP_CROSSING_PRESSURE_PIPE_PROFILE_LABELING,
918
  DWG_TYPE_AECC_DISP_REP_CSVSTATIONSLIDER,
919
  DWG_TYPE_AECC_DISP_REP_FACE,
920
  DWG_TYPE_AECC_DISP_REP_FEATURE,
921
  DWG_TYPE_AECC_DISP_REP_FEATURE_LABEL,
922
  DWG_TYPE_AECC_DISP_REP_FEATURE_LINE,
923
  DWG_TYPE_AECC_DISP_REP_FEATURE_LINE_CSV,
924
  DWG_TYPE_AECC_DISP_REP_FEATURE_LINE_PROFILE,
925
  DWG_TYPE_AECC_DISP_REP_FEATURE_LINE_SECTION,
926
  DWG_TYPE_AECC_DISP_REP_FITTING,
927
  DWG_TYPE_AECC_DISP_REP_FITTING_CSV,
928
  DWG_TYPE_AECC_DISP_REP_FITTING_LABELING,
929
  DWG_TYPE_AECC_DISP_REP_FITTING_PROFILE_LABELING,
930
  DWG_TYPE_AECC_DISP_REP_FLOW_SEGMENT_LABEL,
931
  DWG_TYPE_AECC_DISP_REP_GENERAL_SEGMENT_LABEL,
932
  DWG_TYPE_AECC_DISP_REP_GRADING,
933
  DWG_TYPE_AECC_DISP_REP_GRAPH,
934
  DWG_TYPE_AECC_DISP_REP_GRAPHPROFILE_NETWORKPART,
935
  DWG_TYPE_AECC_DISP_REP_GRAPHPROFILE_PRESSUREPART,
936
  DWG_TYPE_AECC_DISP_REP_GRID_SURFACE,
937
  DWG_TYPE_AECC_DISP_REP_GRID_SURFACE_CSV,
938
  DWG_TYPE_AECC_DISP_REP_HORGEOMETRY_BAND_LABEL_GROUP,
939
  DWG_TYPE_AECC_DISP_REP_HYDRO_REGION,
940
  DWG_TYPE_AECC_DISP_REP_INTERFERENCE_CHECK,
941
  DWG_TYPE_AECC_DISP_REP_INTERFERENCE_PART,
942
  DWG_TYPE_AECC_DISP_REP_INTERFERENCE_PART_SECTION,
943
  DWG_TYPE_AECC_DISP_REP_INTERSECTION,
944
  DWG_TYPE_AECC_DISP_REP_INTERSECTION_LOCATION_LABELING,
945
  DWG_TYPE_AECC_DISP_REP_LABELING,
946
  DWG_TYPE_AECC_DISP_REP_LEGEND_TABLE,
947
  DWG_TYPE_AECC_DISP_REP_LINE_BETWEEN_POINTS_LABEL,
948
  DWG_TYPE_AECC_DISP_REP_LOTLINE_CSV,
949
  DWG_TYPE_AECC_DISP_REP_MASSHAULLINE,
950
  DWG_TYPE_AECC_DISP_REP_MASS_HAUL_VIEW,
951
  DWG_TYPE_AECC_DISP_REP_MATCHLINE_LABELING,
952
  DWG_TYPE_AECC_DISP_REP_MATCH_LINE,
953
  DWG_TYPE_AECC_DISP_REP_MATERIAL_SECTION,
954
  DWG_TYPE_AECC_DISP_REP_NETWORK,
955
  DWG_TYPE_AECC_DISP_REP_NOTE_LABEL,
956
  DWG_TYPE_AECC_DISP_REP_OFFSET_ELEV_LABEL,
957
  DWG_TYPE_AECC_DISP_REP_PARCEL_BOUNDARY,
958
  DWG_TYPE_AECC_DISP_REP_PARCEL_FACE_LABEL,
959
  DWG_TYPE_AECC_DISP_REP_PARCEL_SEGMENT,
960
  DWG_TYPE_AECC_DISP_REP_PARCEL_SEGMENT_LABEL,
961
  DWG_TYPE_AECC_DISP_REP_PARCEL_SEGMENT_TABLE,
962
  DWG_TYPE_AECC_DISP_REP_PARCEL_TABLE,
963
  DWG_TYPE_AECC_DISP_REP_PIPE,
964
  DWG_TYPE_AECC_DISP_REP_PIPENETWORK_BAND_LABEL_GROUP,
965
  DWG_TYPE_AECC_DISP_REP_PIPE_CSV,
966
  DWG_TYPE_AECC_DISP_REP_PIPE_LABELING,
967
  DWG_TYPE_AECC_DISP_REP_PIPE_PROFILE_LABELING,
968
  DWG_TYPE_AECC_DISP_REP_PIPE_SECTION_LABELING,
969
  DWG_TYPE_AECC_DISP_REP_PIPE_TABLE,
970
  DWG_TYPE_AECC_DISP_REP_POINT_ENT,
971
  DWG_TYPE_AECC_DISP_REP_POINT_GROUP,
972
  DWG_TYPE_AECC_DISP_REP_POINT_TABLE,
973
  DWG_TYPE_AECC_DISP_REP_PRESSUREPIPENETWORK,
974
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PART_TABLE,
975
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PIPE,
976
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PIPE_CSV,
977
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PIPE_LABELING,
978
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PIPE_PROFILE_LABELING,
979
  DWG_TYPE_AECC_DISP_REP_PRESSURE_PIPE_SECTION_LABELING,
980
  DWG_TYPE_AECC_DISP_REP_PROFILE,
981
  DWG_TYPE_AECC_DISP_REP_PROFILEDATA_BAND_LABEL_GROUP,
982
  DWG_TYPE_AECC_DISP_REP_PROFILE_PROJECTION,
983
  DWG_TYPE_AECC_DISP_REP_PROFILE_PROJECTION_LABEL,
984
  DWG_TYPE_AECC_DISP_REP_PROFILE_VIEW,
985
  DWG_TYPE_AECC_DISP_REP_PROFILE_VIEW_DEPTH_LABEL,
986
  DWG_TYPE_AECC_DISP_REP_QUANTITY_TAKEOFF_AGGREGATE_EARTHWORK_TABLE,
987
  DWG_TYPE_AECC_DISP_REP_RIGHT_OF_WAY,
988
  DWG_TYPE_AECC_DISP_REP_SAMPLELINE_LABELING,
989
  DWG_TYPE_AECC_DISP_REP_SAMPLE_LINE,
990
  DWG_TYPE_AECC_DISP_REP_SAMPLE_LINE_GROUP,
991
  DWG_TYPE_AECC_DISP_REP_SECTION,
992
  DWG_TYPE_AECC_DISP_REP_SECTIONALDATA_BAND_LABEL_GROUP,
993
  DWG_TYPE_AECC_DISP_REP_SECTIONDATA_BAND_LABEL_GROUP,
994
  DWG_TYPE_AECC_DISP_REP_SECTIONSEGMENT_BAND_LABEL_GROUP,
995
  DWG_TYPE_AECC_DISP_REP_SECTION_CORRIDOR,
996
  DWG_TYPE_AECC_DISP_REP_SECTION_CORRIDOR_POINT_LABEL_GROUP,
997
  DWG_TYPE_AECC_DISP_REP_SECTION_GRADEBREAK_LABEL_GROUP,
998
  DWG_TYPE_AECC_DISP_REP_SECTION_MINOR_OFFSET_LABEL_GROUP,
999
  DWG_TYPE_AECC_DISP_REP_SECTION_OFFSET_LABEL_GROUP,
1000
  DWG_TYPE_AECC_DISP_REP_SECTION_PIPENETWORK,
1001
  DWG_TYPE_AECC_DISP_REP_SECTION_PRESSUREPIPENETWORK,
1002
  DWG_TYPE_AECC_DISP_REP_SECTION_PROJECTION,
1003
  DWG_TYPE_AECC_DISP_REP_SECTION_PROJECTION_LABEL,
1004
  DWG_TYPE_AECC_DISP_REP_SECTION_SEGMENT_LABEL_GROUP,
1005
  DWG_TYPE_AECC_DISP_REP_SECTION_VIEW,
1006
  DWG_TYPE_AECC_DISP_REP_SECTION_VIEW_DEPTH_LABEL,
1007
  DWG_TYPE_AECC_DISP_REP_SECTION_VIEW_QUANTITY_TAKEOFF_TABLE,
1008
  DWG_TYPE_AECC_DISP_REP_SHEET,
1009
  DWG_TYPE_AECC_DISP_REP_SPANNING_PIPE_LABELING,
1010
  DWG_TYPE_AECC_DISP_REP_SPANNING_PIPE_PROFILE_LABELING,
1011
  DWG_TYPE_AECC_DISP_REP_STATION_ELEV_LABEL,
1012
  DWG_TYPE_AECC_DISP_REP_STRUCTURE,
1013
  DWG_TYPE_AECC_DISP_REP_STRUCTURE_CSV,
1014
  DWG_TYPE_AECC_DISP_REP_STRUCTURE_LABELING,
1015
  DWG_TYPE_AECC_DISP_REP_STRUCTURE_PROFILE_LABELING,
1016
  DWG_TYPE_AECC_DISP_REP_STRUCTURE_SECTION_LABELING,
1017
  DWG_TYPE_AECC_DISP_REP_SUBASSEMBLY,
1018
  DWG_TYPE_AECC_DISP_REP_SUPERELEVATION_BAND_LABEL_GROUP,
1019
  DWG_TYPE_AECC_DISP_REP_SUPERELEVATION_DIAGRAM_VIEW,
1020
  DWG_TYPE_AECC_DISP_REP_SURFACE_CONTOUR_LABEL_GROUP,
1021
  DWG_TYPE_AECC_DISP_REP_SURFACE_ELEVATION_LABEL,
1022
  DWG_TYPE_AECC_DISP_REP_SURFACE_SLOPE_LABEL,
1023
  DWG_TYPE_AECC_DISP_REP_SURVEY_FIGURE_LABEL_GROUP,
1024
  DWG_TYPE_AECC_DISP_REP_SVFIGURE,
1025
  DWG_TYPE_AECC_DISP_REP_SVFIGURE_CSV,
1026
  DWG_TYPE_AECC_DISP_REP_SVFIGURE_PROFILE,
1027
  DWG_TYPE_AECC_DISP_REP_SVFIGURE_SECTION,
1028
  DWG_TYPE_AECC_DISP_REP_SVFIGURE_SEGMENT_LABEL,
1029
  DWG_TYPE_AECC_DISP_REP_SVNETWORK,
1030
  DWG_TYPE_AECC_DISP_REP_TANGENT_INTERSECTION_TABLE,
1031
  DWG_TYPE_AECC_DISP_REP_TIN_SURFACE,
1032
  DWG_TYPE_AECC_DISP_REP_TIN_SURFACE_CSV,
1033
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_CRESTCURVE_LABEL_GROUP,
1034
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_CSV,
1035
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_HAGEOMPT_LABEL_GROUP,
1036
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_LINE_LABEL_GROUP,
1037
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_MINOR_STATION_LABEL_GROUP,
1038
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_PVI_LABEL_GROUP,
1039
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_SAGCURVE_LABEL_GROUP,
1040
  DWG_TYPE_AECC_DISP_REP_VALIGNMENT_STATION_LABEL_GROUP,
1041
  DWG_TYPE_AECC_DISP_REP_VERTICALGEOMETRY_BAND_LABEL_GROUP,
1042
  DWG_TYPE_AECC_DISP_REP_VIEWFRAME_LABELING,
1043
  DWG_TYPE_AECC_DISP_REP_VIEW_FRAME,
1044
  DWG_TYPE_AECC_FEATURELINE_STYLE,
1045
  DWG_TYPE_AECC_FEATURE_STYLE,
1046
  DWG_TYPE_AECC_FITTING_STYLE,
1047
  DWG_TYPE_AECC_FORMAT_MANAGER_OBJECT,
1048
  DWG_TYPE_AECC_GRADEVIEW,
1049
  DWG_TYPE_AECC_GRADING_CRITERIA,
1050
  DWG_TYPE_AECC_GRADING_CRITERIA_SET,
1051
  DWG_TYPE_AECC_GRADING_GROUP,
1052
  DWG_TYPE_AECC_GRADING_STYLE,
1053
  DWG_TYPE_AECC_IMPORT_STORM_SEWER_DEFAULTS,
1054
  DWG_TYPE_AECC_INTERFERENCE_STYLE,
1055
  DWG_TYPE_AECC_INTERSECTION_STYLE,
1056
  DWG_TYPE_AECC_LABEL_COLLECTOR_STYLE,
1057
  DWG_TYPE_AECC_LABEL_NODE,
1058
  DWG_TYPE_AECC_LABEL_RADIAL_LINE_STYLE,
1059
  DWG_TYPE_AECC_LABEL_TEXT_ITERATOR_CURVE_OR_SPIRAL_STYLE,
1060
  DWG_TYPE_AECC_LABEL_TEXT_ITERATOR_STYLE,
1061
  DWG_TYPE_AECC_LABEL_TEXT_STYLE,
1062
  DWG_TYPE_AECC_LABEL_VECTOR_ARROW_STYLE,
1063
  DWG_TYPE_AECC_LEGEND_TABLE_STYLE,
1064
  DWG_TYPE_AECC_MASS_HAUL_LINE_STYLE,
1065
  DWG_TYPE_AECC_MASS_HAUL_VIEW_STYLE,
1066
  DWG_TYPE_AECC_MATCHLINE_STYLE,
1067
  DWG_TYPE_AECC_MATERIAL_STYLE,
1068
  DWG_TYPE_AECC_NETWORK_PART_CATALOG_DEF_NODE,
1069
  DWG_TYPE_AECC_NETWORK_PART_FAMILY_ITEM,
1070
  DWG_TYPE_AECC_NETWORK_PART_LIST,
1071
  DWG_TYPE_AECC_NETWORK_RULE,
1072
  DWG_TYPE_AECC_PARCEL_NODE,
1073
  DWG_TYPE_AECC_PARCEL_STYLE,
1074
  DWG_TYPE_AECC_PART_SIZE_FILTER,
1075
  DWG_TYPE_AECC_PIPE_RULES,
1076
  DWG_TYPE_AECC_PIPE_STYLE,
1077
  DWG_TYPE_AECC_PIPE_STYLE_EXTENSION,
1078
  DWG_TYPE_AECC_POINTCLOUD_STYLE,
1079
  DWG_TYPE_AECC_POINTVIEW,
1080
  DWG_TYPE_AECC_POINT_STYLE,
1081
  DWG_TYPE_AECC_PRESSURE_PART_LIST,
1082
  DWG_TYPE_AECC_PRESSURE_PIPE_STYLE,
1083
  DWG_TYPE_AECC_PROFILESECTIONENTITY_STYLE,
1084
  DWG_TYPE_AECC_PROFILE_DESIGN_CHECK_SET,
1085
  DWG_TYPE_AECC_PROFILE_LABEL_SET,
1086
  DWG_TYPE_AECC_PROFILE_STYLE,
1087
  DWG_TYPE_AECC_PROFILE_VIEW_BAND_STYLE_SET,
1088
  DWG_TYPE_AECC_PROFILE_VIEW_DATA_BAND_STYLE,
1089
  DWG_TYPE_AECC_PROFILE_VIEW_HORIZONTAL_GEOMETRY_BAND_STYLE,
1090
  DWG_TYPE_AECC_PROFILE_VIEW_PIPE_NETWORK_BAND_STYLE,
1091
  DWG_TYPE_AECC_PROFILE_VIEW_SECTIONAL_DATA_BAND_STYLE,
1092
  DWG_TYPE_AECC_PROFILE_VIEW_STYLE,
1093
  DWG_TYPE_AECC_PROFILE_VIEW_SUPERELEVATION_DIAGRAM_BAND_STYLE,
1094
  DWG_TYPE_AECC_PROFILE_VIEW_VERTICAL_GEOMETRY_BAND_STYLE,
1095
  DWG_TYPE_AECC_QUANTITY_TAKEOFF_CRITERIA,
1096
  DWG_TYPE_AECC_ROADWAYLINK_STYLE,
1097
  DWG_TYPE_AECC_ROADWAYMARKER_STYLE,
1098
  DWG_TYPE_AECC_ROADWAYSHAPE_STYLE,
1099
  DWG_TYPE_AECC_ROADWAY_STYLE_SET,
1100
  DWG_TYPE_AECC_ROOT_SETTINGS_NODE,
1101
  DWG_TYPE_AECC_SAMPLE_LINE_GROUP_STYLE,
1102
  DWG_TYPE_AECC_SAMPLE_LINE_STYLE,
1103
  DWG_TYPE_AECC_SECTION_LABEL_SET,
1104
  DWG_TYPE_AECC_SECTION_STYLE,
1105
  DWG_TYPE_AECC_SECTION_VIEW_BAND_STYLE_SET,
1106
  DWG_TYPE_AECC_SECTION_VIEW_DATA_BAND_STYLE,
1107
  DWG_TYPE_AECC_SECTION_VIEW_ROAD_SURFACE_BAND_STYLE,
1108
  DWG_TYPE_AECC_SECTION_VIEW_STYLE,
1109
  DWG_TYPE_AECC_SETTINGS_NODE,
1110
  DWG_TYPE_AECC_SHEET_STYLE,
1111
  DWG_TYPE_AECC_SLOPE_PATTERN_STYLE,
1112
  DWG_TYPE_AECC_STATION_FORMAT_STYLE,
1113
  DWG_TYPE_AECC_STRUCTURE_RULES,
1114
  DWG_TYPE_AECC_STUCTURE_STYLE,
1115
  DWG_TYPE_AECC_SUPERELEVATION_DIAGRAM_VIEW_STYLE,
1116
  DWG_TYPE_AECC_SURFACE_STYLE,
1117
  DWG_TYPE_AECC_SVFIGURE_STYLE,
1118
  DWG_TYPE_AECC_SVNETWORK_STYLE,
1119
  DWG_TYPE_AECC_TABLE_STYLE,
1120
  DWG_TYPE_AECC_TAG_MANAGER,
1121
  DWG_TYPE_AECC_TREE_NODE,
1122
  DWG_TYPE_AECC_USER_DEFINED_ATTRIBUTE_CLASSIFICATION,
1123
  DWG_TYPE_AECC_VALIGNMENT_STYLE_EXTENSION,
1124
  DWG_TYPE_AECC_VIEW_FRAME_STYLE,
1125
  DWG_TYPE_AECS_DISP_PROPS_MEMBER,
1126
  DWG_TYPE_AECS_DISP_PROPS_MEMBER_LOGICAL,
1127
  DWG_TYPE_AECS_DISP_PROPS_MEMBER_PLAN,
1128
  DWG_TYPE_AECS_DISP_PROPS_MEMBER_PLAN_SKETCH,
1129
  DWG_TYPE_AECS_DISP_PROPS_MEMBER_PROJECTED,
1130
  DWG_TYPE_AECS_DISP_REP_MEMBER_ELEVATION_DESIGN,
1131
  DWG_TYPE_AECS_DISP_REP_MEMBER_ELEVATION_DETAIL,
1132
  DWG_TYPE_AECS_DISP_REP_MEMBER_LOGICAL,
1133
  DWG_TYPE_AECS_DISP_REP_MEMBER_MODEL_DESIGN,
1134
  DWG_TYPE_AECS_DISP_REP_MEMBER_MODEL_DETAIL,
1135
  DWG_TYPE_AECS_DISP_REP_MEMBER_PLAN_DESIGN,
1136
  DWG_TYPE_AECS_DISP_REP_MEMBER_PLAN_DETAIL,
1137
  DWG_TYPE_AECS_DISP_REP_MEMBER_PLAN_SKETCH,
1138
  DWG_TYPE_AECS_MEMBER_NODE_SHAPE,
1139
  DWG_TYPE_AECS_MEMBER_STYLE,
1140
  DWG_TYPE_AEC_2DSECTION_STYLE,
1141
  DWG_TYPE_AEC_AECDBDISPREPBDGELEVLINEPLAN100,
1142
  DWG_TYPE_AEC_AECDBDISPREPBDGELEVLINEPLAN50,
1143
  DWG_TYPE_AEC_AECDBDISPREPBDGSECTIONLINEPLAN100,
1144
  DWG_TYPE_AEC_AECDBDISPREPBDGSECTIONLINEPLAN50,
1145
  DWG_TYPE_AEC_AECDBDISPREPCEILINGGRIDPLAN100,
1146
  DWG_TYPE_AEC_AECDBDISPREPCEILINGGRIDPLAN50,
1147
  DWG_TYPE_AEC_AECDBDISPREPCOLUMNGRIDPLAN100,
1148
  DWG_TYPE_AEC_AECDBDISPREPCOLUMNGRIDPLAN50,
1149
  DWG_TYPE_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN100,
1150
  DWG_TYPE_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN50,
1151
  DWG_TYPE_AEC_AECDBDISPREPCURTAINWALLUNITPLAN100,
1152
  DWG_TYPE_AEC_AECDBDISPREPCURTAINWALLUNITPLAN50,
1153
  DWG_TYPE_AEC_AECDBDISPREPMVBLOCKREFPLAN100,
1154
  DWG_TYPE_AEC_AECDBDISPREPMVBLOCKREFPLAN50,
1155
  DWG_TYPE_AEC_AECDBDISPREPROOFPLAN100,
1156
  DWG_TYPE_AEC_AECDBDISPREPROOFPLAN50,
1157
  DWG_TYPE_AEC_AECDBDISPREPROOFSLABPLAN100,
1158
  DWG_TYPE_AEC_AECDBDISPREPROOFSLABPLAN50,
1159
  DWG_TYPE_AEC_AECDBDISPREPSLABPLAN100,
1160
  DWG_TYPE_AEC_AECDBDISPREPSLABPLAN50,
1161
  DWG_TYPE_AEC_AECDBDISPREPSPACEPLAN100,
1162
  DWG_TYPE_AEC_AECDBDISPREPSPACEPLAN50,
1163
  DWG_TYPE_AEC_AECDBDISPREPWALLPLAN100,
1164
  DWG_TYPE_AEC_AECDBDISPREPWALLPLAN50,
1165
  DWG_TYPE_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN100,
1166
  DWG_TYPE_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN50,
1167
  DWG_TYPE_AEC_AECDBDISPREPZONE100,
1168
  DWG_TYPE_AEC_AECDBDISPREPZONE50,
1169
  DWG_TYPE_AEC_AECDBZONEDEF,
1170
  DWG_TYPE_AEC_AECDBZONESTYLE,
1171
  DWG_TYPE_AEC_ANCHOR_OPENINGBASE_TO_WALL,
1172
  DWG_TYPE_AEC_CLASSIFICATION_DEF,
1173
  DWG_TYPE_AEC_CLASSIFICATION_SYSTEM_DEF,
1174
  DWG_TYPE_AEC_CLEANUP_GROUP_DEF,
1175
  DWG_TYPE_AEC_CURTAIN_WALL_LAYOUT_STYLE,
1176
  DWG_TYPE_AEC_CURTAIN_WALL_UNIT_STYLE,
1177
  DWG_TYPE_AEC_CVSECTIONVIEW,
1178
  DWG_TYPE_AEC_DB_DISP_REP_DIM_GROUP_PLAN,
1179
  DWG_TYPE_AEC_DB_DISP_REP_DIM_GROUP_PLAN100,
1180
  DWG_TYPE_AEC_DB_DISP_REP_DIM_GROUP_PLAN50,
1181
  DWG_TYPE_AEC_DIM_STYLE,
1182
  DWG_TYPE_AEC_DISPLAYTHEME_STYLE,
1183
  DWG_TYPE_AEC_DISP_PROPS_2D_SECTION,
1184
  DWG_TYPE_AEC_DISP_PROPS_CLIP_VOLUME,
1185
  DWG_TYPE_AEC_DISP_PROPS_CLIP_VOLUME_RESULT,
1186
  DWG_TYPE_AEC_DISP_PROPS_DIM,
1187
  DWG_TYPE_AEC_DISP_PROPS_DISPLAYTHEME,
1188
  DWG_TYPE_AEC_DISP_PROPS_DOOR,
1189
  DWG_TYPE_AEC_DISP_PROPS_DOOR_NOMINAL,
1190
  DWG_TYPE_AEC_DISP_PROPS_DOOR_PLAN_100,
1191
  DWG_TYPE_AEC_DISP_PROPS_DOOR_PLAN_50,
1192
  DWG_TYPE_AEC_DISP_PROPS_DOOR_THRESHOLD_PLAN,
1193
  DWG_TYPE_AEC_DISP_PROPS_DOOR_THRESHOLD_SYMBOL_PLAN,
1194
  DWG_TYPE_AEC_DISP_PROPS_EDITINPLACEPROFILE_MODEL,
1195
  DWG_TYPE_AEC_DISP_PROPS_ENT,
1196
  DWG_TYPE_AEC_DISP_PROPS_ENT_REF,
1197
  DWG_TYPE_AEC_DISP_PROPS_GRID_ASSEMBLY_MODEL,
1198
  DWG_TYPE_AEC_DISP_PROPS_GRID_ASSEMBLY_PLAN,
1199
  DWG_TYPE_AEC_DISP_PROPS_LAYOUT_CURVE,
1200
  DWG_TYPE_AEC_DISP_PROPS_LAYOUT_GRID2D,
1201
  DWG_TYPE_AEC_DISP_PROPS_LAYOUT_GRID3D,
1202
  DWG_TYPE_AEC_DISP_PROPS_MASKBLOCK,
1203
  DWG_TYPE_AEC_DISP_PROPS_MASS_ELEM_MODEL,
1204
  DWG_TYPE_AEC_DISP_PROPS_MASS_GROUP,
1205
  DWG_TYPE_AEC_DISP_PROPS_MATERIAL,
1206
  DWG_TYPE_AEC_DISP_PROPS_OPENING,
1207
  DWG_TYPE_AEC_DISP_PROPS_POLYGON_MODEL,
1208
  DWG_TYPE_AEC_DISP_PROPS_POLYGON_TRUECOLOUR,
1209
  DWG_TYPE_AEC_DISP_PROPS_RAILING_MODEL,
1210
  DWG_TYPE_AEC_DISP_PROPS_RAILING_PLAN,
1211
  DWG_TYPE_AEC_DISP_PROPS_ROOF,
1212
  DWG_TYPE_AEC_DISP_PROPS_ROOFSLAB,
1213
  DWG_TYPE_AEC_DISP_PROPS_ROOFSLAB_PLAN,
1214
  DWG_TYPE_AEC_DISP_PROPS_SCHEDULE_TABLE,
1215
  DWG_TYPE_AEC_DISP_PROPS_SLAB,
1216
  DWG_TYPE_AEC_DISP_PROPS_SLAB_PLAN,
1217
  DWG_TYPE_AEC_DISP_PROPS_SLICE,
1218
  DWG_TYPE_AEC_DISP_PROPS_SPACE_DECOMPOSED,
1219
  DWG_TYPE_AEC_DISP_PROPS_SPACE_MODEL,
1220
  DWG_TYPE_AEC_DISP_PROPS_SPACE_PLAN,
1221
  DWG_TYPE_AEC_DISP_PROPS_STAIR_MODEL,
1222
  DWG_TYPE_AEC_DISP_PROPS_STAIR_PLAN,
1223
  DWG_TYPE_AEC_DISP_PROPS_STAIR_PLAN_OVERLAPPING,
1224
  DWG_TYPE_AEC_DISP_PROPS_WALL_GRAPH,
1225
  DWG_TYPE_AEC_DISP_PROPS_WALL_MODEL,
1226
  DWG_TYPE_AEC_DISP_PROPS_WALL_PLAN,
1227
  DWG_TYPE_AEC_DISP_PROPS_WALL_SCHEM,
1228
  DWG_TYPE_AEC_DISP_PROPS_WINDOW,
1229
  DWG_TYPE_AEC_DISP_PROPS_WINDOW_ASSEMBLY_SILL_PLAN,
1230
  DWG_TYPE_AEC_DISP_PROPS_WINDOW_NOMINAL,
1231
  DWG_TYPE_AEC_DISP_PROPS_WINDOW_PLAN_100,
1232
  DWG_TYPE_AEC_DISP_PROPS_WINDOW_PLAN_50,
1233
  DWG_TYPE_AEC_DISP_PROPS_WINDOW_SILL_PLAN,
1234
  DWG_TYPE_AEC_DISP_PROPS_ZONE,
1235
  DWG_TYPE_AEC_DISP_REP_2D_SECTION,
1236
  DWG_TYPE_AEC_DISPREPAECDBDISPREPMASSELEMPLAN100,
1237
  DWG_TYPE_AEC_DISPREPAECDBDISPREPMASSELEMPLAN50,
1238
  DWG_TYPE_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN100,
1239
  DWG_TYPE_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN50,
1240
  DWG_TYPE_AEC_DISPREPAECDBDISPREPOPENINGPLAN100,
1241
  DWG_TYPE_AEC_DISPREPAECDBDISPREPOPENINGPLAN50,
1242
  DWG_TYPE_AEC_DISPREPAECDBDISPREPOPENINGPLANREFLECTED,
1243
  DWG_TYPE_AEC_DISPREPAECDBDISPREPOPENINGSILLPLAN,
1244
  DWG_TYPE_AEC_DISP_REP_ANCHOR,
1245
  DWG_TYPE_AEC_DISP_REP_ANCHOR_BUB_TO_GRID,
1246
  DWG_TYPE_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_MODEL,
1247
  DWG_TYPE_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_RCP,
1248
  DWG_TYPE_AEC_DISP_REP_ANCHOR_ENT_TO_NODE,
1249
  DWG_TYPE_AEC_DISP_REP_ANCHOR_EXT_TAG_TO_ENT,
1250
  DWG_TYPE_AEC_DISP_REP_ANCHOR_TAG_TO_ENT,
1251
  DWG_TYPE_AEC_DISP_REP_BDG_ELEVLINE_MODEL,
1252
  DWG_TYPE_AEC_DISP_REP_BDG_ELEVLINE_PLAN,
1253
  DWG_TYPE_AEC_DISP_REP_BDG_ELEVLINE_RCP,
1254
  DWG_TYPE_AEC_DISP_REP_BDG_SECTIONLINE_MODEL,
1255
  DWG_TYPE_AEC_DISP_REP_BDG_SECTIONLINE_PLAN,
1256
  DWG_TYPE_AEC_DISP_REP_BDG_SECTIONLINE_RCP,
1257
  DWG_TYPE_AEC_DISP_REP_BDG_SECTION_MODEL,
1258
  DWG_TYPE_AEC_DISP_REP_BDG_SECTION_SUBDIV,
1259
  DWG_TYPE_AEC_DISP_REP_CEILING_GRID,
1260
  DWG_TYPE_AEC_DISP_REP_CEILING_GRID_MODEL,
1261
  DWG_TYPE_AEC_DISP_REP_CEILING_GRID_RCP,
1262
  DWG_TYPE_AEC_DISP_REP_CLIP_VOLUME_MODEL,
1263
  DWG_TYPE_AEC_DISP_REP_CLIP_VOLUME_PLAN,
1264
  DWG_TYPE_AEC_DISP_REP_CLIP_VOLUME_RESULT,
1265
  DWG_TYPE_AEC_DISP_REP_CLIP_VOLUME_RESULT_SUBDIV,
1266
  DWG_TYPE_AEC_DISP_REP_COL_BLOCK,
1267
  DWG_TYPE_AEC_DISP_REP_COL_CIRCARC2D,
1268
  DWG_TYPE_AEC_DISP_REP_COL_CONCOINCIDENT,
1269
  DWG_TYPE_AEC_DISP_REP_COL_CONCONCENTRIC,
1270
  DWG_TYPE_AEC_DISP_REP_COL_CONEQUALDISTANCE,
1271
  DWG_TYPE_AEC_DISP_REP_COL_CONMIDPOINT,
1272
  DWG_TYPE_AEC_DISP_REP_COL_CONNECTOR,
1273
  DWG_TYPE_AEC_DISP_REP_COL_CONNORMAL,
1274
  DWG_TYPE_AEC_DISP_REP_COL_CONPARALLEL,
1275
  DWG_TYPE_AEC_DISP_REP_COL_CONPERPENDICULAR,
1276
  DWG_TYPE_AEC_DISP_REP_COL_CONSYMMETRIC,
1277
  DWG_TYPE_AEC_DISP_REP_COL_CONTANGENT,
1278
  DWG_TYPE_AEC_DISP_REP_COL_DIMANGLE,
1279
  DWG_TYPE_AEC_DISP_REP_COL_DIMDIAMETER,
1280
  DWG_TYPE_AEC_DISP_REP_COL_DIMDISTANCE,
1281
  DWG_TYPE_AEC_DISP_REP_COL_DIMLENGTH,
1282
  DWG_TYPE_AEC_DISP_REP_COL_DIMMAJORRADIUS,
1283
  DWG_TYPE_AEC_DISP_REP_COL_DIMMINORRADIUS,
1284
  DWG_TYPE_AEC_DISP_REP_COL_ELLIPARC2D,
1285
  DWG_TYPE_AEC_DISP_REP_COL_LAYOUTDATA,
1286
  DWG_TYPE_AEC_DISP_REP_COL_LINE2D,
1287
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_ADD,
1288
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_CUTPLANE,
1289
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_EXTRUSION,
1290
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_GROUP,
1291
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_LOFT,
1292
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_PATH,
1293
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_REVOLVE,
1294
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_SUBTRACT,
1295
  DWG_TYPE_AEC_DISP_REP_COL_MODIFIER_TRANSITION,
1296
  DWG_TYPE_AEC_DISP_REP_COL_POINT2D,
1297
  DWG_TYPE_AEC_DISP_REP_COL_PROFILE,
1298
  DWG_TYPE_AEC_DISP_REP_COLUMN_GRID,
1299
  DWG_TYPE_AEC_DISP_REP_COLUMN_GRID_MODEL,
1300
  DWG_TYPE_AEC_DISP_REP_COLUMN_GRID_RCP,
1301
  DWG_TYPE_AEC_DISP_REP_COL_WORKPLANE,
1302
  DWG_TYPE_AEC_DISP_REP_COL_WORKPLANE_REF,
1303
  DWG_TYPE_AEC_DISP_REP_CONFIG,
1304
  DWG_TYPE_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_MODEL,
1305
  DWG_TYPE_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_PLAN,
1306
  DWG_TYPE_AEC_DISP_REP_CURTAIN_WALL_UNIT_MODEL,
1307
  DWG_TYPE_AEC_DISP_REP_CURTAIN_WALL_UNIT_PLAN,
1308
  DWG_TYPE_AEC_DISP_REP_DCM_DIMRADIUS,
1309
  DWG_TYPE_AEC_DISP_REP_DISPLAYTHEME,
1310
  DWG_TYPE_AEC_DISP_REP_DOOR_ELEV,
1311
  DWG_TYPE_AEC_DISP_REP_DOOR_MODEL,
1312
  DWG_TYPE_AEC_DISP_REP_DOOR_NOMINAL,
1313
  DWG_TYPE_AEC_DISP_REP_DOOR_PLAN,
1314
  DWG_TYPE_AEC_DISP_REP_DOOR_PLAN_50,
1315
  DWG_TYPE_AEC_DISP_REP_DOOR_PLAN_HEKTO,
1316
  DWG_TYPE_AEC_DISP_REP_DOOR_RCP,
1317
  DWG_TYPE_AEC_DISP_REP_DOOR_THRESHOLD_PLAN,
1318
  DWG_TYPE_AEC_DISP_REP_DOOR_THRESHOLD_SYMBOL_PLAN,
1319
  DWG_TYPE_AEC_DISP_REP_EDITINPLACEPROFILE,
1320
  DWG_TYPE_AEC_DISP_REP_ENT_REF,
1321
  DWG_TYPE_AEC_DISP_REP_LAYOUT_CURVE,
1322
  DWG_TYPE_AEC_DISP_REP_LAYOUT_GRID2D,
1323
  DWG_TYPE_AEC_DISP_REP_LAYOUT_GRID3D,
1324
  DWG_TYPE_AEC_DISP_REP_MASKBLOCK_REF,
1325
  DWG_TYPE_AEC_DISP_REP_MASKBLOCK_REF_RCP,
1326
  DWG_TYPE_AEC_DISP_REP_MASS_ELEM_MODEL,
1327
  DWG_TYPE_AEC_DISP_REP_MASS_ELEM_RCP,
1328
  DWG_TYPE_AEC_DISP_REP_MASS_ELEM_SCHEM,
1329
  DWG_TYPE_AEC_DISP_REP_MASS_GROUP_MODEL,
1330
  DWG_TYPE_AEC_DISP_REP_MASS_GROUP_PLAN,
1331
  DWG_TYPE_AEC_DISP_REP_MASS_GROUP_RCP,
1332
  DWG_TYPE_AEC_DISP_REP_MATERIAL,
1333
  DWG_TYPE_AEC_DISP_REP_MVBLOCK_REF,
1334
  DWG_TYPE_AEC_DISP_REP_MVBLOCK_REF_MODEL,
1335
  DWG_TYPE_AEC_DISP_REP_MVBLOCK_REF_RCP,
1336
  DWG_TYPE_AEC_DISP_REP_OPENING,
1337
  DWG_TYPE_AEC_DISP_REP_OPENING_MODEL,
1338
  DWG_TYPE_AEC_DISP_REP_POLYGON_MODEL,
1339
  DWG_TYPE_AEC_DISP_REP_POLYGON_TRUECOLOUR,
1340
  DWG_TYPE_AEC_DISP_REP_RAILING_MODEL,
1341
  DWG_TYPE_AEC_DISP_REP_RAILING_PLAN,
1342
  DWG_TYPE_AEC_DISP_REP_RAILING_PLAN_100,
1343
  DWG_TYPE_AEC_DISP_REP_RAILING_PLAN_50,
1344
  DWG_TYPE_AEC_DISP_REP_ROOF_MODEL,
1345
  DWG_TYPE_AEC_DISP_REP_ROOF_PLAN,
1346
  DWG_TYPE_AEC_DISP_REP_ROOF_RCP,
1347
  DWG_TYPE_AEC_DISP_REP_ROOFSLAB_MODEL,
1348
  DWG_TYPE_AEC_DISP_REP_ROOFSLAB_PLAN,
1349
  DWG_TYPE_AEC_DISP_REP_SCHEDULE_TABLE,
1350
  DWG_TYPE_AEC_DISP_REP_SET,
1351
  DWG_TYPE_AEC_DISP_REP_SLAB_MODEL,
1352
  DWG_TYPE_AEC_DISP_REP_SLAB_PLAN,
1353
  DWG_TYPE_AEC_DISP_REP_SLICE,
1354
  DWG_TYPE_AEC_DISP_REP_SPACE_DECOMPOSED,
1355
  DWG_TYPE_AEC_DISP_REP_SPACE_MODEL,
1356
  DWG_TYPE_AEC_DISP_REP_SPACE_PLAN,
1357
  DWG_TYPE_AEC_DISP_REP_SPACE_RCP,
1358
  DWG_TYPE_AEC_DISP_REP_SPACE_VOLUME,
1359
  DWG_TYPE_AEC_DISP_REP_STAIR_MODEL,
1360
  DWG_TYPE_AEC_DISP_REP_STAIR_PLAN,
1361
  DWG_TYPE_AEC_DISP_REP_STAIR_PLAN_100,
1362
  DWG_TYPE_AEC_DISP_REP_STAIR_PLAN_50,
1363
  DWG_TYPE_AEC_DISP_REP_STAIR_PLAN_OVERLAPPING,
1364
  DWG_TYPE_AEC_DISP_REP_STAIR_RCP,
1365
  DWG_TYPE_AEC_DISP_REP_WALL_GRAPH,
1366
  DWG_TYPE_AEC_DISP_REP_WALL_MODEL,
1367
  DWG_TYPE_AEC_DISP_REP_WALL_PLAN,
1368
  DWG_TYPE_AEC_DISP_REP_WALL_RCP,
1369
  DWG_TYPE_AEC_DISP_REP_WALL_SCHEM,
1370
  DWG_TYPE_AEC_DISP_REP_WINDOW_ASSEMBLY_MODEL,
1371
  DWG_TYPE_AEC_DISP_REP_WINDOW_ASSEMBLY_PLAN,
1372
  DWG_TYPE_AEC_DISP_REP_WINDOWASSEMBLY_SILL_PLAN,
1373
  DWG_TYPE_AEC_DISP_REP_WINDOW_ELEV,
1374
  DWG_TYPE_AEC_DISP_REP_WINDOW_MODEL,
1375
  DWG_TYPE_AEC_DISP_REP_WINDOW_NOMINAL,
1376
  DWG_TYPE_AEC_DISP_REP_WINDOW_PLAN,
1377
  DWG_TYPE_AEC_DISP_REP_WINDOW_PLAN_100,
1378
  DWG_TYPE_AEC_DISP_REP_WINDOW_PLAN_50,
1379
  DWG_TYPE_AEC_DISP_REP_WINDOW_RCP,
1380
  DWG_TYPE_AEC_DISP_REP_WINDOW_SILL_PLAN,
1381
  DWG_TYPE_AEC_DISP_REP_ZONE,
1382
  DWG_TYPE_AEC_DISPROPSMASSELEMPLANCOMMON,
1383
  DWG_TYPE_AEC_DISPROPSMASSGROUPPLANCOMMON,
1384
  DWG_TYPE_AEC_DISPROPSOPENINGPLANCOMMON,
1385
  DWG_TYPE_AEC_DISPROPSOPENINGPLANCOMMONHATCHED,
1386
  DWG_TYPE_AEC_DISPROPSOPENINGSILLPLAN,
1387
  DWG_TYPE_AEC_DISP_ROPS_RAILING_PLAN_100,
1388
  DWG_TYPE_AEC_DISP_ROPS_RAILING_PLAN_50,
1389
  DWG_TYPE_AEC_DISP_ROPS_STAIR_PLAN_100,
1390
  DWG_TYPE_AEC_DISP_ROPS_STAIR_PLAN_50,
1391
  DWG_TYPE_AEC_DOOR_STYLE,
1392
  DWG_TYPE_AEC_ENDCAP_STYLE,
1393
  DWG_TYPE_AEC_FRAME_DEF,
1394
  DWG_TYPE_AEC_LAYERKEY_STYLE,
1395
  DWG_TYPE_AEC_LIST_DEF,
1396
  DWG_TYPE_AEC_MASKBLOCK_DEF,
1397
  DWG_TYPE_AEC_MASS_ELEM_STYLE,
1398
  DWG_TYPE_AEC_MATERIAL_DEF,
1399
  DWG_TYPE_AEC_MVBLOCK_DEF,
1400
  DWG_TYPE_AEC_MVBLOCK_REF,
1401
  DWG_TYPE_AEC_NOTIFICATION_TRACKER,
1402
  DWG_TYPE_AEC_POLYGON,
1403
  DWG_TYPE_AEC_POLYGON_STYLE,
1404
  DWG_TYPE_AEC_PROPERTY_SET_DEF,
1405
  DWG_TYPE_AEC_RAILING_STYLE,
1406
  DWG_TYPE_AEC_REFEDIT_STATUS_TRACKER, // AecDbRefEditStatusTracker / AecArchBase80|...,
1407
  DWG_TYPE_AEC_ROOFSLABEDGE_STYLE,
1408
  DWG_TYPE_AEC_ROOFSLAB_STYLE,
1409
  DWG_TYPE_AEC_SCHEDULE_DATA_FORMAT,
1410
  DWG_TYPE_AEC_SLABEDGE_STYLE,
1411
  DWG_TYPE_AEC_SLAB_STYLE,
1412
  DWG_TYPE_AEC_SPACE_STYLES,
1413
  DWG_TYPE_AEC_STAIR_STYLE,
1414
  DWG_TYPE_AEC_STAIR_WINDER_STYLE,
1415
  DWG_TYPE_AEC_STAIR_WINDER_TYPE_BALANCED,
1416
  DWG_TYPE_AEC_STAIR_WINDER_TYPE_MANUAL,
1417
  DWG_TYPE_AEC_STAIR_WINDER_TYPE_SINGLE_POINT,
1418
  DWG_TYPE_AEC_VARS_AECBBLDSRV,
1419
  DWG_TYPE_AEC_VARS_ARCHBASE,
1420
  DWG_TYPE_AEC_VARS_DWG_SETUP,
1421
  DWG_TYPE_AEC_VARS_MUNICH,
1422
  DWG_TYPE_AEC_VARS_STRUCTUREBASE,
1423
  DWG_TYPE_AEC_WALLMOD_STYLE,
1424
  DWG_TYPE_AEC_WALL_STYLE,
1425
  DWG_TYPE_AEC_WINDOW_ASSEMBLY_STYLE,
1426
  DWG_TYPE_AEC_WINDOW_STYLE,
1427
  DWG_TYPE_ALIGNMENTGRIPENTITY,
1428
  DWG_TYPE_AMCONTEXTMGR,
1429
  DWG_TYPE_AMDTADMENUSTATE,
1430
  DWG_TYPE_AMDTAMMENUSTATE,
1431
  DWG_TYPE_AMDTBROWSERDBTAB,
1432
  DWG_TYPE_AMDTDMMENUSTATE,
1433
  DWG_TYPE_AMDTEDGESTANDARDDIN,
1434
  DWG_TYPE_AMDTEDGESTANDARDDIN13715,
1435
  DWG_TYPE_AMDTEDGESTANDARDISO,
1436
  DWG_TYPE_AMDTEDGESTANDARDISO13715,
1437
  DWG_TYPE_AMDTFORMULAUPDATEDISPATCHER,
1438
  DWG_TYPE_AMDTINTERNALREACTOR,
1439
  DWG_TYPE_AMDTMCOMMENUSTATE,
1440
  DWG_TYPE_AMDTMENUSTATEMGR,
1441
  DWG_TYPE_AMDTNOTE,
1442
  DWG_TYPE_AMDTNOTETEMPLATEDB,
1443
  DWG_TYPE_AMDTSECTIONSYM,
1444
  DWG_TYPE_AMDTSECTIONSYMLABEL,
1445
  DWG_TYPE_AMDTSYSATTR,
1446
  DWG_TYPE_AMGOBJPROPCFG,
1447
  DWG_TYPE_AMGSETTINGSOBJ,
1448
  DWG_TYPE_AMIMASTER,
1449
  DWG_TYPE_AM_DRAWING_MGR,
1450
  DWG_TYPE_AM_DWGMGR_NAME,
1451
  DWG_TYPE_AM_DWG_DOCUMENT,
1452
  DWG_TYPE_AM_DWG_SHEET,
1453
  DWG_TYPE_AM_VIEWDIMPARMAP,
1454
  DWG_TYPE_BINRECORD,
1455
  DWG_TYPE_CAMSCATALOGAPPOBJECT,
1456
  DWG_TYPE_CAMSSTRUCTBTNSTATE,
1457
  DWG_TYPE_CATALOGSTATE,
1458
  DWG_TYPE_CBROWSERAPPOBJECT,
1459
  DWG_TYPE_DEPMGR, // AcAdDepMgr / DesignerAssemblies,
1460
  DWG_TYPE_DMBASEELEMENT, // AcMapDMBaseElement / AcMapDisplayManagement,
1461
  DWG_TYPE_DMDEFAULTSTYLE, // AcMapDMDefaultStyle / AcMapDisplayManagement,
1462
  DWG_TYPE_DMLEGEND,
1463
  DWG_TYPE_DMMAP, // AcMapDMMap / AcMapDisplayManagement,
1464
  DWG_TYPE_DMMAPMANAGER, // AcMapDMMapManager / AcMapDisplayManagement,
1465
  DWG_TYPE_DMSTYLECATEGORY, // AcMapDMStyleCategory / AcMapDisplayManagement,
1466
  DWG_TYPE_DMSTYLELIBRARY, // AcMapDMStyleLibrary / AcMapDisplayManagement,
1467
  DWG_TYPE_DMSTYLEREFERENCE, // AcMapDMStyleReference / AcMapDisplayManagement,
1468
  DWG_TYPE_DMSTYLIZEDENTITIESTABLE, // AcMapDMStylizedEntitiesTable / AcMapDisplayManagement,
1469
  DWG_TYPE_DMSURROGATESTYLESETS, // AcMapDMSurrogateStyleSets / AcMapDisplayManagement,
1470
  DWG_TYPE_DM_PLACEHOLDER, // AcDmSelsetPlaceholder / McadcomServices,
1471
  DWG_TYPE_EXACTERMXREFMAP, // ExAcTermXrefMap / EXAC_SERVICE,
1472
  DWG_TYPE_EXACXREFPANELOBJECT, // ExAcXREFPanelObject / EXAC_ESW,
1473
  DWG_TYPE_EXPO_NOTIFYBLOCK,
1474
  DWG_TYPE_EXPO_NOTIFYHALL,
1475
  DWG_TYPE_EXPO_NOTIFYPILLAR,
1476
  DWG_TYPE_EXPO_NOTIFYSTAND,
1477
  DWG_TYPE_EXPO_NOTIFYSTANDNOPOLY,
1478
  DWG_TYPE_GSMANAGER, // AcMeGSManager / AcMeServices,
1479
  DWG_TYPE_IRD_DSC_DICT,
1480
  DWG_TYPE_IRD_DSC_RECORD,
1481
  DWG_TYPE_IRD_OBJ_RECORD,
1482
  DWG_TYPE_MAPFSMRVOBJECT,
1483
  DWG_TYPE_MAPGWSUNDOOBJECT, // AcMapGWSUndoRecorder / AcMapFeatureSourceManager,
1484
  DWG_TYPE_MAPIAMMOUDLE,
1485
  DWG_TYPE_MAPMETADATAOBJECT,
1486
  DWG_TYPE_MAPRESOURCEMANAGEROBJECT,
1487
  DWG_TYPE_McDbContainer2,
1488
  DWG_TYPE_McDbMarker,
1489
  DWG_TYPE_NAMEDAPPL,
1490
  DWG_TYPE_NEWSTDPARTPARLIST,
1491
  DWG_TYPE_NOTEPOSITION, // mcsDbObjectNotePosition,
1492
  DWG_TYPE_OBJCLONER,
1493
  DWG_TYPE_PARAMMGR,
1494
  DWG_TYPE_PARAMSCOPE,
1495
  DWG_TYPE_PILLAR,
1496
  DWG_TYPE_STDPART2D,
1497
  DWG_TYPE_TCH_ARROW,
1498
  DWG_TYPE_TCH_AXIS_LABEL,
1499
  DWG_TYPE_TCH_BLOCK_INSERT,
1500
  DWG_TYPE_TCH_COLUMN,
1501
  DWG_TYPE_TCH_DBCONFIG,
1502
  DWG_TYPE_TCH_DIMENSION2,
1503
  DWG_TYPE_TCH_DRAWINGINDEX,
1504
  DWG_TYPE_TCH_HANDRAIL,
1505
  DWG_TYPE_TCH_LINESTAIR,
1506
  DWG_TYPE_TCH_OPENING,
1507
  DWG_TYPE_TCH_RECTSTAIR,
1508
  DWG_TYPE_TCH_SLAB,
1509
  DWG_TYPE_TCH_SPACE,
1510
  DWG_TYPE_TCH_TEXT,
1511
  DWG_TYPE_TCH_WALL,
1512
  DWG_TYPE_TGrupoPuntos,
1513
  DWG_TYPE_VAACIMAGEINVENTORY,
1514
  DWG_TYPE_VAACXREFPANELOBJECT,
1515
1516
  DWG_TYPE_FREED        = 0xfffd,
1517
  DWG_TYPE_UNKNOWN_ENT  = 0xfffe,
1518
  DWG_TYPE_UNKNOWN_OBJ  = 0xffff,
1519
} Dwg_Object_Type;
1520
1521
typedef enum DWG_OBJECT_TYPE_R11
1522
{
1523
  // UNUSED_R11: i.e. all the added table or iterator objects (mspace block)
1524
  DWG_TYPE_UNUSED_r11 = 0,
1525
  DWG_TYPE_LINE_r11 = 1,
1526
  DWG_TYPE_POINT_r11 = 2,
1527
  DWG_TYPE_CIRCLE_r11 = 3,
1528
  DWG_TYPE_SHAPE_r11 = 4,
1529
  DWG_TYPE_REPEAT_r11 = 5,
1530
  DWG_TYPE_ENDREP_r11 = 6,
1531
  DWG_TYPE_TEXT_r11 = 7,
1532
  DWG_TYPE_ARC_r11 = 8,
1533
  DWG_TYPE_TRACE_r11 = 9,
1534
  DWG_TYPE_LOAD_r11 = 10,
1535
  DWG_TYPE_SOLID_r11 = 11,
1536
  DWG_TYPE_BLOCK_r11 = 12,
1537
  DWG_TYPE_ENDBLK_r11 = 13,
1538
  DWG_TYPE_INSERT_r11 = 14, // includes also MINSERT
1539
  DWG_TYPE_ATTDEF_r11 = 15,
1540
  DWG_TYPE_ATTRIB_r11 = 16,
1541
  DWG_TYPE_SEQEND_r11 = 17,
1542
  DWG_TYPE_JUMP_r11 = 18,
1543
  DWG_TYPE_POLYLINE_r11 = 19, // also mesh/pfaces
1544
  DWG_TYPE_VERTEX_r11 = 20,   // also mesh/pface vertices
1545
  DWG_TYPE_3DLINE_r11 = 21,
1546
  DWG_TYPE_3DFACE_r11 = 22,
1547
  DWG_TYPE_DIMENSION_r11 = 23, // all types
1548
  DWG_TYPE_VIEWPORT_r11 = 24,
1549
  DWG_TYPE_UNKNOWN_r11 = 25,
1550
} Dwg_Object_Type_r11;
1551
1552
/**
1553
 Error codes returned.
1554
 */
1555
typedef enum DWG_ERROR
1556
{
1557
  DWG_NOERR = 0,
1558
  /* sorted by severity */
1559
  DWG_ERR_WRONGCRC         = 1,
1560
  DWG_ERR_NOTYETSUPPORTED  = 1 << 1, /* 2 */
1561
  DWG_ERR_UNHANDLEDCLASS   = 1 << 2, /* 4 */
1562
  DWG_ERR_INVALIDTYPE      = 1 << 3, /* 8 */
1563
  DWG_ERR_INVALIDHANDLE    = 1 << 4, /* 16 */
1564
  DWG_ERR_INVALIDEED       = 1 << 5, /* 32 */
1565
  DWG_ERR_VALUEOUTOFBOUNDS = 1 << 6, /* 64 */
1566
  /* -------- critical errors ------- */
1567
  DWG_ERR_CLASSESNOTFOUND  = 1 << 7, /* 128 */
1568
  DWG_ERR_SECTIONNOTFOUND  = 1 << 8, /* 256 */
1569
  DWG_ERR_PAGENOTFOUND     = 1 << 9, /* 512 */
1570
  DWG_ERR_INTERNALERROR    = 1 << 10,/* 1024 */
1571
  DWG_ERR_INVALIDDWG       = 1 << 11,/* 2048 */
1572
  DWG_ERR_IOERROR          = 1 << 12,/* 4096 */
1573
  DWG_ERR_OUTOFMEM         = 1 << 13,/* 8192 */
1574
1575
} Dwg_Error;
1576
630k
#define DWG_ERR_CRITICAL DWG_ERR_CLASSESNOTFOUND
1577
1578
/**
1579
   handles resolve absolute or relative indices to objects.
1580
1581
   code 2-5: represents the type of the relation: hard/soft, owner/id.
1582
1583
   code TYPEDOBJHANDLE:
1584
    2 Soft owner,
1585
    3 Hard owner,
1586
    4 Soft pointer,
1587
    5 Hard pointer
1588
1589
   code > 6: the handle is stored as an offset from some other handle.
1590
1591
   code OFFSETOBJHANDLE for soft owners or pointers:
1592
    6 ref + 1,
1593
    8 ref - 1,
1594
    a ref + offset,
1595
    c ref - offset
1596
1597
  See \ref Dwg_Handle
1598
 */
1599
typedef struct _dwg_handle
1600
{
1601
  BITCODE_RC code; /*!< OFFSETOBJHANDLE if > 6 */
1602
  BITCODE_RC size;
1603
  BITCODE_HV value;
1604
  BITCODE_B is_global; // to be freed or not
1605
} Dwg_Handle;
1606
1607
#define FORMAT_H "%u.%u." FORMAT_HV
1608
#define ARGS_H(hdl) (hdl).code, (hdl).size, (hdl).value
1609
#define FORMAT_REF "(%u.%u." FORMAT_HV ") abs:" FORMAT_HV
1610
#define ARGS_REF(ref) (ref)->handleref.code, (ref)->handleref.size, \
1611
    (ref)->handleref.value, (ref)->absolute_ref
1612
#define FORMAT_REF11 "(%d, %hd, " FORMAT_HV ")"
1613
#define ARGS_REF11(ref) (ref)->handleref.size, (ref)->r11_idx, \
1614
       (ref)->absolute_ref
1615
1616
/**
1617
object references: obj is resolved by handleref (e.g. via
1618
dwg_resolve_handleref) when reading a DWG to the respective \ref
1619
Dwg_Object, and absolute_ref is resolved to the global
1620
_dwg_struct::object_ref index. It is the same as the hex number in the
1621
DXF handles.
1622
1623
Used as \ref Dwg_Object_Ref
1624
*/
1625
typedef struct _dwg_object_ref
1626
{
1627
  struct _dwg_object* obj;
1628
  Dwg_Handle handleref;
1629
  BITCODE_RLL absolute_ref;
1630
  BITCODE_RSd r11_idx; // preR13 only, the TABLE index (also used for DXF)
1631
} Dwg_Object_Ref;
1632
1633
typedef Dwg_Object_Ref* BITCODE_H;
1634
1635
typedef enum DWG_HDL_CODE
1636
{
1637
   DWG_HDL_OWNER   = 0,
1638
   DWG_HDL_SOFTOWN = 2,
1639
   DWG_HDL_HARDOWN = 3,
1640
   DWG_HDL_SOFTPTR = 4, // can be relative
1641
   DWG_HDL_HARDPTR = 5,
1642
} Dwg_Hdl_Code;
1643
1644
typedef enum DWG_COLOR_METHOD
1645
{
1646
  DWG_COLOR_METHOD_VOID = 0,
1647
  DWG_COLOR_METHOD_BYLAYER = 0xc0, /* (also c3 and rgb of 0x100) */
1648
  DWG_COLOR_METHOD_BYBLOCK = 0xc1, /* (also c3 and rgb of 0) */
1649
  DWG_COLOR_METHOD_ACI = 0xc2,     /* Color index, for entities (default),
1650
                                      with names with an additional name flag RC */
1651
  DWG_COLOR_METHOD_TRUECOLOR = 0xc3,
1652
  DWG_COLOR_METHOD_FGCOLOR = 0xc5,
1653
  DWG_COLOR_METHOD_NONE = 0xc8, /* (also c3 and rgb of 0x101) */
1654
} Dwg_Color_Method;
1655
1656
/**
1657
 CMC or ENC colors: color index or rgb value. layers are off when the index
1658
 is negative.
1659
 Used as \ref Dwg_Color
1660
 */
1661
typedef struct _dwg_color /* CmColor: R15 and earlier */
1662
{
1663
  BITCODE_BSd index;  /* <0: turned off. 0: BYBLOCK, 256: BYLAYER */
1664
  BITCODE_BS flag;    /* 1: has name, 2: has book_name. */
1665
  BITCODE_BS raw;     /* ENC only */
1666
  BITCODE_BL rgb;     /* DXF 420 */
1667
  Dwg_Color_Method method; /* first byte of rgb */
1668
  BITCODE_T  name;       /* DXF 430 */
1669
  BITCODE_T  book_name;  /* DXF 430, DXF: "book_name$name" */
1670
  // Entities only:
1671
  BITCODE_H  handle;
1672
  BITCODE_BL alpha_raw;
1673
  BITCODE_BB alpha_type; /* 0 BYLAYER, 1 BYBLOCK, 3 alpha */
1674
  BITCODE_RC alpha;      /* DXF 440. 0-255 */
1675
} Dwg_Color;
1676
1677
typedef Dwg_Color BITCODE_CMC;
1678
typedef Dwg_Color BITCODE_CMTC; // truecolor even before r2004
1679
typedef Dwg_Color BITCODE_ENC;
1680
1681
EXPORT const char* dwg_color_method_name (unsigned method);
1682
1683
/**
1684
 ASCII or Unicode text in xdata \ref Dwg_Resbuf
1685
 */
1686
struct _dwg_binary_chunk
1687
{
1688
  unsigned short size;
1689
  unsigned codepage:15;
1690
  unsigned is_tu:1;
1691
  union {
1692
    char *data;
1693
    DWGCHAR *wdata;
1694
  } u;
1695
};
1696
1697
/**
1698
 result buffers: xdata linked list of dxf group - value pairs.
1699
 Used as \ref Dwg_Resbuf
1700
 */
1701
typedef struct _dwg_resbuf
1702
{
1703
  short type;
1704
  union
1705
  {
1706
    double  pt[3];
1707
    char    i8;
1708
    short   i16;
1709
    int     i32;
1710
    BITCODE_BLL i64;
1711
    BITCODE_HV absref;
1712
    double  dbl;
1713
    struct _dwg_binary_chunk str;
1714
  } value;
1715
  struct _dwg_resbuf *nextrb;
1716
} Dwg_Resbuf;
1717
1718
/**
1719
 \struct Dwg_Header_Variables
1720
 DWG header variables for all versions.
1721
 If uppercase related to the DXF HEADER $ name.
1722
1723
 \ref _dwg_header_variables
1724
 */
1725
typedef struct _dwg_header_variables {
1726
  BITCODE_RL size;
1727
  BITCODE_RL bitsize_hi;   /*!< r2010+ */
1728
  BITCODE_RL bitsize;
1729
  BITCODE_RC ACADMAINTVER; /*!< r13+ */
1730
  BITCODE_BLL REQUIREDVERSIONS; /*!< r2013+ */
1731
  BITCODE_TV DWGCODEPAGE;  /*!< DXF 3, r11+ */
1732
  BITCODE_RS codepage;     /*!< <r11 */
1733
  BITCODE_BD unit1_ratio; /* 412148564080.0 */
1734
  BITCODE_BD unit2_ratio; /* 1.0 */
1735
  BITCODE_BD unit3_ratio; /* 1.0 */
1736
  BITCODE_BD unit4_ratio; /* 1.0 */
1737
  BITCODE_TV unit1_name; /* "" 4x pre R13/2007... */
1738
  BITCODE_TV unit2_name; /* "" */
1739
  BITCODE_TV unit3_name; /* "" */
1740
  BITCODE_TV unit4_name; /* "" */
1741
  BITCODE_BL unknown_8; /* 24L */
1742
  BITCODE_BL unknown_9; /* 0L */
1743
  BITCODE_BS unknown_10; /* 0 r13-r14 */
1744
  BITCODE_H VX_TABLE_RECORD; /*!< r11-r2000 code 5, no DXF */
1745
  BITCODE_B DIMASO;
1746
  BITCODE_B DIMSHO;
1747
  BITCODE_B DIMSAV; /* undocumented */
1748
  BITCODE_B PLINEGEN;
1749
  BITCODE_B ORTHOMODE;
1750
  BITCODE_B REGENMODE;
1751
  BITCODE_B FILLMODE;
1752
  BITCODE_B QTEXTMODE;
1753
  BITCODE_B PSLTSCALE; /* r10- */
1754
  BITCODE_B LIMCHECK;
1755
  BITCODE_RC MENUEXT[46];
1756
  BITCODE_B BLIPMODE;
1757
  BITCODE_B unknown_11;
1758
  BITCODE_B USRTIMER;
1759
  BITCODE_B FASTZOOM;  /* -r11 */
1760
  BITCODE_B FLATLAND;
1761
  BITCODE_B VIEWMODE;
1762
  BITCODE_B SKPOLY;
1763
  BITCODE_RS unknown_mon;  /* -r11 */
1764
  BITCODE_RS unknown_day;  /* -r11 */
1765
  BITCODE_RS unknown_year; /* -r11 */
1766
  BITCODE_RS unknown_hour; /* -r11 */
1767
  BITCODE_RS unknown_min;  /* -r11 */
1768
  BITCODE_RS unknown_sec;  /* -r11 */
1769
  BITCODE_RS unknown_ms;  /* -r11 */
1770
  BITCODE_B ANGDIR;
1771
  BITCODE_B SPLFRAME;
1772
  BITCODE_B ATTREQ;
1773
  BITCODE_B ATTDIA;
1774
  BITCODE_B MIRRTEXT;
1775
  BITCODE_B WORLDVIEW;
1776
  BITCODE_B WIREFRAME; /* Undocumented */
1777
  BITCODE_B TILEMODE;
1778
  BITCODE_B PLIMCHECK;
1779
  BITCODE_B VISRETAIN;
1780
  BITCODE_B DELOBJ;
1781
  BITCODE_B DISPSILH;
1782
  BITCODE_B PELLIPSE;
1783
  BITCODE_BS SAVEIMAGES; //some r13 only
1784
  BITCODE_BS PROXYGRAPHICS;
1785
  BITCODE_BS MEASUREMENT; /* 0 English, 1 Metric. Stored as Section 4 */
1786
  BITCODE_BS DRAGMODE;
1787
  BITCODE_BSd TREEDEPTH; /* r11- */
1788
  BITCODE_BS LUNITS;
1789
  BITCODE_BS LUPREC;
1790
  BITCODE_BS AUNITS;
1791
  BITCODE_BS AUPREC;
1792
  BITCODE_BS ATTMODE;
1793
  BITCODE_BS COORDS;
1794
  BITCODE_BS PDMODE;
1795
  BITCODE_BS PICKSTYLE;
1796
  BITCODE_BS OSMODE;
1797
  BITCODE_BL unknown_12;
1798
  BITCODE_BL unknown_13;
1799
  BITCODE_BL unknown_14;
1800
  BITCODE_BSd USERI1;
1801
  BITCODE_BSd USERI2;
1802
  BITCODE_BSd USERI3;
1803
  BITCODE_BSd USERI4;
1804
  BITCODE_BSd USERI5;
1805
  BITCODE_BS SPLINESEGS;
1806
  BITCODE_BS SURFU;
1807
  BITCODE_BS SURFV;
1808
  BITCODE_BS SURFTYPE;
1809
  BITCODE_BS SURFTAB1;
1810
  BITCODE_BS SURFTAB2;
1811
  BITCODE_BS SPLINETYPE;
1812
  BITCODE_BS SHADEDGE;
1813
  BITCODE_BS SHADEDIF;
1814
  BITCODE_BS UNITMODE;
1815
  BITCODE_BS MAXACTVP;
1816
  BITCODE_BS ISOLINES;
1817
  BITCODE_BS CMLJUST;
1818
  BITCODE_BS TEXTQLTY;
1819
  BITCODE_BL unknown_14b;
1820
  BITCODE_BD LTSCALE;
1821
  BITCODE_BD TEXTSIZE;
1822
  BITCODE_BD TRACEWID;
1823
  BITCODE_BD SKETCHINC;
1824
  BITCODE_BD FILLETRAD;
1825
  BITCODE_BD THICKNESS;
1826
  BITCODE_BD ANGBASE;
1827
  BITCODE_BD PDSIZE;
1828
  BITCODE_BD PLINEWID;
1829
  BITCODE_BD USERR1;
1830
  BITCODE_BD USERR2;
1831
  BITCODE_BD USERR3;
1832
  BITCODE_BD USERR4;
1833
  BITCODE_BD USERR5;
1834
  BITCODE_BD CHAMFERA;
1835
  BITCODE_BD CHAMFERB;
1836
  BITCODE_BD CHAMFERC;
1837
  BITCODE_BD CHAMFERD;
1838
  BITCODE_BD FACETRES;
1839
  BITCODE_BD CMLSCALE;
1840
  BITCODE_BD CELTSCALE;
1841
  BITCODE_BD VIEWTWIST;
1842
  BITCODE_TV MENU;
1843
  BITCODE_TIMEBLL TDCREATE;
1844
  BITCODE_TIMEBLL TDUPDATE;
1845
  BITCODE_TIMEBLL TDUCREATE;
1846
  BITCODE_TIMEBLL TDUUPDATE;
1847
  BITCODE_BL unknown_15;
1848
  BITCODE_BL unknown_16;
1849
  BITCODE_BL unknown_17;
1850
  BITCODE_TIMEBLL TDINDWG;
1851
  BITCODE_TIMEBLL TDUSRTIMER;
1852
  BITCODE_CMC CECOLOR;
1853
  BITCODE_BS HANDLING; /* <r14: default 1 */
1854
  BITCODE_H HANDSEED;
1855
  BITCODE_RL unknown_4f2; /* -r11 */
1856
  BITCODE_RS unknown_5; /* r2-r11 */
1857
  BITCODE_RS unknown_6; /* r10-r11 */
1858
  BITCODE_RS unknown_6a; /* r2-r9 */
1859
  BITCODE_RS unknown_6b; /* r2-r9 */
1860
  BITCODE_RS unknown_6c; /* r2-r9 */
1861
  BITCODE_H CLAYER; /*!< code 5, DXF 8 */
1862
  BITCODE_H TEXTSTYLE;  /*!< code 5, DXF 7 */
1863
  BITCODE_H CELTYPE;  /*!< code 5, DXF 6 */
1864
  BITCODE_H CMATERIAL;  /*!< r2007+ code 5, no DXF */
1865
  BITCODE_H DIMSTYLE; /*!< code 5, DXF 2 */
1866
  BITCODE_H CMLSTYLE; /*!< code 5, DXF 2 */
1867
  BITCODE_BD PSVPSCALE;
1868
  BITCODE_3BD PINSBASE;   /*!< r13+ ... */
1869
  BITCODE_3BD PEXTMIN;
1870
  BITCODE_3BD PEXTMAX;
1871
  BITCODE_2DPOINT PLIMMIN;
1872
  BITCODE_2DPOINT PLIMMAX;
1873
  BITCODE_BD  PELEVATION;
1874
  BITCODE_3BD PUCSORG;
1875
  BITCODE_3BD PUCSXDIR;
1876
  BITCODE_3BD PUCSYDIR;
1877
  BITCODE_H PUCSNAME;   /*!< r13+ code 5, DXF 2 */
1878
  BITCODE_H PUCSBASE;   /*!< r2000+ code 5, DXF 2 */
1879
  BITCODE_H PUCSORTHOREF; /*!< r2000+ code 5, DXF 2 */
1880
  BITCODE_BS PUCSORTHOVIEW;
1881
  BITCODE_3BD PUCSORGTOP;
1882
  BITCODE_3BD PUCSORGBOTTOM;
1883
  BITCODE_3BD PUCSORGLEFT;
1884
  BITCODE_3BD PUCSORGRIGHT;
1885
  BITCODE_3BD PUCSORGFRONT;
1886
  BITCODE_3BD PUCSORGBACK;
1887
  BITCODE_3BD INSBASE;
1888
  BITCODE_3BD EXTMIN;
1889
  BITCODE_3BD EXTMAX;
1890
  BITCODE_3BD VIEWDIR;
1891
  BITCODE_3BD TARGET;
1892
  BITCODE_2DPOINT LIMMIN;
1893
  BITCODE_2DPOINT LIMMAX;
1894
  BITCODE_3RD VIEWCTR;  /* -r11 */
1895
  BITCODE_BD ELEVATION;
1896
  BITCODE_RD VIEWSIZE;  /* -r11 */
1897
  BITCODE_RS SNAPMODE;  /* -r11 */
1898
  BITCODE_2RD SNAPUNIT; /* -r11 */
1899
  BITCODE_2RD SNAPBASE; /* -r11 */
1900
  BITCODE_RD SNAPANG;   /* -r11 */
1901
  BITCODE_RS SNAPSTYLE;  /* -r11 */
1902
  BITCODE_RS SNAPISOPAIR; /* -r11 */
1903
  BITCODE_RS GRIDMODE;  /* -r11 */
1904
  BITCODE_2RD GRIDUNIT; /* -r11 */
1905
  BITCODE_BS AXISMODE;  /* -r11 */
1906
  BITCODE_2RD AXISUNIT; /* -r11 */
1907
  BITCODE_3RD VPOINTX; /* -r11 */
1908
  BITCODE_3RD VPOINTY; /* -r11 */
1909
  BITCODE_3RD VPOINTZ; /* -r11 */
1910
  BITCODE_3RD VPOINTXALT; /* -r11 */
1911
  BITCODE_3RD VPOINTYALT; /* -r11 */
1912
  BITCODE_3RD VPOINTZALT; /* -r11 */
1913
  BITCODE_RS flag_3d; /* -r11 */
1914
  BITCODE_3BD UCSORG;
1915
  BITCODE_3BD UCSXDIR;
1916
  BITCODE_3BD UCSYDIR;
1917
  BITCODE_H UCSNAME;    /*!< code 5, DXF 2 */
1918
  BITCODE_H UCSBASE;    /*!< code 5, DXF 2 */
1919
  BITCODE_BS UCSORTHOVIEW;
1920
  BITCODE_H UCSORTHOREF;  /*!< code 5, DXF 2 */
1921
  BITCODE_3BD UCSORGTOP;
1922
  BITCODE_3BD UCSORGBOTTOM;
1923
  BITCODE_3BD UCSORGLEFT;
1924
  BITCODE_3BD UCSORGRIGHT;
1925
  BITCODE_3BD UCSORGFRONT;
1926
  BITCODE_3BD UCSORGBACK;
1927
  BITCODE_TV DIMPOST;
1928
  BITCODE_TV DIMAPOST;
1929
  BITCODE_B DIMTOL;
1930
  BITCODE_B DIMLIM;
1931
  BITCODE_B DIMTIH;
1932
  BITCODE_B DIMTOH;
1933
  BITCODE_B DIMSE1;
1934
  BITCODE_B DIMSE2;
1935
  BITCODE_B DIMALT;
1936
  BITCODE_B DIMTOFL;
1937
  BITCODE_B DIMSAH;
1938
  BITCODE_B DIMTIX;
1939
  BITCODE_B DIMSOXD;
1940
  BITCODE_BS DIMALTD;   /*!< r13-r14 only RC */
1941
  BITCODE_BS DIMZIN;    /*!< r13-r14 only RC */
1942
  BITCODE_B DIMSD1;
1943
  BITCODE_B DIMSD2;
1944
  BITCODE_BS DIMTOLJ;   /*!< r13-r14 only RC */
1945
  BITCODE_BS DIMJUST;   /*!< r13-r14 only RC */
1946
  BITCODE_BS DIMFIT;    /*!< r13-r14 only RC */
1947
  BITCODE_B DIMUPT;
1948
  BITCODE_BS DIMTZIN;   /*!< r13-r14 only RC */
1949
  BITCODE_BS DIMTAD;    /*!< r13-r14 only RC */
1950
  BITCODE_BS DIMUNIT;
1951
  BITCODE_BS DIMAUNIT;
1952
  BITCODE_BS DIMDEC;
1953
  BITCODE_BS DIMTDEC;
1954
  BITCODE_BS DIMALTU;
1955
  BITCODE_BS DIMALTTD;
1956
  BITCODE_H DIMTXSTY; /*!< code 5, DXF 7 */
1957
  BITCODE_BD DIMSCALE;
1958
  BITCODE_BD DIMARROW; /* r1.2-r1.4 */
1959
  BITCODE_BD DIMASZ;
1960
  BITCODE_BD DIMEXO;
1961
  BITCODE_BD DIMDLI;
1962
  BITCODE_BD DIMEXE;
1963
  BITCODE_BD DIMRND;
1964
  BITCODE_BD DIMDLE;
1965
  BITCODE_BD DIMTP;
1966
  BITCODE_BD DIMTM;
1967
  BITCODE_BD DIMFXL;
1968
  BITCODE_BD DIMJOGANG;
1969
  BITCODE_BS DIMTFILL;
1970
  BITCODE_CMC DIMTFILLCLR;
1971
  BITCODE_BS DIMAZIN;
1972
  BITCODE_BS DIMARCSYM;
1973
  BITCODE_BD DIMTXT;
1974
  BITCODE_BD DIMCEN;
1975
  BITCODE_BD DIMTSZ;
1976
  BITCODE_BD DIMALTF;
1977
  BITCODE_BD DIMLFAC;
1978
  BITCODE_BD DIMTVP;
1979
  BITCODE_BD DIMTFAC;
1980
  BITCODE_BD DIMGAP;
1981
  BITCODE_T DIMPOST_T; /* preR13 => handle */
1982
  BITCODE_T DIMAPOST_T;
1983
  BITCODE_T DIMBLK_T;
1984
  BITCODE_T DIMBLK1_T;
1985
  BITCODE_T DIMBLK2_T;
1986
  BITCODE_T unknown_string; /* r10-r11 */
1987
  BITCODE_BD DIMALTRND;
1988
  BITCODE_RS DIMCLRD_C; /* preR13 => CMC */
1989
  BITCODE_RS DIMCLRE_C;
1990
  BITCODE_RS DIMCLRT_C;
1991
  BITCODE_CMC DIMCLRD;
1992
  BITCODE_CMC DIMCLRE;
1993
  BITCODE_CMC DIMCLRT;
1994
  BITCODE_BS DIMADEC;   /*!< r2000+ ... */
1995
  BITCODE_BS DIMFRAC;
1996
  BITCODE_BS DIMLUNIT;
1997
  BITCODE_BS DIMDSEP;
1998
  BITCODE_BS DIMTMOVE;
1999
  BITCODE_BS DIMALTZ;  /*!< r13-r14 only RC */
2000
  BITCODE_BS DIMALTTZ; /*!< r13-r14 only RC */
2001
  BITCODE_BS DIMATFIT;
2002
  BITCODE_B  DIMFXLON;  /*!< r2007+ */
2003
  BITCODE_B  DIMTXTDIRECTION; /*!< r2010+ */
2004
  BITCODE_BD DIMALTMZF; /*!< r2010+ */
2005
  BITCODE_T  DIMALTMZS; /*!< r2010+ */
2006
  BITCODE_BD DIMMZF;    /*!< r2010+ */
2007
  BITCODE_T  DIMMZS;    /*!< r2010+ */
2008
  /*BITCODE_H DIMTXSTY;*/  /*!< r2000+ */
2009
  BITCODE_H DIMLDRBLK;  /*!< r2000+ code 5, DXF 1 */
2010
  BITCODE_H DIMBLK;     /*!< r2000+ code 5, DXF 1 */
2011
  BITCODE_H DIMBLK1;    /*!< r2000+ code 5, DXF 1 */
2012
  BITCODE_H DIMBLK2;    /*!< r2000+ code 5, DXF 1 */
2013
  BITCODE_H DIMLTYPE; /*!< r2007+ code 5, DXF 6 */
2014
  BITCODE_H DIMLTEX1; /*!< r2007+ code 5, DXF 6 */
2015
  BITCODE_H DIMLTEX2; /*!< r2007+ code 5, DXF 6 */
2016
  BITCODE_BSd DIMLWD;  /*!< r2000+ */
2017
  BITCODE_BSd DIMLWE;  /*!< r2000+ */
2018
  BITCODE_H BLOCK_CONTROL_OBJECT; /*!< code 3 */
2019
  BITCODE_H LAYER_CONTROL_OBJECT; /*!< code 3 */
2020
  BITCODE_H STYLE_CONTROL_OBJECT; /*!< code 3 */
2021
  BITCODE_H LTYPE_CONTROL_OBJECT; /*!< code 3 */
2022
  BITCODE_H VIEW_CONTROL_OBJECT; /*!< code 3 */
2023
  BITCODE_H UCS_CONTROL_OBJECT; /*!< code 3 */
2024
  BITCODE_H VPORT_CONTROL_OBJECT; /*!< code 3 */
2025
  BITCODE_H APPID_CONTROL_OBJECT; /*!< code 3 */
2026
  BITCODE_H DIMSTYLE_CONTROL_OBJECT; /*!< code 3 */
2027
  BITCODE_H VX_CONTROL_OBJECT; /*!< r11-r2000 code 3 */
2028
  BITCODE_H DICTIONARY_ACAD_GROUP;  /*!< code 5 */
2029
  BITCODE_H DICTIONARY_ACAD_MLINESTYLE; /*!< code 5 */
2030
  BITCODE_H DICTIONARY_NAMED_OBJECT;  /*!< code 5, the "NOD" */
2031
  BITCODE_BS TSTACKALIGN;           /*!< r2000+ */
2032
  BITCODE_BS TSTACKSIZE;            /*!< r2000+ */
2033
  BITCODE_T  HYPERLINKBASE;         /*!< r2000+ */
2034
  BITCODE_TV STYLESHEET;            /*!< r2000+ */
2035
  BITCODE_H DICTIONARY_LAYOUT;      /*!< r2000+ code 5 */
2036
  BITCODE_H DICTIONARY_PLOTSETTINGS;   /*!< r2000+ code 5 */
2037
  BITCODE_H DICTIONARY_PLOTSTYLENAME;  /*!< r2000+ code 5 */
2038
  BITCODE_H DICTIONARY_MATERIAL;    /*!< r2004+ code 5 */
2039
  BITCODE_H DICTIONARY_COLOR;       /*!< r2004+ code 5 */
2040
  BITCODE_H DICTIONARY_VISUALSTYLE; /*!< r2007+ code 5 */
2041
  BITCODE_H DICTIONARY_LIGHTLIST;   /*!< r2010+ code 5 ?? */
2042
  BITCODE_H unknown_20;             /*!< r2013+ code 5 LIGHTLIST? */
2043
  BITCODE_BL FLAGS;
2044
  BITCODE_BSd CELWEIGHT; /*!< = FLAGS & 0x1f, see dxf_cvt_lweight() DXF 370 (int16) */
2045
  BITCODE_B  ENDCAPS;    /*!< = FLAGS & 0x60 */
2046
  BITCODE_B  JOINSTYLE;  /*!< = FLAGS & 0x180 */
2047
  BITCODE_B  LWDISPLAY;  /*!< = !(FLAGS & 0x200) */
2048
  BITCODE_B  XEDIT;      /*!< = !(FLAGS & 0x400) */
2049
  BITCODE_B  EXTNAMES;   /*!< = FLAGS & 0x800 */
2050
  BITCODE_B  PSTYLEMODE; /*!< = FLAGS & 0x2000 */
2051
  BITCODE_B  OLESTARTUP; /*!< = FLAGS & 0x4000 */
2052
  BITCODE_BS INSUNITS;
2053
  BITCODE_BS CEPSNTYPE;
2054
  BITCODE_H CPSNID;      /*!< when CEPSNTYPE = 3, code 5 */
2055
  BITCODE_TV FINGERPRINTGUID;
2056
  BITCODE_TV VERSIONGUID;
2057
  BITCODE_RC SORTENTS;
2058
  BITCODE_RC INDEXCTL;
2059
  BITCODE_RC HIDETEXT;
2060
  BITCODE_RC XCLIPFRAME;
2061
  BITCODE_RC DIMASSOC;
2062
  BITCODE_RC HALOGAP;
2063
  BITCODE_BS OBSCOLOR;
2064
  BITCODE_BS INTERSECTIONCOLOR;
2065
  BITCODE_RC OBSLTYPE;
2066
  BITCODE_RC INTERSECTIONDISPLAY;
2067
  BITCODE_TV PROJECTNAME;
2068
  BITCODE_H BLOCK_RECORD_PSPACE;  /*!< code 5 */
2069
  BITCODE_H BLOCK_RECORD_MSPACE;  /*!< code 5 */
2070
  BITCODE_H LTYPE_BYLAYER;  /*!< code 5 */
2071
  BITCODE_H LTYPE_BYBLOCK;  /*!< code 5 */
2072
  BITCODE_H LTYPE_CONTINUOUS; /*!< code 5 */
2073
  BITCODE_B CAMERADISPLAY; /*!< r2007+ ... */
2074
  BITCODE_BL unknown_21;
2075
  BITCODE_BL unknown_22;
2076
  BITCODE_BD unknown_23;
2077
  BITCODE_BD STEPSPERSEC;
2078
  BITCODE_BD STEPSIZE;
2079
  BITCODE_BD _3DDWFPREC;
2080
  BITCODE_BD LENSLENGTH;
2081
  BITCODE_BD CAMERAHEIGHT;
2082
  BITCODE_RC SOLIDHIST;
2083
  BITCODE_RC SHOWHIST;
2084
  BITCODE_BD PSOLWIDTH;
2085
  BITCODE_BD PSOLHEIGHT;
2086
  BITCODE_BD LOFTANG1;
2087
  BITCODE_BD LOFTANG2;
2088
  BITCODE_BD LOFTMAG1;
2089
  BITCODE_BD LOFTMAG2;
2090
  BITCODE_BS LOFTPARAM;
2091
  BITCODE_RC LOFTNORMALS;
2092
  BITCODE_BD LATITUDE;
2093
  BITCODE_BD LONGITUDE;
2094
  BITCODE_BD NORTHDIRECTION;
2095
  BITCODE_BL TIMEZONE;
2096
  BITCODE_RC LIGHTGLYPHDISPLAY;
2097
  BITCODE_RC TILEMODELIGHTSYNCH;
2098
  BITCODE_RC DWFFRAME;
2099
  BITCODE_RC DGNFRAME;
2100
  BITCODE_B REALWORLDSCALE;
2101
  BITCODE_CMC INTERFERECOLOR;
2102
  BITCODE_H INTERFEREOBJVS; /*!< r2007+ code 5, DXF 345 VISUALSTYLE */
2103
  BITCODE_H INTERFEREVPVS;  /*!< r2007+ code 5, DXF 346 VISUALSTYLE */
2104
  BITCODE_H DRAGVS;   /*!< r2007+ code 5, DXF 349 VISUALSTYLE */
2105
  BITCODE_RC CSHADOW;
2106
  BITCODE_BD SHADOWPLANELOCATION;
2107
  BITCODE_BS unknown_54; /*!< r14+ ... optional */
2108
  BITCODE_BS unknown_55;
2109
  BITCODE_BS unknown_56;
2110
  BITCODE_BS unknown_57;
2111
  BITCODE_RL dwg_size;     /* -r1.40 */
2112
  BITCODE_RS numentities;  /* r2.0 - r10 */
2113
  BITCODE_RS circle_zoom_percent;
2114
  BITCODE_BD FRONTZ;
2115
  BITCODE_BD BACKZ;
2116
  BITCODE_RC UCSICON;
2117
  BITCODE_RL oldCECOLOR_hi; /* r11, or RD */
2118
  BITCODE_RL oldCECOLOR_lo; /* r11 */
2119
  BITCODE_RS layer_colors[128]; /* r1.1 - r1.4 */
2120
  BITCODE_RS unknown_51e;  /* r11 */
2121
  BITCODE_RS unknown_520;  /* r11 */
2122
  BITCODE_RSd unknown_52c;  /* r11 */
2123
  BITCODE_RS unknown_52e;  /* r11 */
2124
  BITCODE_RC unknown_530;  /* r11 */
2125
  BITCODE_RS unknown_59;   /* r11 */
2126
  BITCODE_RD aspect_ratio; /* r11 */
2127
} Dwg_Header_Variables;
2128
2129
/* OBJECTS *******************************************************************/
2130
/**
2131
 UNUSED (0) entity. Unknown entities are stored as blob
2132
 */
2133
typedef int Dwg_Entity_UNUSED;
2134
2135
/** \ref Dwg_Entity_TEXT
2136
 TEXT (1/7) entity
2137
 */
2138
typedef struct _dwg_entity_TEXT
2139
{
2140
  struct _dwg_object_entity *parent;
2141
2142
  BITCODE_RC dataflags;        /*!< r2000+. should be renamed to opts for r11 compat */
2143
  BITCODE_RD elevation;        /*!< DXF 30 (z coord of 10), when dataflags & 1 */
2144
  BITCODE_2DPOINT ins_pt;      /*!< DXF 10 */
2145
  BITCODE_2DPOINT alignment_pt; /*!< DXF 11. optional, when dataflags & 2, i.e 72/73 != 0 */
2146
  BITCODE_BE extrusion;       /*!< DXF 210. Default 0,0,1 */
2147
  BITCODE_RD thickness;       /*!< DXF 39 */
2148
  BITCODE_RD oblique_angle;   /*!< DXF 51 */
2149
  BITCODE_RD rotation;        /*!< DXF 50 */
2150
  BITCODE_RD height;          /*!< DXF 40 */
2151
  BITCODE_RD width_factor;    /*!< DXF 41 */
2152
  BITCODE_T  text_value;      /*!< DXF 1 */
2153
  BITCODE_BS generation;      /*!< DXF 71 */
2154
  BITCODE_BS horiz_alignment; /*!< DXF 72. options 0-5:
2155
                                 0 = Left; 1= Center; 2 = Right; 3 = Aligned;
2156
                                 4 = Middle; 5 = Fit */
2157
  BITCODE_BS vert_alignment;  /*!< DXF 73. options 0-3:
2158
                                 0 = Baseline; 1 = Bottom; 2 = Middle; 3 = Top */
2159
  BITCODE_H style;        /*!< code 5, DXF 7, optional */
2160
} Dwg_Entity_TEXT;
2161
2162
/**
2163
 * R2010+ Subclass of ATTRIB, ATTDEF, GEOPOSITIONMARKER
2164
 * See also MTEXTOBJECTCONTEXTDATA
2165
 */
2166
typedef struct _dwg_AcDbMTextObjectEmbedded
2167
{
2168
  BITCODE_BL attachment;        /*<! DXF 70 */
2169
  BITCODE_3BD ins_pt;     /*!< DXF 10 */
2170
  BITCODE_3BD x_axis_dir;   /*!< DXF 11 */
2171
  BITCODE_BD rect_height; /*!< DXF 40 */
2172
  BITCODE_BD rect_width;  /*!< DXF 41 */
2173
  BITCODE_BD extents_width; /*!< DXF 42 */
2174
  BITCODE_BD extents_height;  /*!< DXF 43 */
2175
  BITCODE_BL column_type;       /*!< DXF 71 0: none, 1: static, 2: dynamic.
2176
                                     Note: BS in MTEXT! */
2177
  BITCODE_BD column_width;      /*!< DXF 44 */
2178
  BITCODE_BD gutter;            /*!< DXF 45 */
2179
  BITCODE_B auto_height;        /*!< DXF 73 */
2180
  BITCODE_B flow_reversed;      /*!< DXF 74 */
2181
  BITCODE_BL num_column_heights;/*!< DXF 72 or numfragments */
2182
  BITCODE_BD *column_heights;   /*!< DXF 46 if dynamic and not auto_height */
2183
} Dwg_AcDbMTextObjectEmbedded;
2184
2185
/** \ref Dwg_Entity_ATTRIB
2186
 ATTRIB (2/16) entity
2187
 */
2188
typedef struct _dwg_entity_ATTRIB
2189
{
2190
  struct _dwg_object_entity *parent;
2191
2192
  BITCODE_BD elevation;
2193
  BITCODE_2DPOINT ins_pt;
2194
  BITCODE_2DPOINT alignment_pt;
2195
  BITCODE_BE extrusion;
2196
  BITCODE_RD thickness;
2197
  BITCODE_RD oblique_angle;
2198
  BITCODE_RD rotation;
2199
  BITCODE_RD height;
2200
  BITCODE_RD width_factor;
2201
  BITCODE_T text_value;
2202
  BITCODE_BS generation;
2203
  BITCODE_BS horiz_alignment;
2204
  BITCODE_BS vert_alignment;
2205
  BITCODE_RC dataflags;
2206
  // AcDbAttributeDefinition
2207
  BITCODE_RC is_locked_in_block; /* R2007+ */
2208
  BITCODE_RC keep_duplicate_records; /* R2007+ */
2209
  BITCODE_T tag;
2210
  BITCODE_BS field_length;
2211
  BITCODE_RC flags; /* => HEADER.AFLAGS. bitmask of:
2212
                       0 none
2213
                       1 invisible, overridden by ATTDISP
2214
                       2 constant, no prompt
2215
                       4 verify on insert
2216
                       8 preset, inserted only with its default values, not editable. */
2217
  BITCODE_B lock_position_flag; /* R2007+ */
2218
  BITCODE_H style;
2219
  BITCODE_RC mtext_type;    /* R2018+ */
2220
  Dwg_AcDbMTextObjectEmbedded mtext;
2221
  BITCODE_B is_really_locked;       /*<! DXF 70 */
2222
  BITCODE_BS annotative_data_size;/* R2018+ */
2223
  BITCODE_RC* annotative_data;    /* R2018+ */
2224
  BITCODE_BS annotative_flag;     /* R2018+ */
2225
  BITCODE_H  annotative_style;    /* R2018+ */
2226
} Dwg_Entity_ATTRIB;
2227
2228
/** \ref Dwg_Entity_ATTDEF
2229
 ATTDEF (3/15) entity
2230
 */
2231
typedef struct _dwg_entity_ATTDEF
2232
{
2233
  struct _dwg_object_entity *parent;
2234
2235
  BITCODE_BD elevation;
2236
  BITCODE_2DPOINT ins_pt;
2237
  BITCODE_2DPOINT alignment_pt;
2238
  BITCODE_BE extrusion;
2239
  BITCODE_RD thickness;
2240
  BITCODE_RD oblique_angle;
2241
  BITCODE_RD rotation;
2242
  BITCODE_RD height;
2243
  BITCODE_RD width_factor;
2244
  BITCODE_T default_value;
2245
  BITCODE_BS generation;
2246
  BITCODE_BS horiz_alignment;
2247
  BITCODE_BS vert_alignment;
2248
  BITCODE_RC dataflags;
2249
  // AcDbAttributeDefinition
2250
  BITCODE_RC is_locked_in_block; /* R2007+ */
2251
  BITCODE_RC keep_duplicate_records; /* R2007+ */
2252
  BITCODE_T tag;
2253
  BITCODE_BS field_length;
2254
  BITCODE_RC flags; /* => HEADER.AFLAGS. bitmask of:
2255
                       0 none
2256
                       1 invisible, overridden by ATTDISP
2257
                       2 constant, no prompt
2258
                       4 verify on insert
2259
                       8 preset, inserted only with its default values, not editable. */
2260
  BITCODE_B lock_position_flag; /* R2007+ */
2261
  BITCODE_H style;
2262
  BITCODE_RC mtext_type;          /* R2018+ */
2263
  Dwg_AcDbMTextObjectEmbedded mtext;
2264
  BITCODE_B is_really_locked;       /*<! DXF 70 */
2265
  BITCODE_BS annotative_data_size;/* R2018+ */
2266
  BITCODE_RC* annotative_data;    /* R2018+ */
2267
  BITCODE_BS annotative_flag;    /* R2018+ */
2268
  BITCODE_H  annotative_style;    /* R2018+ */
2269
  // BITCODE_BS num_secondary_atts;  /* R2018+ TODO */
2270
  // BITCODE_H *secondary_atts;
2271
2272
  BITCODE_T prompt;
2273
} Dwg_Entity_ATTDEF;
2274
2275
/**
2276
 BLOCK (4/12) entity
2277
 */
2278
typedef struct _dwg_entity_BLOCK
2279
{
2280
  struct _dwg_object_entity *parent;
2281
2282
  BITCODE_T name;       // DXF 2
2283
  BITCODE_T xref_pname; // DXF 3
2284
  BITCODE_2RD base_pt;  // preR13 only
2285
} Dwg_Entity_BLOCK;
2286
2287
/**
2288
 ENDBLK (5/13) entity
2289
 */
2290
typedef struct _dwg_entity_ENDBLK
2291
{
2292
  struct _dwg_object_entity *parent;
2293
} Dwg_Entity_ENDBLK;
2294
2295
/**
2296
 SEQEND (6/17) entity
2297
 */
2298
typedef struct _dwg_entity_SEQEND
2299
{
2300
  struct _dwg_object_entity *parent;
2301
  BITCODE_RL begin_addr_r11;
2302
} Dwg_Entity_SEQEND;
2303
2304
/**
2305
 INSERT (7/14) entity
2306
 */
2307
typedef struct _dwg_entity_INSERT
2308
{
2309
  struct _dwg_object_entity *parent;
2310
2311
  BITCODE_3DPOINT   ins_pt;
2312
  BITCODE_BB        scale_flag;
2313
  BITCODE_3DPOINT   scale;
2314
  BITCODE_BD        rotation;
2315
  BITCODE_BE        extrusion;
2316
  BITCODE_B         has_attribs;
2317
  BITCODE_BL        num_owned;
2318
2319
  BITCODE_H   block_header; /* DXF 2 */
2320
  BITCODE_H   first_attrib;
2321
  BITCODE_H   last_attrib;
2322
  BITCODE_H*  attribs;
2323
  BITCODE_H   seqend;
2324
2325
  BITCODE_RS  num_cols; /* pre-R13 */
2326
  BITCODE_RS  num_rows;
2327
  BITCODE_RD  col_spacing;
2328
  BITCODE_RD  row_spacing;
2329
  BITCODE_TV  block_name; /* pre-R2.0 */
2330
} Dwg_Entity_INSERT;
2331
2332
/**
2333
 MINSERT (8) entity
2334
 */
2335
typedef struct _dwg_entity_MINSERT
2336
{
2337
  struct _dwg_object_entity *parent;
2338
2339
  BITCODE_3DPOINT   ins_pt;
2340
  BITCODE_BB        scale_flag;
2341
  BITCODE_3DPOINT   scale;
2342
  BITCODE_BD        rotation;
2343
  BITCODE_BE        extrusion;
2344
  BITCODE_B         has_attribs;
2345
  BITCODE_BL        num_owned;
2346
2347
  BITCODE_BS  num_cols;
2348
  BITCODE_BS  num_rows;
2349
  BITCODE_BD  col_spacing;
2350
  BITCODE_BD  row_spacing;
2351
2352
  BITCODE_H   block_header;
2353
  BITCODE_H   first_attrib;
2354
  BITCODE_H   last_attrib;
2355
  BITCODE_H*  attribs;
2356
  BITCODE_H   seqend;
2357
} Dwg_Entity_MINSERT;
2358
2359
/**
2360
 VERTEX_2D (10/20) entity
2361
 */
2362
typedef struct _dwg_entity_VERTEX_2D
2363
{
2364
  struct _dwg_object_entity *parent;
2365
2366
  BITCODE_RC flag;  /*<! DXF 70 (see LOG_FLAG_VERTEX)
2367
                      1:  EXTRA_VERTEX
2368
                      2:  CURVE_FIT
2369
                      8:  SPLINE_FIT
2370
                      16: SPLINE_FRAME_CONTROL_POINT
2371
                    */
2372
  BITCODE_3BD point;
2373
  BITCODE_BD start_width;
2374
  BITCODE_BD end_width;
2375
  BITCODE_BL id; /* R2010+ */
2376
  BITCODE_BD bulge;
2377
  BITCODE_BD tangent_dir;
2378
} Dwg_Entity_VERTEX_2D;
2379
2380
/**
2381
 VERTEX_3D (11) entity
2382
 */
2383
typedef struct _dwg_entity_VERTEX_3D
2384
{
2385
  struct _dwg_object_entity *parent;
2386
2387
  BITCODE_RC flag;  /*<! DXF 70 (see LOG_FLAG_VERTEX)
2388
                      8:  SPLINE_FIT
2389
                      16: SPLINE_FRAME_CONTROL_POINT
2390
                      32: 3D
2391
                      64: MESH (AcDbPolyFaceMeshVertex)
2392
                    */
2393
  BITCODE_3BD point;
2394
} Dwg_Entity_VERTEX_3D;
2395
2396
/**
2397
 VERTEX_MESH (12) - same as VERTEX_3D entity
2398
 flag: 64 (MESH)
2399
 */
2400
typedef Dwg_Entity_VERTEX_3D Dwg_Entity_VERTEX_MESH;
2401
2402
/**
2403
 VERTEX_PFACE (13) - same as VERTEX_3D entity
2404
 flag: 64 (MESH)
2405
       128 (PFACE_MESH)
2406
 */
2407
typedef Dwg_Entity_VERTEX_3D Dwg_Entity_VERTEX_PFACE;
2408
2409
/**
2410
 VERTEX_PFACE_FACE (14) entity
2411
 */
2412
typedef struct _dwg_entity_VERTEX_PFACE_FACE
2413
{
2414
  struct _dwg_object_entity *parent;
2415
2416
  BITCODE_RC flag;
2417
  BITCODE_BSd vertind[4];
2418
} Dwg_Entity_VERTEX_PFACE_FACE;
2419
2420
#define COMMON_ENTITY_POLYLINE                                                \
2421
  struct _dwg_object_entity *parent;                                          \
2422
  BITCODE_B has_vertex;                                                       \
2423
  BITCODE_BL num_owned;                                                       \
2424
  BITCODE_H first_vertex;                                                     \
2425
  BITCODE_H last_vertex;                                                      \
2426
  BITCODE_H *vertex;                                                          \
2427
  BITCODE_H seqend
2428
2429
/**
2430
 2D POLYLINE (15/19) entity
2431
 */
2432
typedef struct _dwg_entity_POLYLINE_2D
2433
{
2434
  COMMON_ENTITY_POLYLINE;
2435
2436
  BITCODE_BS flag;        /* 1: closed, 2: curve_fit, 4: spline_fit, 8: 3d, 0x10: 3dmesh,
2437
                             0x20: mesh_closed_in_n, 0x40: polyface_mesh, 0x80: ltype_continuous */
2438
  BITCODE_BS curve_type;
2439
  BITCODE_BD start_width;
2440
  BITCODE_BD end_width;
2441
  BITCODE_BT thickness;
2442
  BITCODE_BD elevation;
2443
  BITCODE_BE extrusion;
2444
  BITCODE_BL extra_r11_size;
2445
  BITCODE_TV extra_r11_text;
2446
  BITCODE_BS num_m_verts; // sometime used in preR13, to delete
2447
  BITCODE_BS num_n_verts; // sometime used in preR13, to delete
2448
} Dwg_Entity_POLYLINE_2D;
2449
2450
/**
2451
 3D POLYLINE (16/19) entity
2452
 */
2453
typedef struct _dwg_entity_POLYLINE_3D
2454
{
2455
  COMMON_ENTITY_POLYLINE;
2456
2457
  BITCODE_RC curve_type;
2458
  BITCODE_BD start_width;
2459
  BITCODE_BD end_width;
2460
  BITCODE_RC flag;
2461
  BITCODE_BE extrusion;
2462
} Dwg_Entity_POLYLINE_3D;
2463
2464
/**
2465
 ARC (17/8) entity
2466
 */
2467
typedef struct _dwg_entity_ARC
2468
{
2469
  struct _dwg_object_entity *parent;
2470
2471
  BITCODE_3BD center;
2472
  BITCODE_BD radius;
2473
  BITCODE_BT thickness;
2474
  BITCODE_BE extrusion;
2475
  BITCODE_BD start_angle;
2476
  BITCODE_BD end_angle;
2477
} Dwg_Entity_ARC;
2478
2479
/**
2480
 CIRCLE (18/3) entity
2481
 */
2482
typedef struct _dwg_entity_CIRCLE
2483
{
2484
  struct _dwg_object_entity *parent;
2485
2486
  BITCODE_3BD center;
2487
  BITCODE_BD radius;
2488
  BITCODE_BT thickness;
2489
  BITCODE_BE extrusion;
2490
} Dwg_Entity_CIRCLE;
2491
2492
/**
2493
 LINE (19/1) entity
2494
 */
2495
typedef struct _dwg_entity_LINE
2496
{
2497
  struct _dwg_object_entity *parent;
2498
2499
  BITCODE_RC z_is_zero;
2500
  BITCODE_3BD start;
2501
  BITCODE_3BD end;
2502
  BITCODE_BT thickness;
2503
  BITCODE_BE extrusion;
2504
  BITCODE_2RD unknown_r11; // GH #586
2505
} Dwg_Entity_LINE;
2506
2507
/**
2508
 * Macro for common DIMENSION declaration
2509
 *
2510
 * flag 70: value & 31: 0-6 denote the type, + bitmask 32-128.
2511
 * 0: linear, 1: aligned, 2: ang2ln, 3: diameter, 4: radius
2512
 * 5: ang3pt, 6: ordinate.
2513
 * 32: block (2) used by this dimension only.
2514
 * 64: if set, ordinate is type X, else ordinate is type Y.
2515
 * 128: non-default dimension text location
2516
 */
2517
#define DIMENSION_COMMON                         \
2518
  struct _dwg_object_entity *parent;             \
2519
  BITCODE_RC class_version; /* R2010+ */         \
2520
  BITCODE_BE extrusion;                          \
2521
  BITCODE_3BD def_pt;                            \
2522
  BITCODE_2RD text_midpt;                        \
2523
  BITCODE_BD elevation;                          \
2524
  BITCODE_RC flag; /* calculated, DXF only 70 */ \
2525
  BITCODE_RC flag1; /* as in the DWG */          \
2526
  BITCODE_T user_text;                           \
2527
  BITCODE_BD text_rotation;                      \
2528
  BITCODE_BD horiz_dir;                          \
2529
  BITCODE_3BD_1 ins_scale;                       \
2530
  BITCODE_BD ins_rotation;                       \
2531
  BITCODE_BS attachment;                         \
2532
  BITCODE_BS lspace_style;                       \
2533
  BITCODE_BD lspace_factor;                      \
2534
  BITCODE_BD act_measurement;                    \
2535
  BITCODE_B unknown;                             \
2536
  BITCODE_B flip_arrow1;                         \
2537
  BITCODE_B flip_arrow2;                         \
2538
  BITCODE_2RD clone_ins_pt;                      \
2539
  BITCODE_H dimstyle;                            \
2540
  BITCODE_H block
2541
2542
typedef struct _dwg_DIMENSION_common
2543
{
2544
  DIMENSION_COMMON;
2545
} Dwg_DIMENSION_common;
2546
2547
/**
2548
 ordinate dimension - DIMENSION_ORDINATE (20) entity
2549
 */
2550
typedef struct _dwg_entity_DIMENSION_ORDINATE
2551
{
2552
  DIMENSION_COMMON;
2553
  BITCODE_3BD feature_location_pt;
2554
  BITCODE_3BD leader_endpt;
2555
  BITCODE_RC flag2; // use_x_axis
2556
} Dwg_Entity_DIMENSION_ORDINATE;
2557
2558
/**
2559
 linear dimension - DIMENSION_LINEAR (21/23) entity
2560
 */
2561
typedef struct _dwg_entity_DIMENSION_LINEAR
2562
{
2563
  DIMENSION_COMMON;
2564
  BITCODE_3BD xline1_pt;
2565
  BITCODE_3BD xline2_pt;
2566
  BITCODE_BD oblique_angle;
2567
  BITCODE_BD dim_rotation;
2568
} Dwg_Entity_DIMENSION_LINEAR;
2569
2570
/**
2571
 aligned dimension - DIMENSION_ALIGNED (22) entity
2572
 */
2573
typedef struct _dwg_entity_DIMENSION_ALIGNED
2574
{
2575
  DIMENSION_COMMON;
2576
  BITCODE_3BD xline1_pt;
2577
  BITCODE_3BD xline2_pt;
2578
  BITCODE_BD oblique_angle;
2579
} Dwg_Entity_DIMENSION_ALIGNED;
2580
2581
/**
2582
 angular 3pt dimension - DIMENSION_ANG3PT (23) entity
2583
 */
2584
typedef struct _dwg_entity_DIMENSION_ANG3PT
2585
{
2586
  DIMENSION_COMMON;
2587
  BITCODE_3BD xline1_pt;
2588
  BITCODE_3BD xline2_pt;
2589
  BITCODE_3BD center_pt;
2590
  BITCODE_3RD xline2end_pt; // preR13 only, DXF 16
2591
} Dwg_Entity_DIMENSION_ANG3PT;
2592
2593
/**
2594
 angular 2 line dimension - DIMENSION_ANG2LN (24) entity
2595
 */
2596
typedef struct _dwg_entity_DIMENSION_ANG2LN
2597
{
2598
  DIMENSION_COMMON;
2599
  BITCODE_3BD xline1start_pt;
2600
  BITCODE_3BD xline1end_pt;
2601
  BITCODE_3BD xline2start_pt;
2602
  BITCODE_3BD xline2end_pt;
2603
} Dwg_Entity_DIMENSION_ANG2LN;
2604
2605
/**
2606
 radius dimension - DIMENSION_RADIUS (25) entity
2607
 */
2608
typedef struct _dwg_entity_DIMENSION_RADIUS
2609
{
2610
  DIMENSION_COMMON;
2611
  BITCODE_3BD first_arc_pt; /*!< DXF 15 */
2612
  BITCODE_BD leader_len;    /*!< DXF 40 */
2613
} Dwg_Entity_DIMENSION_RADIUS;
2614
2615
/**
2616
 diameter dimension - DIMENSION_DIAMETER (26) entity
2617
 */
2618
typedef struct _dwg_entity_DIMENSION_DIAMETER
2619
{
2620
  DIMENSION_COMMON;             /* DXF 10 def_pt = = far_chord_pt */
2621
  BITCODE_3BD first_arc_pt;   /*!< DXF 15 */
2622
  BITCODE_BD leader_len;        /*!< DXF 40 */
2623
} Dwg_Entity_DIMENSION_DIAMETER;
2624
2625
/**
2626
 arc dimension - ARC_DIMENSION (varies) entity
2627
 */
2628
typedef struct _dwg_entity_ARC_DIMENSION
2629
{
2630
  DIMENSION_COMMON;
2631
  BITCODE_3BD xline1_pt;  /* DXF 13 */
2632
  BITCODE_3BD xline2_pt;  /* DXF 14 */
2633
  BITCODE_3BD center_pt;  /* DXF 15 */
2634
  BITCODE_B is_partial;   /* DXF 70 */
2635
  BITCODE_BD arc_start_param; /* DXF 40 */
2636
  BITCODE_BD arc_end_param; /* DXF 41 */
2637
  BITCODE_B has_leader;   /* DXF 71 */
2638
  BITCODE_3BD leader1_pt; /* DXF 16 */
2639
  BITCODE_3BD leader2_pt; /* DXF 17 */
2640
} Dwg_Entity_ARC_DIMENSION;
2641
2642
/**
2643
 jogged radius dimension - LARGE_RADIAL_DIMENSION (varies) entity
2644
 */
2645
typedef struct _dwg_entity_LARGE_RADIAL_DIMENSION
2646
{
2647
  DIMENSION_COMMON;
2648
  BITCODE_BD jog_angle;     /*!< DXF 40 */
2649
  BITCODE_3BD jog_pt;       /*!< DXF 13-33 */
2650
  BITCODE_3BD ovr_center;   /*!< DXF 14-34 Overridden center */
2651
  BITCODE_3BD chord_pt;     /*!< DXF 15-35 */
2652
} Dwg_Entity_LARGE_RADIAL_DIMENSION;
2653
2654
/**
2655
 Struct for:  POINT (27/2)
2656
 */
2657
typedef struct _dwg_entity_POINT
2658
{
2659
  struct _dwg_object_entity *parent;
2660
2661
  BITCODE_BD x;
2662
  BITCODE_BD y;
2663
  BITCODE_BD z;
2664
  BITCODE_BT thickness;
2665
  BITCODE_BE extrusion;
2666
  BITCODE_BD x_ang;
2667
} Dwg_Entity_POINT;
2668
2669
/**
2670
 Struct for:  3D FACE (28/22)
2671
 */
2672
typedef struct _dwg_entity_3DFACE
2673
{
2674
  struct _dwg_object_entity *parent;
2675
2676
  BITCODE_B has_no_flags;
2677
  BITCODE_B z_is_zero;
2678
  BITCODE_3BD corner1;
2679
  BITCODE_3BD corner2;
2680
  BITCODE_3BD corner3;
2681
  BITCODE_3BD corner4;
2682
  BITCODE_BS invis_flags;
2683
} Dwg_Entity__3DFACE;
2684
2685
/**
2686
 Struct for:  POLYLINE (PFACE) (29)
2687
 */
2688
typedef struct _dwg_entity_POLYLINE_PFACE
2689
{
2690
  COMMON_ENTITY_POLYLINE;
2691
2692
  BITCODE_BS flag;
2693
  BITCODE_BS numverts;
2694
  BITCODE_BS numfaces;
2695
} Dwg_Entity_POLYLINE_PFACE;
2696
2697
/**
2698
 Struct for:  POLYLINE (MESH) (30)
2699
 */
2700
typedef struct _dwg_entity_POLYLINE_MESH
2701
{
2702
  COMMON_ENTITY_POLYLINE;
2703
2704
  BITCODE_BS flag;
2705
  BITCODE_BS curve_type;
2706
  BITCODE_BS num_m_verts;
2707
  BITCODE_BS num_n_verts;
2708
  BITCODE_BS m_density;
2709
  BITCODE_BS n_density;
2710
} Dwg_Entity_POLYLINE_MESH;
2711
2712
/**
2713
 Struct for:  SOLID (31/11)
2714
 */
2715
2716
typedef struct _dwg_entity_SOLID
2717
{
2718
  struct _dwg_object_entity *parent;
2719
2720
  BITCODE_BT thickness;
2721
  BITCODE_BD elevation;
2722
  BITCODE_2RD corner1;
2723
  BITCODE_2RD corner2;
2724
  BITCODE_2RD corner3;
2725
  BITCODE_2RD corner4;
2726
  BITCODE_BE extrusion;
2727
} Dwg_Entity_SOLID;
2728
2729
/**
2730
 Struct for:  TRACE (32/9)
2731
 */
2732
2733
typedef struct _dwg_entity_TRACE
2734
{
2735
  struct _dwg_object_entity *parent;
2736
2737
  BITCODE_BT thickness;
2738
  BITCODE_BD elevation;
2739
  BITCODE_2RD corner1;
2740
  BITCODE_2RD corner2;
2741
  BITCODE_2RD corner3;
2742
  BITCODE_2RD corner4;
2743
  BITCODE_BE extrusion;
2744
} Dwg_Entity_TRACE;
2745
2746
/**
2747
 Struct for:  SHAPE (33/4)
2748
 */
2749
2750
typedef struct _dwg_entity_SHAPE
2751
{
2752
  struct _dwg_object_entity *parent;
2753
2754
  BITCODE_3BD ins_pt;  // DXF 10-30
2755
  BITCODE_BD scale;    // DXF 40
2756
  BITCODE_BD rotation; // DXF 50
2757
  BITCODE_BD width_factor; // DXF 41
2758
  BITCODE_BD oblique_angle;// DXF 51
2759
  BITCODE_BD thickness; // DXF 39
2760
  BITCODE_BS style_id;  // DXF 2, STYLE index in dwg to SHAPEFILE
2761
  BITCODE_BE extrusion; // DXF 210
2762
  BITCODE_H style;
2763
} Dwg_Entity_SHAPE;
2764
2765
/**
2766
 Struct for:  VIEWPORT ENTITY (34/24)
2767
 */
2768
2769
typedef struct _dwg_entity_VIEWPORT
2770
{
2771
  struct _dwg_object_entity *parent;
2772
2773
  BITCODE_3BD center;
2774
  BITCODE_BD width;
2775
  BITCODE_BD height;
2776
  BITCODE_RS on_off; /* DXF 68, -1 should be accepted also */
2777
  BITCODE_RS id;     /* DXF 69 */
2778
2779
  BITCODE_3BD view_target;
2780
  BITCODE_3BD VIEWDIR;
2781
  BITCODE_BD twist_angle;
2782
  BITCODE_BD VIEWSIZE; // the height
2783
  BITCODE_BD lens_length;
2784
  BITCODE_BD front_clip_z;
2785
  BITCODE_BD back_clip_z;
2786
  BITCODE_BD SNAPANG;
2787
  BITCODE_2RD VIEWCTR;
2788
  BITCODE_2RD SNAPBASE;
2789
  BITCODE_2RD SNAPUNIT;
2790
  BITCODE_2RD GRIDUNIT;
2791
  BITCODE_BS circle_zoom;
2792
  BITCODE_BS grid_major;
2793
  BITCODE_BL num_frozen_layers;
2794
  BITCODE_BL status_flag;
2795
  BITCODE_TV style_sheet;
2796
  BITCODE_RC render_mode;
2797
  BITCODE_B ucs_at_origin;
2798
  BITCODE_B UCSVP;
2799
  BITCODE_3BD ucsorg;
2800
  BITCODE_3BD ucsxdir;
2801
  BITCODE_3BD ucsydir;
2802
  BITCODE_BD ucs_elevation;
2803
  BITCODE_BS UCSORTHOVIEW;
2804
  BITCODE_BS shadeplot_mode;
2805
  BITCODE_B use_default_lights;
2806
  BITCODE_RC default_lighting_type;
2807
  BITCODE_BD brightness;
2808
  BITCODE_BD contrast;
2809
  BITCODE_CMC ambient_color;
2810
  BITCODE_H vport_entity_header;
2811
  BITCODE_H *frozen_layers;
2812
  BITCODE_H clip_boundary;
2813
  BITCODE_H named_ucs;
2814
  BITCODE_H base_ucs;
2815
  BITCODE_H background;
2816
  BITCODE_H visualstyle;
2817
  BITCODE_H shadeplot;
2818
  BITCODE_H sun;
2819
} Dwg_Entity_VIEWPORT;
2820
2821
/**
2822
 ELLIPSE (35) entity
2823
 */
2824
typedef struct _dwg_entity_ELLIPSE
2825
{
2826
  struct _dwg_object_entity *parent;
2827
2828
  BITCODE_3BD center;    /* DXF 10 */
2829
  BITCODE_3BD sm_axis;   /* DXF 11, major axis */
2830
  BITCODE_BE extrusion;  /* DXF 210, the normal */
2831
  BITCODE_BD axis_ratio; /* DXF 40, i.e RadiusRatio, minor radius / major radius */
2832
  BITCODE_BD start_angle;/* DXF 41, default 0 */
2833
  BITCODE_BD end_angle;  /* DXF 42, default 2*PI */
2834
} Dwg_Entity_ELLIPSE;
2835
2836
/**
2837
 spline - SPLINE (36) entity
2838
 */
2839
typedef struct _dwg_SPLINE_control_point
2840
{
2841
  struct _dwg_entity_SPLINE *parent;
2842
2843
  double x;
2844
  double y;
2845
  double z;
2846
  double w;
2847
} Dwg_SPLINE_control_point;
2848
2849
enum
2850
{
2851
  SPLINETYPE_QUADRATIC = 5, // degree==2
2852
  SPLINETYPE_CUBIC = 6,     // default. degree==3
2853
};
2854
enum
2855
{
2856
  SPLINE_SCENARIO_SPLINE = 1,
2857
  SPLINE_SCENARIO_BEZIER = 2,
2858
};
2859
enum
2860
{ /* 2013+ */
2861
  SPLINE_SPLINEFLAGS_METHOD_FIT_POINTS = 1,
2862
  SPLINE_SPLINEFLAGS_CV_FRAME_SHOW = 2,
2863
  SPLINE_SPLINEFLAGS_CLOSED = 4,
2864
};
2865
enum
2866
{ /* 2013+ */
2867
  SPLINE_KNOTPARAM_CHORD = 0,
2868
  SPLINE_KNOTPARAM_SQUARE_ROOT = 1,
2869
  SPLINE_KNOTPARAM_UNIFORM = 2,
2870
  SPLINE_KNOTPARAM_CUSTOM = 15
2871
};
2872
2873
typedef struct _dwg_entity_SPLINE
2874
{
2875
  struct _dwg_object_entity *parent;
2876
2877
  BITCODE_RS flag; /* computed */
2878
  BITCODE_BS scenario; /* 1 spline, 2 bezier */
2879
  BITCODE_BS degree;   /* 2 quadratic, 3 cubic */
2880
  BITCODE_BL splineflags; /* 2013+: method fit points = 1, CV frame show = 2, closed = 4 */
2881
  BITCODE_BL knotparam;   /* 2013+: Chord = 0, Square root = 1, Uniform = 2, Custom = 15 */
2882
  BITCODE_BD fit_tol;
2883
  BITCODE_3BD beg_tan_vec;
2884
  BITCODE_3BD end_tan_vec;
2885
  BITCODE_B closed_b; /* bit 0 of 70 */
2886
  BITCODE_B periodic; /* bit 1 of 70 */
2887
  BITCODE_B rational; /* bit 2 of 70 */
2888
  BITCODE_B weighted; /* bit 4 of 70 */
2889
  BITCODE_BD knot_tol;
2890
  BITCODE_BD ctrl_tol;
2891
  BITCODE_BS num_fit_pts;
2892
  BITCODE_3DPOINT* fit_pts;
2893
  BITCODE_BL num_knots;
2894
  BITCODE_BD* knots;
2895
  BITCODE_BL num_ctrl_pts;
2896
  Dwg_SPLINE_control_point* ctrl_pts;
2897
} Dwg_Entity_SPLINE;
2898
2899
/**
2900
 3DSOLID (38) entity
2901
 */
2902
0
#define Dwg_Entity_3DSOLID Dwg_Entity__3DSOLID
2903
typedef struct _dwg_3DSOLID_wire
2904
{
2905
  struct _dwg_entity_3DSOLID *parent;
2906
  BITCODE_RC type;
2907
  BITCODE_BLd selection_marker;
2908
  BITCODE_BL color;
2909
  BITCODE_BLd acis_index;
2910
  BITCODE_BL num_points;
2911
  BITCODE_3BD* points;
2912
  BITCODE_B transform_present;
2913
  BITCODE_3BD axis_x;
2914
  BITCODE_3BD axis_y;
2915
  BITCODE_3BD axis_z;
2916
  BITCODE_3BD translation;
2917
  BITCODE_3BD scale;
2918
  BITCODE_B has_rotation;
2919
  BITCODE_B has_reflection;
2920
  BITCODE_B has_shear;
2921
} Dwg_3DSOLID_wire;
2922
2923
typedef struct _dwg_3DSOLID_silhouette
2924
{
2925
  struct _dwg_entity_3DSOLID *parent;
2926
  BITCODE_BL vp_id;
2927
  BITCODE_3BD vp_target;
2928
  BITCODE_3BD vp_dir_from_target;
2929
  BITCODE_3BD vp_up_dir;
2930
  BITCODE_B vp_perspective;
2931
  BITCODE_B has_wires;
2932
  BITCODE_BL num_wires;
2933
  Dwg_3DSOLID_wire * wires;
2934
} Dwg_3DSOLID_silhouette;
2935
2936
typedef struct _dwg_3DSOLID_material
2937
{
2938
  struct _dwg_entity_3DSOLID *parent;
2939
  BITCODE_BL array_index;
2940
  BITCODE_BL mat_absref;
2941
  BITCODE_H  material_handle; /* code 5 */
2942
} Dwg_3DSOLID_material;
2943
2944
#define _3DSOLID_FIELDS                                                 \
2945
  BITCODE_B acis_empty;                                                 \
2946
  BITCODE_B unknown;                                                    \
2947
  BITCODE_BS version;                                                   \
2948
  BITCODE_BL num_blocks;                                                \
2949
  BITCODE_BL* block_size;                                               \
2950
  char** encr_sat_data;                                                 \
2951
  BITCODE_BL sab_size;                                                  \
2952
  BITCODE_RC* acis_data; /* The decrypted SAT v1 or the SAB v2 stream */ \
2953
  BITCODE_B wireframe_data_present;                                     \
2954
  BITCODE_B point_present;                                              \
2955
  BITCODE_3BD point;                                                    \
2956
  BITCODE_BL isolines; /* i.e. wires */                                 \
2957
  BITCODE_B isoline_present; /* ie. has_wires */                        \
2958
  BITCODE_BL num_wires;                                                 \
2959
  Dwg_3DSOLID_wire * wires;                                             \
2960
  BITCODE_BL num_silhouettes;                                           \
2961
  Dwg_3DSOLID_silhouette * silhouettes;                                 \
2962
  BITCODE_B _dxf_sab_converted;  /* internally calculated */            \
2963
  BITCODE_B acis_empty2;                                                \
2964
  struct _dwg_entity_3DSOLID* extra_acis_data;                          \
2965
  BITCODE_BL num_materials;                                             \
2966
  Dwg_3DSOLID_material *materials;                                      \
2967
  BITCODE_RC revision_guid[39];                                         \
2968
  BITCODE_BL revision_major;                                            \
2969
  BITCODE_BS revision_minor1;                                           \
2970
  BITCODE_BS revision_minor2;                                           \
2971
  BITCODE_RC revision_bytes[9];                                         \
2972
  BITCODE_BL end_marker;                                                \
2973
  BITCODE_H history_id;                                                 \
2974
  BITCODE_B has_revision_guid;                                          \
2975
  BITCODE_B acis_empty_bit
2976
2977
typedef struct _dwg_entity_3DSOLID
2978
{
2979
  struct _dwg_object_entity *parent;
2980
  _3DSOLID_FIELDS;
2981
#if 0
2982
  BITCODE_B acis_empty;  /*!< no DXF */
2983
  BITCODE_B unknown;
2984
  BITCODE_BS version;    /*!< DXF 70 Modeler format version =1*/
2985
  BITCODE_BL num_blocks;
2986
  BITCODE_BL* block_size;
2987
  char** encr_sat_data;       /*!< DXF 1, the encrypted SAT data */
2988
  BITCODE_RC*  acis_data;     /*!< decrypted SAT data */
2989
  BITCODE_B wireframe_data_present;
2990
  BITCODE_B point_present;
2991
  BITCODE_3BD point;
2992
  BITCODE_BL num_isolines;
2993
  BITCODE_B isoline_present;
2994
  BITCODE_BL num_wires;
2995
  Dwg_3DSOLID_wire * wires;
2996
  BITCODE_BL num_silhouettes;
2997
  Dwg_3DSOLID_silhouette * silhouettes;
2998
  BITCODE_B acis_empty2;
2999
  struct _dwg_entity_3DSOLID* extra_acis_data;/* is it the best approach? */
3000
  BITCODE_BL unknown_2007;
3001
  BITCODE_H history_id;
3002
  BITCODE_B acis_empty_bit;
3003
#endif
3004
} Dwg_Entity__3DSOLID;
3005
3006
/**
3007
 REGION (37) entity
3008
 */
3009
typedef Dwg_Entity__3DSOLID Dwg_Entity_REGION;
3010
3011
/**
3012
 BODY (39) entity
3013
 */
3014
typedef Dwg_Entity__3DSOLID Dwg_Entity_BODY;
3015
3016
/**
3017
 ray - RAY (40) entity
3018
 */
3019
typedef struct _dwg_entity_RAY
3020
{
3021
  struct _dwg_object_entity *parent;
3022
3023
  BITCODE_3BD point;   /*!< DXF 10 */
3024
  BITCODE_3BD vector;  /*!< DXF 11 */
3025
} Dwg_Entity_RAY;
3026
3027
/**
3028
 XLINE (41) entity
3029
 */
3030
typedef Dwg_Entity_RAY Dwg_Entity_XLINE;
3031
3032
/**
3033
 DICTIONARY (42)
3034
 This structure is used for all the new tables.
3035
 Beware: Keep same offsets as DICTIONARYWDFLT
3036
 */
3037
typedef struct _dwg_object_DICTIONARY
3038
{
3039
  struct _dwg_object_object *parent;
3040
3041
  BITCODE_BL numitems;    /*!< no DXF */
3042
  BITCODE_RC is_hardowner;/*!< DXF 280 */
3043
  BITCODE_BS cloning;     /*!< DXF 281, ie merge_style */
3044
  BITCODE_T* texts;       /*!< DXF 3 */
3045
  BITCODE_H* itemhandles; /*!< DXF 350/360, pairwise with texts */
3046
} Dwg_Object_DICTIONARY;
3047
3048
/**
3049
 Class DICTIONARYWDFLT (varies)
3050
 */
3051
typedef struct _dwg_object_DICTIONARYWDFLT
3052
{
3053
  struct _dwg_object_object *parent;
3054
3055
  BITCODE_BL numitems;    /*!< no DXF */
3056
  BITCODE_RC is_hardowner;/*!< DXF 280 */
3057
  BITCODE_BS cloning;     /*!< DXF 281, ie merge_style */
3058
  BITCODE_T* texts;       /*!< DXF 3 */
3059
  BITCODE_H* itemhandles; /*!< DXF 350/360, pairwise with texts */
3060
3061
  BITCODE_H defaultid;
3062
} Dwg_Object_DICTIONARYWDFLT;
3063
3064
/**
3065
 OLEFRAME (43) entity
3066
 (replaced by OLE2FRAME (74) later)
3067
 */
3068
typedef struct _dwg_entity_OLEFRAME
3069
{
3070
  struct _dwg_object_entity *parent;
3071
3072
  BITCODE_BS flag;
3073
  BITCODE_BS mode;
3074
  BITCODE_BL data_size;
3075
  BITCODE_TF data;
3076
} Dwg_Entity_OLEFRAME;
3077
3078
/**
3079
 MTEXT (44) entity
3080
 */
3081
typedef struct _dwg_entity_MTEXT
3082
{
3083
  struct _dwg_object_entity *parent;
3084
3085
  BITCODE_3BD ins_pt;    /*!< DXF 10 */
3086
  BITCODE_BE extrusion;    /*!< DXF 210 */
3087
  BITCODE_3BD x_axis_dir;  /*!< DXF 11, defines the rotation */
3088
  BITCODE_BD rect_height;  /*!< no DXF */
3089
  BITCODE_BD rect_width;   /*!< DXF 41 */
3090
  BITCODE_BD text_height;  /*!< DXF 40 >= 0.0 */
3091
  BITCODE_BS attachment;   /*!< DXF 71.
3092
                             1 = Top left, 2 = Top center, 3 = Top
3093
                             right, 4 = Middle left, 5 = Middle
3094
                             center, 6 = Middle right, 7 = Bottom
3095
                             left, 8 = Bottom center, 9 = Bottom
3096
                             right */
3097
  BITCODE_BS flow_dir;     /*!< DXF 72.
3098
                              1 = Left to right, 3 = Top to bottom,
3099
                              5 = By style (the flow direction is inherited
3100
                              from the associated text style) */
3101
  BITCODE_BD extents_width;  /*!< DXF 42 */
3102
  BITCODE_BD extents_height; /*!< DXF 43 the actual height */
3103
  BITCODE_T text;           /*!< DXF 1 */
3104
  BITCODE_H style;           /*!< DXF 7 */
3105
  BITCODE_BS linespace_style; /*!< DXF 73. r2000+ */
3106
  BITCODE_BD linespace_factor;/*!< DXF 44. r2000+. Mtext line spacing factor (optional):
3107
                               Percentage of default (3-on-5) line spacing to
3108
                               be applied. Valid values range from 0.25 to 4.00 */
3109
  BITCODE_B unknown_b0;      // always 0
3110
  BITCODE_BL bg_fill_flag;   /*!< DXF 90. r2004+
3111
                               0 = Background fill off,
3112
                               1 = Use background fill color,
3113
                               2 = Use drawing window color as background fill color.
3114
                              16 = textframe (r2018+) */
3115
  BITCODE_BL bg_fill_scale;  /*!< DXF 45. r2004+
3116
                               margin around the text. */
3117
  BITCODE_CMC bg_fill_color; /*!< DXF 63. r2004+. on bg_fill_flag==1 */
3118
  BITCODE_BL bg_fill_trans;  /*!< DXF 441. r2004+. unused */
3119
  BITCODE_B is_not_annotative;   /*!< r2018+: */
3120
  BITCODE_BS class_version;      /*!< always 0 */
3121
  BITCODE_B default_flag;        /*!< DXF 70. default true */
3122
  BITCODE_H appid;
3123
  BITCODE_BL ignore_attachment;  /*!< redundant copy, not BS */
3124
  BITCODE_BS column_type;        /*!< DXF 71 0: none, 1: static, 2: dynamic. */
3125
  BITCODE_BL numfragments;       /*!< DXF 72 if static */
3126
  BITCODE_BD column_width;       /*!< DXF 44 */
3127
  BITCODE_BD gutter;             /*!< DXF 45 */
3128
  BITCODE_B auto_height;         /*!< DXF 73 */
3129
  BITCODE_B flow_reversed;       /*!< DXF 74 */
3130
  BITCODE_BL num_column_heights; /*!< DXF 72 if dynamic and not auto_height */
3131
  BITCODE_BD *column_heights;    /*!< DXF 46 */
3132
} Dwg_Entity_MTEXT;
3133
3134
/**
3135
 LEADER (45) entity
3136
 */
3137
typedef struct _dwg_entity_LEADER
3138
{
3139
  struct _dwg_object_entity *parent;
3140
3141
  BITCODE_B unknown_bit_1;  /* always seems to be zero */
3142
  BITCODE_BS path_type;     /*< DXF(72) 0: line, 1: spline (oda bug) */
3143
  BITCODE_BS annot_type;    /*< DXF(73) 0: text, 1: tol, 2: insert, 3 (def): none */
3144
  BITCODE_BL num_points;    /*< DXF(76) */
3145
  BITCODE_3DPOINT* points;  /*< DXF(10) */
3146
  BITCODE_3DPOINT origin;
3147
  BITCODE_BE extrusion;
3148
  BITCODE_3DPOINT x_direction;  /*< DXF(211) */
3149
  BITCODE_3DPOINT inspt_offset; /*< DXF(212) */
3150
  BITCODE_3DPOINT endptproj; /* DXF(213) R_13c3-R_2007 */
3151
  BITCODE_BD dimgap;         /* R_13-R_14 only */
3152
  BITCODE_BD box_height;     /*< DXF(40) */
3153
  BITCODE_BD box_width;      /*< DXF(41) */
3154
  BITCODE_B hookline_dir;    /* if hook line is on x direction */
3155
  BITCODE_B hookline_on;     /*< DXF(75) computed from arrowhead_type & 8 */
3156
  BITCODE_B arrowhead_on;
3157
  BITCODE_BS arrowhead_type;
3158
  BITCODE_BD dimasz;
3159
  BITCODE_B unknown_bit_2;
3160
  BITCODE_B unknown_bit_3;
3161
  BITCODE_BS unknown_short_1;
3162
  BITCODE_BS byblock_color;
3163
  BITCODE_B unknown_bit_4;
3164
  BITCODE_B unknown_bit_5;
3165
  BITCODE_H associated_annotation; /* DXF 340 Hard reference to associated annotation (mtext, tolerance, or insert entity) */
3166
  BITCODE_H dimstyle;
3167
} Dwg_Entity_LEADER;
3168
3169
/**
3170
 TOLERANCE (46) entity
3171
 See https://docs.intellicad.org/files/oda/2021_11/oda_drawings_docs/db_fcf.html
3172
 for special {\F symbols in the text_value
3173
 */
3174
typedef struct _dwg_entity_TOLERANCE
3175
{
3176
  struct _dwg_object_entity *parent;
3177
3178
  BITCODE_BS unknown_short;
3179
  BITCODE_BD height;
3180
  BITCODE_BD dimgap;
3181
  BITCODE_3BD ins_pt;
3182
  BITCODE_3BD x_direction;
3183
  BITCODE_BE extrusion;
3184
  BITCODE_T text_value;
3185
  BITCODE_H dimstyle;
3186
} Dwg_Entity_TOLERANCE;
3187
3188
/**
3189
 MLINE (47) entity
3190
 */
3191
typedef struct _dwg_MLINE_line
3192
{
3193
  struct _dwg_MLINE_vertex *parent;
3194
  BITCODE_BS num_segparms;
3195
  BITCODE_BD * segparms;
3196
  BITCODE_BS num_areafillparms;
3197
  BITCODE_BD* areafillparms;
3198
} Dwg_MLINE_line;
3199
3200
typedef struct _dwg_MLINE_vertex
3201
{
3202
  struct _dwg_entity_MLINE *parent;
3203
  BITCODE_3BD vertex;
3204
  BITCODE_3BD vertex_direction;
3205
  BITCODE_3BD miter_direction;
3206
  BITCODE_RC num_lines;
3207
  Dwg_MLINE_line* lines;
3208
} Dwg_MLINE_vertex;
3209
3210
typedef struct _dwg_entity_MLINE
3211
{
3212
  struct _dwg_object_entity *parent;
3213
3214
  BITCODE_BD scale;
3215
  BITCODE_RC justification;
3216
  BITCODE_3BD base_point;
3217
  BITCODE_BE extrusion;
3218
  BITCODE_BS flags;
3219
  BITCODE_RC num_lines; /* Linesinstyle */
3220
  BITCODE_BS num_verts;
3221
  Dwg_MLINE_vertex* verts;
3222
  BITCODE_H mlinestyle;
3223
} Dwg_Entity_MLINE;
3224
3225
#define COMMON_TABLE_CONTROL_FIELDS  \
3226
  struct _dwg_object_object *parent; \
3227
  BITCODE_BS num_entries;            \
3228
  BITCODE_H* entries;                \
3229
  BITCODE_RS flags_r11
3230
3231
// table entries may be imported from xref's
3232
3233
#define COMMON_TABLE_FIELDS               \
3234
  struct _dwg_object_object *parent;      \
3235
  BITCODE_RC flag;                        \
3236
  BITCODE_T  name;                        \
3237
  BITCODE_RSd used;                       \
3238
  /* may be referenced by xref: */        \
3239
  BITCODE_B  is_xref_ref;                 \
3240
  /* is a xref reference: */              \
3241
  BITCODE_BS is_xref_resolved; /* 0 or 256 */ \
3242
  /* is dependent on xref: */             \
3243
  BITCODE_B  is_xref_dep;                 \
3244
  BITCODE_H  xref
3245
3246
/**
3247
 BLOCK_CONTROL (48) object, table header
3248
 */
3249
typedef struct _dwg_object_BLOCK_CONTROL
3250
{
3251
  COMMON_TABLE_CONTROL_FIELDS;
3252
  BITCODE_H model_space;
3253
  BITCODE_H paper_space;
3254
} Dwg_Object_BLOCK_CONTROL;
3255
3256
/**
3257
 BLOCK_HEADER (49/T1) object, table entry
3258
 */
3259
typedef struct _dwg_object_BLOCK_HEADER
3260
{
3261
  COMMON_TABLE_FIELDS;
3262
  BITCODE_BL __iterator;
3263
  BITCODE_B anonymous;    /* flag 70 bit 1 */
3264
  BITCODE_B hasattrs;     /* flag 70 bit 2 */
3265
  BITCODE_B blkisxref;    /* flag 70 bit 3 */
3266
  BITCODE_B xrefoverlaid; /* flag 70 bit 4 */
3267
  BITCODE_B xref_loaded;  /* flag 70 bit 6 */
3268
  BITCODE_BL num_owned;
3269
  BITCODE_3DPOINT base_pt;
3270
  BITCODE_TV xref_pname;
3271
  BITCODE_RL num_inserts;
3272
  BITCODE_TV description;
3273
  BITCODE_BL preview_size; /* no DXF. BLL? */
3274
  BITCODE_TF preview;      /* DXF 310. Called PreviewIcon */
3275
  BITCODE_BS insert_units;
3276
  BITCODE_B explodable;
3277
  BITCODE_RC block_scaling;
3278
  BITCODE_H block_entity;
3279
  BITCODE_H first_entity;
3280
  BITCODE_H last_entity;
3281
  BITCODE_H* entities;
3282
  BITCODE_H endblk_entity;
3283
  BITCODE_H* inserts;
3284
  BITCODE_H layout;
3285
  BITCODE_RS flag2;       /* preR13 */
3286
  BITCODE_RC unknown_r11;
3287
  BITCODE_RL block_offset_r11;
3288
} Dwg_Object_BLOCK_HEADER;
3289
3290
/**
3291
 LAYER_CONTROL (50) object, table header
3292
 */
3293
typedef struct _dwg_object_LAYER_CONTROL
3294
{
3295
  COMMON_TABLE_CONTROL_FIELDS;
3296
} Dwg_Object_LAYER_CONTROL;
3297
3298
/**
3299
 LAYER (51/T2) object, table entry
3300
 */
3301
typedef struct _dwg_object_LAYER
3302
{
3303
  /*<! flag0 DWG r2000+
3304
     1:  frozen
3305
     2:  off
3306
     4:  frozen_in_new
3307
     8:  locked
3308
     16: plotflag
3309
     bits 6-10: linewt
3310
 */
3311
  COMMON_TABLE_FIELDS;
3312
  BITCODE_BS flag0;       /* The DWG variant of 70, flag is for DXF */
3313
  BITCODE_B frozen;
3314
  BITCODE_B off;
3315
  BITCODE_B frozen_in_new;
3316
  BITCODE_B locked;
3317
  BITCODE_B plotflag;     /* DXF 290 (optional) */
3318
  BITCODE_RC linewt;
3319
  BITCODE_CMC color;
3320
  BITCODE_H plotstyle;    /* DXF 390 */
3321
  BITCODE_H material;     /* DXF 347 */
3322
  BITCODE_H ltype;        /* DXF 6 */
3323
  BITCODE_H visualstyle;  /* DXF 348 */
3324
} Dwg_Object_LAYER;
3325
3326
/**
3327
 STYLE_CONTROL (52) object, table header
3328
 */
3329
typedef struct _dwg_object_STYLE_CONTROL
3330
{
3331
  COMMON_TABLE_CONTROL_FIELDS;
3332
} Dwg_Object_STYLE_CONTROL;
3333
3334
/**
3335
 STYLE (53/T3) object, table entry.
3336
 TextStyleTableRecord. Some call it SHAPEFILE.
3337
 */
3338
typedef struct _dwg_object_STYLE
3339
{
3340
  /*<! flag DXF 70:
3341
     1:  is_vertical
3342
     2:  is_upsidedown
3343
     4:  is_shape
3344
     8:  underlined
3345
     16: overlined (0x10)
3346
     32: is_shx
3347
     64: pre_loaded (0x40)
3348
    128: is_backward (0x80)
3349
    256: shape_loaded (0x100)
3350
    512: is_striked (0x200)
3351
 */
3352
  COMMON_TABLE_FIELDS;
3353
  BITCODE_B is_shape;
3354
  BITCODE_B is_vertical;
3355
  BITCODE_BD text_size;
3356
  BITCODE_BD width_factor;
3357
  BITCODE_BD oblique_angle;
3358
  BITCODE_RC generation;
3359
  BITCODE_BD last_height;
3360
  BITCODE_T font_file;
3361
  BITCODE_T bigfont_file;
3362
} Dwg_Object_STYLE;
3363
3364
/* 54 and 55 are UNKNOWN OBJECTS */
3365
3366
/**
3367
 LTYPE_CONTROL (56) object, table header
3368
 */
3369
typedef struct _dwg_object_LTYPE_CONTROL
3370
{
3371
  COMMON_TABLE_CONTROL_FIELDS;
3372
  BITCODE_H bylayer;
3373
  BITCODE_H byblock;
3374
} Dwg_Object_LTYPE_CONTROL;
3375
3376
/**
3377
 LTYPE (57/T4) object, table entry
3378
 */
3379
3380
typedef struct _dwg_LTYPE_dash {
3381
  struct _dwg_object_LTYPE *parent;
3382
  BITCODE_BD length;
3383
  BITCODE_BS complex_shapecode; /* on shape_flag 2: shape number.
3384
                                   4: index into strings_area. */
3385
  BITCODE_H style;
3386
  BITCODE_RD x_offset;
3387
  BITCODE_RD y_offset;
3388
  BITCODE_BD scale;
3389
  BITCODE_BD rotation;
3390
  BITCODE_BS shape_flag; /* 1: text rotated 0, 2: complex_shapecode is index,
3391
                            4: complex_shapecode is index into strings_area. */
3392
  BITCODE_T  text;       /* DXF 9, only if shape_flag & 2. e.g. GAS_LINE */
3393
} Dwg_LTYPE_dash;
3394
3395
typedef struct _dwg_object_LTYPE
3396
{
3397
  COMMON_TABLE_FIELDS;
3398
  BITCODE_TV description;
3399
  BITCODE_BD pattern_len;
3400
  BITCODE_RC alignment;
3401
  BITCODE_RC numdashes; // can be 0 in r11, even with 12 entries
3402
  // could be made a union if we care
3403
  Dwg_LTYPE_dash* dashes;
3404
  BITCODE_RD dashes_r11[12];
3405
  BITCODE_B has_strings_area; /* if some shape_flag & 4 (ODA bug) */
3406
  BITCODE_TF strings_area; /* 256 or 512 byte since r2007 */
3407
  BITCODE_RC unknown_r11;
3408
} Dwg_Object_LTYPE;
3409
3410
/* 58 and 59 are UNKNOWN OBJECTS */
3411
3412
/**
3413
 VIEW_CONTROL (60) object, table header
3414
 */
3415
typedef struct _dwg_object_VIEW_CONTROL
3416
{
3417
  COMMON_TABLE_CONTROL_FIELDS;
3418
} Dwg_Object_VIEW_CONTROL;
3419
3420
/**
3421
 VIEW (61/T5) object, table entry
3422
 */
3423
typedef struct _dwg_object_VIEW
3424
{
3425
  COMMON_TABLE_FIELDS;
3426
  // AbstractViewTableRecord
3427
  BITCODE_BD VIEWSIZE;
3428
  BITCODE_BD view_width;
3429
  BITCODE_BD aspect_ratio;
3430
  // ViInfo
3431
  BITCODE_2RD VIEWCTR;
3432
  BITCODE_3BD view_target;
3433
  BITCODE_3BD VIEWDIR;
3434
  BITCODE_BD twist_angle;
3435
  BITCODE_BD lens_length;
3436
  BITCODE_BD front_clip_z;
3437
  BITCODE_BD back_clip_z;
3438
  BITCODE_4BITS VIEWMODE; // DXF 71. 0: perspective, 1: front_clip_on, 2: back_clip_on, 3: front_clip_at_eye_on
3439
  BITCODE_RC render_mode;
3440
  BITCODE_B use_default_lights;
3441
  BITCODE_RC default_lightning_type;
3442
  BITCODE_BD brightness;
3443
  BITCODE_BD contrast;
3444
  BITCODE_CMC ambient_color;
3445
  // ViewTableRecord
3446
  BITCODE_B is_pspace;
3447
  BITCODE_B associated_ucs;
3448
  BITCODE_3BD ucsorg;
3449
  BITCODE_3BD ucsxdir;
3450
  BITCODE_3BD ucsydir;
3451
  BITCODE_BD ucs_elevation;
3452
  BITCODE_BS UCSORTHOVIEW;
3453
  BITCODE_B is_camera_plottable;
3454
  BITCODE_H background;
3455
  BITCODE_H visualstyle;
3456
  BITCODE_H sun;
3457
  BITCODE_H base_ucs;
3458
  BITCODE_H named_ucs;
3459
  BITCODE_H livesection;
3460
  BITCODE_RS flag_3d;
3461
  BITCODE_RC unknown_r2;
3462
  BITCODE_RC unknown_r11;
3463
} Dwg_Object_VIEW;
3464
3465
/**
3466
 UCS_CONTROL (62) object, table header
3467
 */
3468
typedef struct _dwg_object_UCS_CONTROL
3469
{
3470
  COMMON_TABLE_CONTROL_FIELDS;
3471
} Dwg_Object_UCS_CONTROL;
3472
3473
/**
3474
 UCS (63/T6) object, table entry
3475
 */
3476
typedef struct _dwg_UCS_orthopts
3477
{
3478
  struct _dwg_object_UCS *parent;
3479
  BITCODE_BS  type; // 71
3480
  BITCODE_3BD pt;   // 13
3481
} Dwg_UCS_orthopts;
3482
3483
typedef struct _dwg_object_UCS
3484
{
3485
  COMMON_TABLE_FIELDS;
3486
  BITCODE_3BD ucsorg;
3487
  BITCODE_3BD ucsxdir;
3488
  BITCODE_3BD ucsydir;
3489
  BITCODE_BD ucs_elevation;
3490
  BITCODE_BS UCSORTHOVIEW;
3491
  BITCODE_H base_ucs;
3492
  BITCODE_H named_ucs;
3493
  BITCODE_BS num_orthopts; // missing in ODA docs
3494
  Dwg_UCS_orthopts *orthopts;
3495
} Dwg_Object_UCS;
3496
3497
/**
3498
 VPORT_CONTROL (64) object, table header
3499
 */
3500
typedef struct _dwg_object_VPORT_CONTROL
3501
{
3502
  COMMON_TABLE_CONTROL_FIELDS;
3503
} Dwg_Object_VPORT_CONTROL;
3504
3505
/**
3506
 VPORT (65/T7) object, table entry
3507
 */
3508
typedef struct _dwg_object_VPORT
3509
{
3510
  COMMON_TABLE_FIELDS;
3511
  // AbstractViewTableRecord
3512
  BITCODE_BD VIEWSIZE;     // really the view height
3513
  BITCODE_BD view_width;   // in DWG r13+, needed to calc. aspect_ratio
3514
  BITCODE_BD aspect_ratio; // DXF 41 = view_width / VIEWSIZE
3515
  // ViInfo
3516
  BITCODE_2RD VIEWCTR;
3517
  BITCODE_3BD view_target;
3518
  BITCODE_3BD VIEWDIR;
3519
  BITCODE_BD view_twist;
3520
  BITCODE_BD lens_length;
3521
  BITCODE_BD front_clip_z;
3522
  BITCODE_BD back_clip_z;
3523
  BITCODE_4BITS VIEWMODE;
3524
  BITCODE_RC render_mode;
3525
  BITCODE_B use_default_lights;
3526
  BITCODE_RC default_lightning_type;
3527
  BITCODE_BD brightness;
3528
  BITCODE_BD contrast;
3529
  BITCODE_CMC ambient_color;
3530
  // ViewportTableRecord
3531
  BITCODE_2RD lower_left;
3532
  BITCODE_2RD upper_right;
3533
  BITCODE_B UCSFOLLOW;
3534
  BITCODE_BS circle_zoom; /* circle sides: nr of tessellations */
3535
  BITCODE_B FASTZOOM;
3536
  BITCODE_RC UCSICON;     /* DXF 74:  0: icon_on, 1: icon_at_ucsorg */
3537
  BITCODE_B GRIDMODE;     /* DXF 76: on or off */
3538
  BITCODE_2RD GRIDUNIT;
3539
  BITCODE_B SNAPMODE;     /* DXF 75: on or off */
3540
  BITCODE_B SNAPSTYLE;
3541
  BITCODE_BS SNAPISOPAIR;
3542
  BITCODE_BD SNAPANG;
3543
  BITCODE_2RD SNAPBASE;
3544
  BITCODE_2RD SNAPUNIT;
3545
  BITCODE_B ucs_at_origin;
3546
  BITCODE_B UCSVP;
3547
  BITCODE_3BD ucsorg;
3548
  BITCODE_3BD ucsxdir;
3549
  BITCODE_3BD ucsydir;
3550
  BITCODE_BD ucs_elevation;
3551
  BITCODE_BS UCSORTHOVIEW;
3552
  BITCODE_BS grid_flags; /* bit 1: bound to limits, bit 2: adaptive */
3553
  BITCODE_BS grid_major;
3554
  BITCODE_H background;
3555
  BITCODE_H visualstyle;
3556
  BITCODE_H sun;
3557
  BITCODE_H named_ucs;
3558
  BITCODE_H base_ucs;
3559
} Dwg_Object_VPORT;
3560
3561
/**
3562
 APPID_CONTROL (66) object
3563
 The table header of all registered applications
3564
 */
3565
typedef struct _dwg_object_APPID_CONTROL
3566
{
3567
  COMMON_TABLE_CONTROL_FIELDS;
3568
} Dwg_Object_APPID_CONTROL;
3569
3570
/**
3571
 APPID (67/T8) object
3572
 The table entry of a registered application
3573
 */
3574
typedef struct _dwg_object_APPID
3575
{
3576
  COMMON_TABLE_FIELDS;
3577
  BITCODE_RC unknown; // TODO needed?
3578
} Dwg_Object_APPID;
3579
3580
/**
3581
 DIMSTYLE_CONTROL (68) object
3582
 The table header of all dimension styles
3583
 */
3584
typedef struct _dwg_object_DIMSTYLE_CONTROL
3585
{
3586
  COMMON_TABLE_CONTROL_FIELDS;
3587
  BITCODE_RC num_morehandles; /* DXF 71 undocumented */
3588
  BITCODE_H* morehandles;     /* DXF 340 */
3589
} Dwg_Object_DIMSTYLE_CONTROL;
3590
3591
/**
3592
 DIMSTYLE (69/T9) object, table entry
3593
 */
3594
typedef struct _dwg_object_DIMSTYLE
3595
{
3596
  COMMON_TABLE_FIELDS;
3597
  BITCODE_B DIMTOL;
3598
  BITCODE_B DIMLIM;
3599
  BITCODE_B DIMTIH;
3600
  BITCODE_B DIMTOH;
3601
  BITCODE_B DIMSE1;
3602
  BITCODE_B DIMSE2;
3603
  BITCODE_B DIMALT;
3604
  BITCODE_B DIMTOFL;
3605
  BITCODE_B DIMSAH;
3606
  BITCODE_B DIMTIX;
3607
  BITCODE_B DIMSOXD;
3608
  BITCODE_BS DIMALTD;   /*!< r13-r14 only RC */
3609
  BITCODE_BS DIMZIN;    /*!< r13-r14 only RC */
3610
  BITCODE_B DIMSD1;
3611
  BITCODE_B DIMSD2;
3612
  BITCODE_BS DIMTOLJ;   /*!< r13-r14 only RC */
3613
  BITCODE_BS DIMJUST;   /*!< r13-r14 only RC */
3614
  BITCODE_BS DIMFIT;    /*!< r13-r14 only RC */
3615
  BITCODE_B DIMUPT;
3616
  BITCODE_BS DIMTZIN;   /*!< r13-r14 only RC */
3617
  BITCODE_BS DIMALTZ;   /*!< r13-r14 only RC */
3618
  BITCODE_BS DIMALTTZ;  /*!< r13-r14 only RC */
3619
  BITCODE_BS DIMTAD;    /*!< r13-r14 only RC */
3620
  BITCODE_BS DIMUNIT;
3621
  BITCODE_BS DIMAUNIT;
3622
  BITCODE_BS DIMDEC;
3623
  BITCODE_BS DIMTDEC;
3624
  BITCODE_BS DIMALTU;
3625
  BITCODE_BS DIMALTTD;
3626
  /* BITCODE_H DIMTXSTY; */
3627
  BITCODE_BD DIMSCALE;
3628
  BITCODE_BD DIMASZ;
3629
  BITCODE_BD DIMEXO;
3630
  BITCODE_BD DIMDLI;
3631
  BITCODE_BD DIMEXE;
3632
  BITCODE_BD DIMRND;
3633
  BITCODE_BD DIMDLE;
3634
  BITCODE_BD DIMTP;
3635
  BITCODE_BD DIMTM;
3636
  BITCODE_BD DIMFXL;
3637
  BITCODE_BD DIMJOGANG;
3638
  BITCODE_BS DIMTFILL;
3639
  BITCODE_CMC DIMTFILLCLR;
3640
  BITCODE_BS DIMAZIN;
3641
  BITCODE_BS DIMARCSYM;
3642
  BITCODE_BD DIMTXT;
3643
  BITCODE_BD DIMCEN;
3644
  BITCODE_BD DIMTSZ;
3645
  BITCODE_BD DIMALTF;
3646
  BITCODE_BD DIMLFAC;
3647
  BITCODE_BD DIMTVP;
3648
  BITCODE_BD DIMTFAC;
3649
  BITCODE_BD DIMGAP;
3650
  BITCODE_T DIMPOST;
3651
  BITCODE_T DIMAPOST;
3652
  BITCODE_T DIMBLK_T;
3653
  BITCODE_T DIMBLK1_T;
3654
  BITCODE_T DIMBLK2_T;
3655
  BITCODE_BD DIMALTRND;
3656
  BITCODE_RS DIMCLRD_N; /* preR13 */
3657
  BITCODE_RS DIMCLRE_N; /* preR13 */
3658
  BITCODE_RS DIMCLRT_N; /* preR13 */
3659
  BITCODE_CMC DIMCLRD;
3660
  BITCODE_CMC DIMCLRE;
3661
  BITCODE_CMC DIMCLRT;
3662
  BITCODE_BS DIMADEC;
3663
  BITCODE_BS DIMFRAC;
3664
  BITCODE_BS DIMLUNIT;
3665
  BITCODE_BS DIMDSEP;
3666
  BITCODE_BS DIMTMOVE;
3667
  BITCODE_BS DIMATFIT;
3668
  BITCODE_B DIMFXLON;   /*!< r2007+ */
3669
  BITCODE_B  DIMTXTDIRECTION; /*!< r2010+ */
3670
  BITCODE_BD DIMALTMZF; /*!< r2010+ */
3671
  BITCODE_T  DIMALTMZS; /*!< r2010+ */
3672
  BITCODE_BD DIMMZF;    /*!< r2010+ */
3673
  BITCODE_T  DIMMZS;    /*!< r2010+ */
3674
  BITCODE_BSd DIMLWD;
3675
  BITCODE_BSd DIMLWE;
3676
  BITCODE_B flag0;
3677
3678
  BITCODE_H DIMTXSTY;
3679
3680
  BITCODE_H DIMLDRBLK;
3681
  BITCODE_H DIMBLK;
3682
  BITCODE_H DIMBLK1;
3683
  BITCODE_H DIMBLK2;
3684
3685
  BITCODE_H DIMLTYPE;
3686
  BITCODE_H DIMLTEX1;
3687
  BITCODE_H DIMLTEX2;
3688
} Dwg_Object_DIMSTYLE;
3689
3690
/**
3691
 VX_CONTROL (70) table object (r11-r2000)
3692
 The table header for all viewport entities (unused in newer versions)
3693
 Called VXTable
3694
 */
3695
typedef struct _dwg_object_VX_CONTROL
3696
{
3697
  COMMON_TABLE_CONTROL_FIELDS;
3698
} Dwg_Object_VX_CONTROL;
3699
3700
/**
3701
 VX_TABLE_RECORD (71/T10) table object (r11-r2000)
3702
 Called VXTableRecord / VX_TABLE_RECORD
3703
 */
3704
typedef struct _dwg_object_VX_TABLE_RECORD
3705
{
3706
  COMMON_TABLE_FIELDS;
3707
  BITCODE_B is_on;
3708
  BITCODE_H viewport;
3709
  BITCODE_H prev_entry;
3710
  BITCODE_RS vport_entity_address;
3711
  BITCODE_RSd r11_viewport_index;
3712
  BITCODE_RSd r11_prev_entry_index;
3713
} Dwg_Object_VX_TABLE_RECORD;
3714
3715
/**
3716
 GROUP (72) object
3717
 */
3718
typedef struct _dwg_object_GROUP
3719
{
3720
  struct _dwg_object_object *parent;
3721
  BITCODE_TV name;
3722
  BITCODE_BS unnamed;
3723
  BITCODE_BS selectable;
3724
  BITCODE_BL num_groups;
3725
  BITCODE_H* groups;
3726
} Dwg_Object_GROUP;
3727
3728
/**
3729
 MLINESTYLE (73) object
3730
 */
3731
typedef struct _dwg_MLINESTYLE_line
3732
{
3733
  struct _dwg_object_MLINESTYLE *parent;
3734
  BITCODE_BD  offset;
3735
  BITCODE_CMC color;
3736
  union {
3737
    BITCODE_BSd index;   /* until 2018 */
3738
    BITCODE_H   ltype;   /* since 2018 */
3739
  } lt;
3740
} Dwg_MLINESTYLE_line;
3741
3742
typedef struct _dwg_object_MLINESTYLE
3743
{
3744
  struct _dwg_object_object *parent;
3745
  BITCODE_TV name;
3746
  BITCODE_TV description;
3747
  BITCODE_BS flag;
3748
  BITCODE_CMC fill_color;
3749
  BITCODE_BD start_angle;
3750
  BITCODE_BD end_angle;
3751
  BITCODE_RC num_lines;
3752
  Dwg_MLINESTYLE_line* lines;
3753
} Dwg_Object_MLINESTYLE;
3754
3755
/**
3756
 OLE2FRAME (74 + varies) object
3757
 */
3758
typedef struct _dwg_entity_OLE2FRAME
3759
{
3760
  struct _dwg_object_entity *parent;
3761
3762
  BITCODE_BS type;         /*!< DXF 71, 1: Link, 2: Embedded, 3: Static */
3763
  BITCODE_BS mode;         /*!< r2000+ DXF 72, tile_mode, 0: mspace, 1: pspace */
3764
  BITCODE_RC lock_aspect;  /*!< r2000+ DXF 73, 0 or 1 (locked) */
3765
  BITCODE_BL data_size;    /*!< DXF 90 */
3766
  BITCODE_TF data;         /*!< DXF 310, the binary object data */
3767
  // embedded into data, not yet decoded:
3768
  // the MS-CFB (ole2 stream) starts at 0x80 in data
3769
  // before is probably:
3770
  BITCODE_BS oleversion;   /*!< DXF 70, always 2 */
3771
  BITCODE_TF oleclient;    /*!< DXF 3, e.g. OLE or Paintbrush Picture */
3772
  BITCODE_3BD pt1;         /*!< DXF 10, upper left corner */
3773
  BITCODE_3BD pt2;         /*!< DXF 11, lower right corner */
3774
} Dwg_Entity_OLE2FRAME;
3775
3776
/**
3777
 DUMMY (75) object, placeholder for unsupported types on encode.
3778
 */
3779
typedef struct _dwg_object_DUMMY
3780
{
3781
  struct _dwg_object_object *parent;
3782
} Dwg_Object_DUMMY;
3783
3784
/**
3785
 LONG_TRANSACTION (76) object
3786
 */
3787
typedef struct _dwg_object_LONG_TRANSACTION
3788
{
3789
  struct _dwg_object_object *parent;
3790
  /* ??? not seen */
3791
} Dwg_Object_LONG_TRANSACTION;
3792
3793
/* NOT SURE ABOUT THIS ONE (IS IT OBJECT OR ENTITY?): */
3794
/**
3795
 subtype PROXY_LWPOLYLINE (33) in a PROXY object
3796
 Not a LWPOLYLINE (77? + varies)
3797
 */
3798
typedef struct _dwg_LWPOLYLINE_width
3799
{
3800
  BITCODE_BD start; /* 40 */
3801
  BITCODE_BD end;   /* 41 */
3802
} Dwg_LWPOLYLINE_width;
3803
3804
typedef struct _dwg_PROXY_LWPOLYLINE
3805
{
3806
  struct _dwg_entity_PROXY_ENTITY *parent;
3807
3808
  BITCODE_RL data_size; /* from flags to *widths */
3809
  BITCODE_BS flags;
3810
  BITCODE_BD const_width;
3811
  BITCODE_BD elevation;
3812
  BITCODE_BD thickness;
3813
  BITCODE_BE extrusion;
3814
  BITCODE_BL num_points;
3815
  BITCODE_2RD* points;
3816
  BITCODE_BL num_bulges;
3817
  BITCODE_BD* bulges;
3818
  BITCODE_BL num_widths;
3819
  Dwg_LWPOLYLINE_width* widths;
3820
  BITCODE_RC unknown_1;
3821
  BITCODE_RC unknown_2;
3822
  BITCODE_RC unknown_3;
3823
} Dwg_PROXY_LWPOLYLINE;
3824
3825
/**
3826
 (ACAD_)PROXY_ENTITY (498, 0x1f2) object
3827
 */
3828
typedef struct _dwg_entity_PROXY_ENTITY
3829
{
3830
  struct _dwg_object_entity *parent;
3831
3832
  BITCODE_BL proxy_id;      /*!< DXF 90 always 498, same as obj->type */
3833
  BITCODE_BL class_id;      /*!< DXF 91 class index */
3834
  BITCODE_BL dwg_versions;  /*!< DXF 95, combination of maint_version<<8 + maint_version */
3835
  BITCODE_BL maint_version; /*!< DXF hiword of 95 */
3836
  BITCODE_BL dwg_version;   /*!< DXF loword of 95 */
3837
  BITCODE_B from_dxf;       /*!< DXF 70 */
3838
  BITCODE_BL proxy_data_size;  /*!< DXF 92, graphics data bytes */
3839
  BITCODE_RC *proxy_data;   /*!< DXF 310, graphics data */
3840
  BITCODE_BL data_numbits;  /*!< DXF 93, entity data bits */
3841
  BITCODE_BL data_size;     /*!< bytes calculated */
3842
  BITCODE_RC *data;         /*!< DXF 310, entity data */
3843
  BITCODE_BL num_objids;
3844
  BITCODE_H* objids;        /*!< DXF 330,340,350,360 for handle types 2-5 */
3845
} Dwg_Entity_PROXY_ENTITY;
3846
3847
/**
3848
 (ACAD_)PROXY OBJECT (499, 0x1f3) object
3849
 */
3850
typedef struct _dwg_object_PROXY_OBJECT
3851
{
3852
  struct _dwg_object_object *parent;
3853
3854
  BITCODE_BL proxy_id;      /*!< DXF 90 always 499, same as obj->type */
3855
  BITCODE_BL class_id;      /*!< DXF 91 class index */
3856
  BITCODE_BL dwg_versions;  /*!< DXF 95, combination of maint_version<<8 + maint_version */
3857
  BITCODE_BL maint_version; /*!< DXF hiword of 95 */
3858
  BITCODE_BL dwg_version;   /*!< DXF loword of 95 */
3859
  BITCODE_B from_dxf;       /*!< DXF 70 */
3860
  BITCODE_BL data_numbits;
3861
  BITCODE_BL data_size;     /*!< DXF 93 object data bytes */
3862
  BITCODE_RC *data;         /*!< DXF 310 object data */
3863
  BITCODE_BL num_objids;
3864
  BITCODE_H* objids;        /*!< DXF 330,340,350,360 */
3865
} Dwg_Object_PROXY_OBJECT;
3866
3867
/**
3868
 * types which are fixed and non-fixed:
3869
 * also OLE2FRAME above
3870
 */
3871
3872
/**
3873
 Structs for HATCH (78 + varies)
3874
 */
3875
typedef struct _dwg_HATCH_Color
3876
{
3877
  struct _dwg_entity_HATCH *parent;
3878
  BITCODE_BD shift_value; //0.0 non-shifted, 1.0 shifted
3879
  BITCODE_CMC color;
3880
} Dwg_HATCH_Color;
3881
3882
typedef struct _dwg_HATCH_ControlPoint
3883
{
3884
  struct _dwg_HATCH_PathSeg *parent;
3885
  BITCODE_2RD point;
3886
  BITCODE_BD weight;
3887
} Dwg_HATCH_ControlPoint;
3888
3889
typedef struct _dwg_HATCH_PathSeg
3890
{
3891
  struct _dwg_HATCH_Path *parent;
3892
  BITCODE_RC curve_type; // i.e. curve_type: 1-4
3893
  // could be a union
3894
  /* LINE */
3895
  BITCODE_2RD first_endpoint;
3896
  BITCODE_2RD second_endpoint;
3897
  /* CIRCULAR ARC */
3898
  BITCODE_2RD center;
3899
  BITCODE_BD radius;
3900
  BITCODE_BD start_angle;
3901
  BITCODE_BD end_angle;
3902
  BITCODE_B is_ccw;
3903
  /* ELLIPTICAL ARC */
3904
  /* BITCODE_2RD center */
3905
  BITCODE_2RD endpoint;
3906
  BITCODE_BD minor_major_ratio;
3907
  /* BITCODE_BD start_angle; */
3908
  /* BITCODE_BD end_angle; */
3909
  /* BITCODE_B is_ccw; */
3910
  /* SPLINE */
3911
  BITCODE_BL degree;
3912
  BITCODE_B is_rational;
3913
  BITCODE_B is_periodic;
3914
  BITCODE_BL num_knots;
3915
  BITCODE_BL num_control_points;
3916
  BITCODE_BD* knots;
3917
  Dwg_HATCH_ControlPoint* control_points;
3918
  BITCODE_BL num_fitpts;
3919
  BITCODE_2RD *fitpts;
3920
  BITCODE_2RD start_tangent;
3921
  BITCODE_2RD end_tangent;
3922
} Dwg_HATCH_PathSeg;
3923
3924
typedef struct _dwg_HATCH_PolylinePath
3925
{
3926
  struct _dwg_HATCH_Path *parent;
3927
  BITCODE_2RD point;
3928
  BITCODE_BD bulge;
3929
} Dwg_HATCH_PolylinePath;
3930
3931
typedef struct _dwg_HATCH_Path
3932
{
3933
  struct _dwg_entity_HATCH *parent;
3934
  /* Segment path */
3935
  BITCODE_BL flag; /* 2: is_polyline, 4: is_derived, 8: is_textbox,
3936
                      0x20: is_open, 0x80: is_textisland, 0x100: is_duplicate,
3937
                      0x200: is_annotative */
3938
  BITCODE_BL num_segs_or_paths;
3939
  Dwg_HATCH_PathSeg* segs;
3940
3941
  /* Polyline path */
3942
  BITCODE_B bulges_present;
3943
  BITCODE_B closed;
3944
  Dwg_HATCH_PolylinePath* polyline_paths;
3945
3946
  // needed?
3947
  BITCODE_BL num_boundary_handles;
3948
  BITCODE_H* boundary_handles;
3949
} Dwg_HATCH_Path;
3950
3951
typedef struct _dwg_HATCH_DefLine
3952
{
3953
  struct _dwg_entity_HATCH *parent;
3954
  BITCODE_BD  angle;
3955
  BITCODE_2BD pt0;
3956
  BITCODE_2BD offset;
3957
  BITCODE_BS  num_dashes;
3958
  BITCODE_BD* dashes;
3959
} Dwg_HATCH_DefLine;
3960
3961
typedef struct _dwg_entity_HATCH
3962
{
3963
  struct _dwg_object_entity *parent;
3964
3965
  BITCODE_BL is_gradient_fill;
3966
  BITCODE_BL reserved;
3967
  BITCODE_BD gradient_angle;
3968
  BITCODE_BD gradient_shift;
3969
  BITCODE_BL single_color_gradient;
3970
  BITCODE_BD gradient_tint;
3971
  BITCODE_BL num_colors;
3972
  Dwg_HATCH_Color* colors;
3973
  BITCODE_T gradient_name; /* 1: SPHERICAL, 2: HEMISPHERICAL, 3: CURVED, 4: LINEAR, 5: CYLINDER */
3974
3975
  BITCODE_BD elevation;
3976
  BITCODE_BE extrusion;
3977
  BITCODE_TV name;
3978
  BITCODE_B is_solid_fill;
3979
  BITCODE_B is_associative;
3980
  BITCODE_BL num_paths;
3981
  Dwg_HATCH_Path* paths; // also named loop
3982
  BITCODE_BS style;
3983
  BITCODE_BS pattern_type;
3984
  BITCODE_BD angle;
3985
  BITCODE_BD scale_spacing;
3986
  BITCODE_B double_flag;
3987
  BITCODE_BS num_deflines;
3988
  Dwg_HATCH_DefLine * deflines;
3989
  BITCODE_B has_derived;
3990
  BITCODE_BD pixel_size;
3991
  BITCODE_BL num_seeds;
3992
  BITCODE_2RD * seeds;
3993
  //BITCODE_BL sum_boundary_handles;
3994
  //BITCODE_H* boundary_handles;
3995
} Dwg_Entity_HATCH;
3996
3997
// derived from Hatch
3998
typedef struct _dwg_entity_MPOLYGON
3999
{
4000
  struct _dwg_object_entity *parent;
4001
4002
  BITCODE_BL is_gradient_fill;
4003
  BITCODE_BL reserved;
4004
  BITCODE_BD gradient_angle;
4005
  BITCODE_BD gradient_shift;
4006
  BITCODE_BL single_color_gradient;
4007
  BITCODE_BD gradient_tint;
4008
  BITCODE_BL num_colors;
4009
  Dwg_HATCH_Color* colors;
4010
  BITCODE_T gradient_name; /* 1: SPHERICAL, 2: HEMISPHERICAL, 3: CURVED, 4: LINEAR, 5: CYLINDER */
4011
4012
  BITCODE_BD elevation;
4013
  BITCODE_BE extrusion;
4014
  BITCODE_T name;
4015
  BITCODE_B is_solid_fill;
4016
  BITCODE_B is_associative;
4017
  BITCODE_BL num_paths;
4018
  Dwg_HATCH_Path* paths; // also named loop
4019
  BITCODE_BS style;
4020
  BITCODE_BS pattern_type;
4021
  BITCODE_BD angle;
4022
  BITCODE_BD scale_spacing;
4023
  BITCODE_B double_flag;
4024
  BITCODE_BS num_deflines;
4025
  Dwg_HATCH_DefLine * deflines;
4026
4027
  BITCODE_CMC hatch_color; /* DXF 62 */
4028
  BITCODE_2RD x_dir;  /* DXF 11 (ocs) */
4029
  BITCODE_BL num_boundary_handles; /* DXF 99 */
4030
  //BITCODE_H* boundary_handles;
4031
4032
} Dwg_Entity_MPOLYGON;
4033
4034
/**
4035
 XRECORD (79 + varies) object
4036
 */
4037
typedef struct _dwg_object_XRECORD
4038
{
4039
  struct _dwg_object_object *parent;
4040
4041
  BITCODE_BS cloning; /* DXF 280, as with DICTIONARY.
4042
                         DuplicateRecordCloning mergeStyle:
4043
                         1: erase allowed,
4044
                         0x80: cloning allowed */
4045
  BITCODE_BL xdata_size;
4046
  BITCODE_BL num_xdata; /* computed */
4047
  Dwg_Resbuf* xdata;
4048
  BITCODE_BL num_objid_handles;
4049
  BITCODE_H* objid_handles;
4050
} Dwg_Object_XRECORD;
4051
4052
/**
4053
 PLACEHOLDER (80 + varies) object
4054
 ACDBPLACEHOLDER
4055
 */
4056
typedef struct _dwg_object_PLACEHOLDER
4057
{
4058
  struct _dwg_object_object *parent;
4059
} Dwg_Object_PLACEHOLDER;
4060
4061
/**
4062
 * Entity MULTILEADER (varies)
4063
 * R2000+ in work
4064
 */
4065
4066
typedef struct _dwg_LEADER_Break
4067
{
4068
  struct _dwg_LEADER_Line *parent;
4069
  BITCODE_3BD start;         /*!< DXF 12 */
4070
  BITCODE_3BD end;           /*!< DXF 13 */
4071
} Dwg_LEADER_Break;
4072
4073
typedef struct _dwg_LEADER_Line // as documented by DXF
4074
{
4075
  struct _dwg_LEADER_Node *parent;
4076
  BITCODE_BL num_points;
4077
  BITCODE_3DPOINT* points;         /*!< DXF 10 */
4078
  BITCODE_BL num_breaks;
4079
  Dwg_LEADER_Break * breaks;       /*!< DXF 12, 13 */
4080
  BITCODE_BL  line_index;          /*!< DXF 91 */
4081
4082
  /*!< r2010+: */
4083
  BITCODE_BS type; // 0 = invisible leader, 1 = straight leader, 2 = spline leader
4084
  BITCODE_CMC color; // of the line
4085
  BITCODE_H ltype; // 5 340
4086
  BITCODE_BLd linewt;
4087
  BITCODE_BD arrow_size;
4088
  BITCODE_H  arrow_handle; // 5 341
4089
  BITCODE_BL flags; // 1 = leader type, 2 = line color, 4 = line type, 8 = line weight,
4090
                    // 16 = arrow size, 32 = arrow symbol (handle)
4091
} Dwg_LEADER_Line;
4092
4093
typedef struct _dwg_LEADER_ArrowHead
4094
{
4095
  struct _dwg_entity_MULTILEADER *parent;
4096
  BITCODE_B is_default;
4097
  BITCODE_H arrowhead;
4098
} Dwg_LEADER_ArrowHead;
4099
4100
typedef struct _dwg_LEADER_BlockLabel
4101
{
4102
  struct _dwg_entity_MULTILEADER *parent;
4103
  BITCODE_H attdef;
4104
  BITCODE_TV label_text;
4105
  BITCODE_BS ui_index;
4106
  BITCODE_BD width;
4107
} Dwg_LEADER_BlockLabel;
4108
4109
typedef struct _dwg_LEADER_Node
4110
{
4111
  struct _dwg_entity_MULTILEADER *parent;
4112
  BITCODE_B has_lastleaderlinepoint;    /*!< DXF 290 */
4113
  BITCODE_B has_dogleg;                 /*!< DXF 291 */
4114
  BITCODE_3BD lastleaderlinepoint;      /*!< DXF 10 */
4115
  BITCODE_3BD dogleg_vector;            /*!< DXF 11 */
4116
  BITCODE_BL branch_index;              /*!< DXF 90 */
4117
  BITCODE_BD dogleg_length;             /*!< DXF 40 */
4118
  BITCODE_BL num_lines;
4119
  Dwg_LEADER_Line *lines;               /*!< DXF 10 */
4120
  BITCODE_BL num_breaks;
4121
  Dwg_LEADER_Break * breaks;            /*!< DXF 12, 13 */
4122
4123
  BITCODE_BS attach_dir; //2010+ 271
4124
} Dwg_LEADER_Node;
4125
4126
// common to text and block
4127
#define CMLContent_fields                                                     \
4128
  BITCODE_RC type; /* 1 for blk, 2 for text */                                \
4129
  BITCODE_3BD normal;                                                         \
4130
  BITCODE_3BD location;                                                       \
4131
  BITCODE_BD rotation
4132
4133
typedef struct _dwg_MLEADER_Content_MText
4134
{
4135
  CMLContent_fields;
4136
  BITCODE_H style;
4137
  BITCODE_3BD direction;
4138
  BITCODE_CMC color;
4139
  BITCODE_BD width;
4140
  BITCODE_BD height;
4141
  BITCODE_BD line_spacing_factor;
4142
  BITCODE_T default_text;
4143
  BITCODE_BS line_spacing_style;
4144
  BITCODE_BS alignment;
4145
  BITCODE_BS flow;
4146
  BITCODE_CMC bg_color;
4147
  BITCODE_BD bg_scale;
4148
  BITCODE_BL bg_transparency;
4149
  BITCODE_B is_bg_fill;
4150
  BITCODE_B is_bg_mask_fill;
4151
  BITCODE_BS col_type;
4152
  BITCODE_B is_height_auto;
4153
  BITCODE_BD col_width;
4154
  BITCODE_BD col_gutter;
4155
  BITCODE_B is_col_flow_reversed;
4156
  BITCODE_BL num_col_sizes;
4157
  BITCODE_BD *col_sizes;
4158
  BITCODE_B word_break;
4159
  BITCODE_B unknown;
4160
} Dwg_MLEADER_Content_MText;
4161
4162
typedef struct _dwg_MLEADER_Content_Block
4163
{
4164
  CMLContent_fields;
4165
  BITCODE_H block_table;
4166
  BITCODE_3BD scale;
4167
  BITCODE_CMC color;
4168
  BITCODE_BD *transform;
4169
} Dwg_MLEADER_Content_Block;
4170
4171
typedef union _dwg_MLEADER_Content
4172
{
4173
  Dwg_MLEADER_Content_MText txt;
4174
  Dwg_MLEADER_Content_Block blk;
4175
} Dwg_MLEADER_Content;
4176
4177
/* The MLeaderAnnotContext object (par 20.4.86), embedded into an MLEADER */
4178
typedef struct _dwg_MLEADER_AnnotContext
4179
{
4180
  // AcDbObjectContextData:
4181
  // BITCODE_BS class_version;  /*!< r2010+ DXF 70 4 */
4182
  // BITCODE_B is_default;      /*!< r2010+ DXF 290 1 */
4183
  // BITCODE_B has_xdic;        /*!< r2010+  */
4184
  // AcDbAnnotScaleObjectContextData:
4185
  // BITCODE_H scale;           /*!< DXF 340 hard ptr to AcDbScale */
4186
4187
  BITCODE_BL num_leaders;
4188
  Dwg_LEADER_Node *leaders;
4189
4190
  BITCODE_BS attach_dir;
4191
4192
  BITCODE_BD scale_factor;
4193
  BITCODE_3BD content_base;
4194
  BITCODE_BD text_height;
4195
  BITCODE_BD arrow_size;
4196
  BITCODE_BD landing_gap;
4197
  BITCODE_BS text_left;
4198
  BITCODE_BS text_right;
4199
  BITCODE_BS text_angletype;
4200
  BITCODE_BS text_alignment;
4201
4202
  BITCODE_B has_content_txt;
4203
  BITCODE_B has_content_blk;
4204
  Dwg_MLEADER_Content content; // union txt/blk
4205
4206
  BITCODE_3BD base;
4207
  BITCODE_3BD base_dir;
4208
  BITCODE_3BD base_vert;
4209
  BITCODE_B is_normal_reversed;
4210
4211
  BITCODE_BS text_top;
4212
  BITCODE_BS text_bottom;
4213
4214
} Dwg_MLEADER_AnnotContext;
4215
4216
// dbmleader.h
4217
typedef struct _dwg_entity_MULTILEADER
4218
{
4219
  struct _dwg_object_entity *parent;
4220
4221
  BITCODE_BS class_version; /*!< r2010+ =2 */
4222
  Dwg_MLEADER_AnnotContext ctx;
4223
  BITCODE_H mleaderstyle; /* DXF  340 */
4224
  BITCODE_BL flags;       /* override. DXF 90 */
4225
  BITCODE_BS type;
4226
  BITCODE_CMC line_color;
4227
  BITCODE_H line_ltype;
4228
  BITCODE_BLd line_linewt;
4229
  BITCODE_B has_landing;
4230
  BITCODE_B has_dogleg;
4231
  BITCODE_BD landing_dist;
4232
  BITCODE_H arrow_handle;
4233
  BITCODE_BD arrow_size; /* the default */
4234
  BITCODE_BS style_content;
4235
  BITCODE_H text_style;
4236
  BITCODE_BS text_left;
4237
  BITCODE_BS text_right;
4238
  BITCODE_BS text_angletype;
4239
  BITCODE_BS text_alignment;
4240
  BITCODE_CMC text_color;
4241
  BITCODE_B has_text_frame;
4242
  BITCODE_H block_style; // internal blocks mostly, _TagSlot, _TagHexagon,
4243
                         // _DetailCallout, ...
4244
  BITCODE_CMC block_color;
4245
  BITCODE_3BD block_scale;
4246
  BITCODE_BD block_rotation;
4247
  BITCODE_BS style_attachment; // 0 = center extents, 1 = insertion point
4248
  BITCODE_B is_annotative;
4249
4250
  /* until r2007: */
4251
  BITCODE_BL num_arrowheads;
4252
  Dwg_LEADER_ArrowHead *arrowheads;
4253
  BITCODE_BL num_blocklabels;
4254
  Dwg_LEADER_BlockLabel *blocklabels;
4255
  BITCODE_B is_neg_textdir;
4256
  BITCODE_BS ipe_alignment;
4257
  BITCODE_BS justification;
4258
  BITCODE_BD scale_factor;
4259
4260
  BITCODE_BS attach_dir;    /*!< r2010+ (0 = horizontal, 1 = vertical) */
4261
  BITCODE_BS attach_top;    /*!< r2010+ */
4262
  BITCODE_BS attach_bottom; /*!< r2010+ */
4263
4264
  BITCODE_B is_text_extended; /*!< r2013+ */
4265
} Dwg_Entity_MULTILEADER;
4266
4267
/**
4268
 * Object MLEADERSTYLE (varies)
4269
 * R2000+
4270
 */
4271
typedef struct _dwg_object_MLEADERSTYLE
4272
{
4273
  struct _dwg_object_object *parent;
4274
4275
  BITCODE_BS class_version; /*!< DXF 179, r2010+ =2 */
4276
  BITCODE_BS content_type;
4277
  BITCODE_BS mleader_order;
4278
  BITCODE_BS leader_order;
4279
  BITCODE_BL max_points;
4280
  BITCODE_BD first_seg_angle;
4281
  BITCODE_BD second_seg_angle;
4282
  BITCODE_BS type;
4283
  BITCODE_CMC line_color;
4284
  BITCODE_H line_type;
4285
  BITCODE_BLd linewt;
4286
  BITCODE_B has_landing;
4287
  BITCODE_B has_dogleg;
4288
  BITCODE_BD landing_gap;
4289
  BITCODE_BD landing_dist;
4290
  BITCODE_TV description;
4291
  BITCODE_H arrow_head;
4292
  BITCODE_BD arrow_head_size;
4293
  BITCODE_TV text_default;
4294
  BITCODE_H text_style;
4295
  BITCODE_BS attach_left;
4296
  BITCODE_BS attach_right;
4297
  BITCODE_BS text_angle_type;
4298
  BITCODE_BS text_align_type;
4299
  BITCODE_CMC text_color;
4300
  BITCODE_BD text_height;
4301
  BITCODE_B has_text_frame;
4302
  BITCODE_B text_always_left;
4303
  BITCODE_BD align_space;
4304
  BITCODE_H block;
4305
  BITCODE_CMC block_color;
4306
  BITCODE_3BD block_scale;
4307
  BITCODE_B use_block_scale;
4308
  BITCODE_BD block_rotation;
4309
  BITCODE_B use_block_rotation;
4310
  BITCODE_BS block_connection;
4311
  BITCODE_BD scale;
4312
  BITCODE_B is_changed;
4313
  BITCODE_B is_annotative;
4314
  BITCODE_BD break_size;
4315
4316
  BITCODE_BS attach_dir;    /*!< r2010+ (0 = horizontal, 1 = vertical) */
4317
  BITCODE_BS attach_top;    /*!< r2010+ */
4318
  BITCODE_BS attach_bottom; /*!< r2010+ */
4319
4320
  BITCODE_B text_extended; /*!< r2013+ */
4321
} Dwg_Object_MLEADERSTYLE;
4322
4323
/**
4324
 VBA_PROJECT (81 + varies) object
4325
 Has its own optional section? section[5]?
4326
 */
4327
typedef struct _dwg_object_VBA_PROJECT
4328
{
4329
  struct _dwg_object_object *parent;
4330
4331
  BITCODE_BL data_size;
4332
  BITCODE_TF data;
4333
} Dwg_Object_VBA_PROJECT;
4334
4335
/**
4336
 Object PLOTSETTINGS (varies)
4337
 See also LAYOUT.
4338
 */
4339
typedef struct _dwg_object_PLOTSETTINGS
4340
{
4341
  struct _dwg_object_object *parent;
4342
4343
  BITCODE_T printer_cfg_file;     /*!< DXF 1 */
4344
  BITCODE_T paper_size;           /*!< DXF 2 */
4345
  BITCODE_T canonical_media_name; /*!< DXF 4 */
4346
  BITCODE_BS plot_flags;          /*!< DXF 70
4347
                                 1 = PlotViewportBorders
4348
                                 2 = ShowPlotStyles
4349
                                 4 = PlotCentered
4350
                                 8 = PlotHidden
4351
                                 16 = UseStandardScale
4352
                                 32 = PlotPlotStyles
4353
                                 64 = ScaleLineweights
4354
                                 128 = PrintLineweights
4355
                                 512 = DrawViewportsFirst
4356
                                 1024 = ModelType
4357
                                 2048 = UpdatePaper
4358
                                 4096 = ZoomToPaperOnUpdate
4359
                                 8192 = Initializing
4360
                                 16384 = PrevPlotInit */
4361
  BITCODE_H plotview;             /*!< DXF 6, r2004+ */
4362
  BITCODE_T plotview_name;        /*!< DXF 6, until r2000 */
4363
  BITCODE_BD left_margin;         /*!< DXF 40, margins in mm */
4364
  BITCODE_BD bottom_margin;       /*!< DXF 42 */
4365
  BITCODE_BD right_margin;        /*!< DXF 43 */
4366
  BITCODE_BD top_margin;          /*!< DXF 44 */
4367
  BITCODE_BD paper_width;         /*!< DXF 44, in mm */
4368
  BITCODE_BD paper_height;        /*!< DXF 45, in mm */
4369
  BITCODE_2BD_1 plot_origin;      /*!< DXF 46,47 */
4370
  BITCODE_2BD_1 plot_window_ll;   /*!< DXF 48,49 */
4371
  BITCODE_2BD_1 plot_window_ur;   /*!< DXF 140,141 */
4372
  BITCODE_BS plot_paper_unit;     /*!< DXF 72,  0 inches, 1 mm, 2 pixel */
4373
  BITCODE_BS
4374
      plot_rotation_mode; /*!< DXF 73,  0 normal, 1 90, 2 180, 3 270 deg */
4375
  BITCODE_BS plot_type; /*!< DXF 74,  0 display, 1 extents, 2 limits, 3 view
4376
                           (see DXF 6), 4 window (see 48-140), 5 layout */
4377
  BITCODE_BD paper_units;   /*!< DXF 142 */
4378
  BITCODE_BD drawing_units; /*!< DXF 143 */
4379
  BITCODE_T stylesheet;     /*!< DXF 7 */
4380
  BITCODE_BS
4381
      std_scale_type;               /*!< DXF 75, 0 = scaled to fit,
4382
                                      1 = 1/128"=1', 2 = 1/64"=1', 3 = 1/32"=1'
4383
                                      4 = 1/16"=1', 5 = 3/32"=1', 6 = 1/8"=1'
4384
                                      7 = 3/16"=1', 8 = 1/4"=1', 9 = 3/8"=1'
4385
                                      10 = 1/2"=1', 11 = 3/4"=1', 12 = 1"=1'
4386
                                      13 = 3"=1', 14 = 6"=1', 15 = 1'=1'
4387
                                      16 = 1:1, 17= 1:2, 18 = 1:4 19 = 1:8, 20 = 1:10, 21=
4388
                                      1:16               22 = 1:20, 23 = 1:30, 24 = 1:40, 25 = 1:50, 26 =
4389
                                      1:100               27 = 2:1, 28 = 4:1, 29 = 8:1, 30 = 10:1, 31 =
4390
                                      100:1, 32 = 1000:1
4391
                                    */
4392
  BITCODE_BD std_scale_factor;      /*!< DXF 147, value of 75 */
4393
  BITCODE_2BD_1 paper_image_origin; /*!< DXF 148 + 149 */
4394
  BITCODE_BS shadeplot_type; /*!< DXF 76, 0 display, 1 wireframe, 2 hidden, 3
4395
                                rendered, 4 visualstyle, 5 renderPreset */
4396
  BITCODE_BS
4397
      shadeplot_reslevel;         /*!< DXF 77, 0 draft, 1 preview, 2 normal,
4398
                                               3 presentation, 4 maximum, 5 custom */
4399
  BITCODE_BS shadeplot_customdpi; /*!< DXF 78, 100-32767 */
4400
  BITCODE_H shadeplot;            /*!< DXF 333 optional. As in VIEWPORT */
4401
} Dwg_Object_PLOTSETTINGS;
4402
4403
/**
4404
 LAYOUT (82 + varies) object
4405
 */
4406
typedef struct _dwg_object_LAYOUT
4407
{
4408
  struct _dwg_object_object *parent;
4409
  // AcDbPlotSettings:
4410
  Dwg_Object_PLOTSETTINGS plotsettings;
4411
4412
  // AcDbLayout:
4413
  BITCODE_T layout_name;
4414
  BITCODE_BS tab_order;
4415
  BITCODE_BS layout_flags; /* 1: PSLTSCALE, 2: LIMCHECK */
4416
  BITCODE_3DPOINT INSBASE;
4417
  BITCODE_2DPOINT LIMMIN;
4418
  BITCODE_2DPOINT LIMMAX;
4419
  BITCODE_3DPOINT UCSORG;
4420
  BITCODE_3DPOINT UCSXDIR;
4421
  BITCODE_3DPOINT UCSYDIR;
4422
  BITCODE_BD ucs_elevation;
4423
  BITCODE_BS UCSORTHOVIEW;
4424
  BITCODE_3DPOINT EXTMIN;
4425
  BITCODE_3DPOINT EXTMAX;
4426
  BITCODE_H block_header;
4427
  BITCODE_H active_viewport;
4428
  BITCODE_H base_ucs;
4429
  BITCODE_H named_ucs;
4430
  BITCODE_BL num_viewports; // r2004+
4431
  BITCODE_H *viewports;     // r2004+
4432
} Dwg_Object_LAYOUT;
4433
4434
/**
4435
 * And the non-fixed types, classes, only
4436
 */
4437
4438
/**
4439
 Class DICTIONARYVAR (varies)
4440
 */
4441
typedef struct _dwg_object_DICTIONARYVAR
4442
{
4443
  struct _dwg_object_object *parent;
4444
4445
  BITCODE_RC schema;
4446
  BITCODE_T  strvalue;
4447
} Dwg_Object_DICTIONARYVAR;
4448
4449
/**
4450
 Class TABLE (varies)
4451
 */
4452
4453
// 20.4.99. also for FIELD
4454
typedef struct _dwg_TABLE_value
4455
{
4456
  BITCODE_BL flags;        /* DXF 90 */
4457
  BITCODE_BL format_flags; /* DXF 93, r2007+ */
4458
  BITCODE_BL data_type;
4459
  BITCODE_BL data_size;
4460
  BITCODE_BL data_long;
4461
  BITCODE_BD data_double;
4462
  BITCODE_T data_string;
4463
  BITCODE_TF data_date;
4464
  BITCODE_2RD data_point;
4465
  BITCODE_3RD data_3dpoint;
4466
  BITCODE_H data_handle;
4467
  BITCODE_BL unit_type;
4468
  BITCODE_T format_string;
4469
  BITCODE_T value_string;
4470
} Dwg_TABLE_value;
4471
4472
// 20.4.100 Custom data collection for table cells, cols, rows
4473
typedef struct _dwg_TABLE_CustomDataItem
4474
{
4475
  BITCODE_T name;
4476
  Dwg_TABLE_value value;
4477
4478
  struct _dwg_TableCell *cell_parent;
4479
  struct _dwg_TableRow *row_parent;
4480
} Dwg_TABLE_CustomDataItem;
4481
4482
typedef struct _dwg_TABLE_AttrDef
4483
{
4484
  struct _dwg_TABLE_Cell *parent;
4485
  BITCODE_H attdef;
4486
  BITCODE_BS index;
4487
  BITCODE_T text;
4488
} Dwg_TABLE_AttrDef;
4489
4490
typedef struct _dwg_TABLE_Cell
4491
{
4492
  struct _dwg_entity_TABLE *parent;
4493
  BITCODE_BS type;
4494
  BITCODE_RC flags;
4495
  BITCODE_B is_merged_value;
4496
  BITCODE_B is_autofit_flag;
4497
  BITCODE_BL merged_width_flag;
4498
  BITCODE_BL merged_height_flag;
4499
  BITCODE_BD rotation;
4500
  BITCODE_T text_value;
4501
  BITCODE_H text_style;
4502
  BITCODE_H block_handle;
4503
  BITCODE_BD block_scale;
4504
  BITCODE_B additional_data_flag;
4505
  BITCODE_BL cell_flag_override;
4506
  BITCODE_RC virtual_edge_flag;
4507
  BITCODE_RS cell_alignment;
4508
  BITCODE_B bg_fill_none;
4509
  BITCODE_CMC bg_color;
4510
  BITCODE_CMC content_color;
4511
  BITCODE_BD text_height;
4512
  BITCODE_CMC top_grid_color;
4513
  BITCODE_BS top_grid_linewt;
4514
  BITCODE_BS top_visibility;
4515
  BITCODE_CMC right_grid_color;
4516
  BITCODE_BS right_grid_linewt;
4517
  BITCODE_BS right_visibility;
4518
  BITCODE_CMC bottom_grid_color;
4519
  BITCODE_BS bottom_grid_linewt;
4520
  BITCODE_BS bottom_visibility;
4521
  BITCODE_CMC left_grid_color;
4522
  BITCODE_BS left_grid_linewt;
4523
  BITCODE_BS left_visibility;
4524
  BITCODE_BL unknown;
4525
  Dwg_TABLE_value value;
4526
  BITCODE_BL num_attr_defs;
4527
  Dwg_TABLE_AttrDef *attr_defs;
4528
  // BITCODE_H text_style_override;
4529
} Dwg_TABLE_Cell;
4530
4531
typedef struct _dwg_TABLE_BreakHeight
4532
{
4533
  struct _dwg_entity_TABLE *parent;
4534
  BITCODE_3BD position;
4535
  BITCODE_BD height;
4536
  BITCODE_BL flag;
4537
} Dwg_TABLE_BreakHeight;
4538
4539
typedef struct _dwg_TABLE_BreakRow
4540
{
4541
  struct _dwg_entity_TABLE *parent;
4542
  BITCODE_3BD position;
4543
  BITCODE_BL start;
4544
  BITCODE_BL end;
4545
} Dwg_TABLE_BreakRow;
4546
4547
typedef struct _dwg_LinkedData
4548
{
4549
  BITCODE_T name;        // max 16, dxf 1
4550
  BITCODE_T description; // max 24, dxf 300
4551
} Dwg_LinkedData;
4552
4553
typedef struct _dwg_TableCellContent_Attr
4554
{
4555
  struct _dwg_TableCellContent *parent;
4556
  BITCODE_H attdef;
4557
  BITCODE_TV value;
4558
  BITCODE_BL index;
4559
} Dwg_TableCellContent_Attr;
4560
4561
// Content format 20.4.101.3
4562
typedef struct _dwg_ContentFormat
4563
{
4564
  BITCODE_BL property_override_flags;
4565
  BITCODE_BL property_flags;
4566
  BITCODE_BL value_data_type; /* see 20.4.98 */
4567
  BITCODE_BL value_unit_type; /* see 20.4.98 */
4568
  BITCODE_TV value_format_string;
4569
  BITCODE_BD rotation;
4570
  BITCODE_BD block_scale;
4571
  BITCODE_BL cell_alignment;
4572
  BITCODE_CMC content_color;
4573
  BITCODE_H text_style;
4574
  BITCODE_BD text_height;
4575
} Dwg_ContentFormat;
4576
4577
typedef struct _dwg_TableCellContent
4578
{
4579
  struct _dwg_TableCell *parent;
4580
  BITCODE_BL type;
4581
  Dwg_TABLE_value value; // 20.4.99 Value
4582
  BITCODE_H handle;
4583
  BITCODE_BL num_attrs;
4584
  Dwg_TableCellContent_Attr *attrs;
4585
  BITCODE_BS has_content_format_overrides;
4586
  Dwg_ContentFormat content_format;
4587
} Dwg_TableCellContent;
4588
4589
// 20.4.98
4590
typedef struct _dwg_CellContentGeometry
4591
{
4592
  BITCODE_3BD dist_top_left;
4593
  BITCODE_3BD dist_center;
4594
  BITCODE_BD content_width;
4595
  BITCODE_BD content_height;
4596
  BITCODE_BD width;
4597
  BITCODE_BD height;
4598
  BITCODE_BL unknown; /* ODA bug, BD there. DXF 95 */
4599
4600
  struct _dwg_TableCell *cell_parent;
4601
  struct _dwg_TABLEGEOMETRY_Cell *geom_parent;
4602
} Dwg_CellContentGeometry;
4603
4604
typedef struct _dwg_TableCell
4605
{
4606
  BITCODE_BL flag;
4607
  BITCODE_TV tooltip;
4608
  BITCODE_BL customdata;
4609
  BITCODE_BL num_customdata_items;
4610
  Dwg_TABLE_CustomDataItem *customdata_items;
4611
  BITCODE_BL has_linked_data;
4612
  BITCODE_H data_link;
4613
  BITCODE_BL num_rows;
4614
  BITCODE_BL num_cols;
4615
  BITCODE_BL unknown;
4616
  BITCODE_BL num_cell_contents;
4617
  Dwg_TableCellContent *cell_contents;
4618
  BITCODE_BL style_id;
4619
  BITCODE_BL has_geom_data;
4620
  BITCODE_BL geom_data_flag;
4621
  BITCODE_BD width_w_gap;
4622
  BITCODE_BD height_w_gap;
4623
  BITCODE_H tablegeometry;
4624
  BITCODE_BL num_geometry;
4625
  Dwg_CellContentGeometry *geometry;
4626
4627
  struct _dwg_CellStyle *style_parent;
4628
  struct _dwg_TableRow *row_parent;
4629
} Dwg_TableCell;
4630
4631
// almost like GridLine/TABLESTYLE_border
4632
// in ODA named OdTableGridLine, was BorderStyle
4633
typedef struct _dwg_GridFormat
4634
{
4635
  struct _dwg_CellStyle *parent;
4636
  BITCODE_BL index_mask; /* 95. ie: 1,2,4,8,16,32 */
4637
  BITCODE_BL border_overrides;
4638
  BITCODE_BL border_type;
4639
  BITCODE_CMC color;
4640
  BITCODE_BLd linewt;
4641
  BITCODE_H ltype;
4642
  BITCODE_B visible;
4643
  BITCODE_BD double_line_spacing;
4644
} Dwg_GridFormat;
4645
4646
/**
4647
  Cell style 20.4.101.4
4648
  for TABLE, TABLECONTENT, CELLSTYLEMAP
4649
*/
4650
typedef struct _dwg_CellStyle
4651
{
4652
  BITCODE_BL type; /* 1 cell, 2 row, 3 col, 4 fmt data, 5 table */
4653
  BITCODE_BS data_flags;
4654
  BITCODE_BL property_override_flags;
4655
  BITCODE_BL merge_flags;
4656
  BITCODE_CMC bg_color;
4657
  BITCODE_BL content_layout;
4658
  Dwg_ContentFormat content_format;
4659
  BITCODE_BS margin_override_flags;
4660
  BITCODE_BD vert_margin;
4661
  BITCODE_BD horiz_margin;
4662
  BITCODE_BD bottom_margin;
4663
  BITCODE_BD right_margin;
4664
  BITCODE_BD margin_horiz_spacing;
4665
  BITCODE_BD margin_vert_spacing;
4666
  BITCODE_BL num_borders; /* 0-6, number of edge_flags set */
4667
  Dwg_GridFormat *borders;
4668
4669
  struct _dwg_TableRow *tablerow_parent;
4670
  struct _dwg_TableDataColumn *tabledatacolumn_parent;
4671
} Dwg_CellStyle;
4672
4673
typedef struct _dwg_TableRow
4674
{
4675
  struct _dwg_LinkedTableData *parent;
4676
  BITCODE_BL num_cells;
4677
  Dwg_TableCell *cells;
4678
  BITCODE_BL custom_data;
4679
  BITCODE_BL num_customdata_items;
4680
  Dwg_TABLE_CustomDataItem *customdata_items;
4681
  Dwg_CellStyle cellstyle;
4682
  BITCODE_BL style_id;
4683
  BITCODE_BL height;
4684
} Dwg_TableRow;
4685
4686
typedef struct _dwg_TableDataColumn
4687
{
4688
  struct _dwg_LinkedTableData *parent;
4689
  BITCODE_T name;
4690
  BITCODE_BL custom_data;
4691
  // BITCODE_TV data;
4692
  Dwg_CellStyle cellstyle;
4693
  BITCODE_BL cellstyle_id;
4694
  BITCODE_BL width;
4695
} Dwg_TableDataColumn;
4696
4697
typedef struct _dwg_LinkedTableData
4698
{
4699
  BITCODE_BL num_cols;
4700
  Dwg_TableDataColumn *cols;
4701
  BITCODE_BL num_rows;
4702
  Dwg_TableRow *rows;
4703
  BITCODE_BL num_field_refs;
4704
  BITCODE_H *field_refs;
4705
} Dwg_LinkedTableData;
4706
4707
typedef struct _dwg_FormattedTableMerged
4708
{
4709
  struct _dwg_FormattedTableData *parent;
4710
  BITCODE_BL top_row;
4711
  BITCODE_BL left_col;
4712
  BITCODE_BL bottom_row;
4713
  BITCODE_BL right_col;
4714
} Dwg_FormattedTableMerged;
4715
4716
typedef struct _dwg_FormattedTableData
4717
{
4718
  struct _dwg_object_TABLECONTENT *parent;
4719
  Dwg_CellStyle cellstyle;
4720
  BITCODE_BL num_merged_cells;
4721
  Dwg_FormattedTableMerged *merged_cells;
4722
} Dwg_FormattedTableData;
4723
4724
#define TABLECONTENT_fields                                                   \
4725
  Dwg_LinkedData ldata;                                                       \
4726
  Dwg_LinkedTableData tdata;                                                  \
4727
  Dwg_FormattedTableData fdata;                                               \
4728
  BITCODE_H tablestyle
4729
4730
typedef struct _dwg_object_TABLECONTENT
4731
{
4732
  struct _dwg_object_object *parent;
4733
  TABLECONTENT_fields;
4734
} Dwg_Object_TABLECONTENT;
4735
4736
typedef struct _dwg_entity_TABLE
4737
{
4738
  struct _dwg_object_entity *parent;
4739
  //r2010+ TABLECONTENT:
4740
  TABLECONTENT_fields;
4741
4742
  BITCODE_RC unknown_rc;
4743
  BITCODE_H unknown_h;
4744
  BITCODE_BL unknown_bl;
4745
  BITCODE_B unknown_b;
4746
  BITCODE_BL unknown_bl1;
4747
  BITCODE_3BD ins_pt;       /*!< DXF 10 */
4748
  BITCODE_3BD scale;        /*!< DXF 41 */
4749
  BITCODE_BB scale_flag;
4750
  BITCODE_BD rotation;      /*!< DXF 50 */
4751
  BITCODE_BE extrusion;     /*!< DXF 210 */
4752
  BITCODE_B has_attribs;    /*!< DXF 66 */
4753
  BITCODE_BL num_owned;
4754
  BITCODE_BS flag_for_table_value; /*!< DXF 90.
4755
                                     Bit flags, 0x06 (0x02 + 0x04): has block,
4756
                                     0x10: table direction, 0 = up, 1 = down,
4757
                                     0x20: title suppressed.
4758
                                     Normally 0x06 is always set. */
4759
  BITCODE_3BD horiz_direction; /*!< DXF 11 */
4760
  BITCODE_BL num_cols;     /*!< DXF 90 */
4761
  BITCODE_BL num_rows;     /*!< DXF 91 */
4762
  unsigned long num_cells; /*!< computed */
4763
  BITCODE_BD* col_widths;  /*!< DXF 142 */
4764
  BITCODE_BD* row_heights; /*!< DXF 141 */
4765
  Dwg_TABLE_Cell* cells;
4766
  BITCODE_B has_table_overrides;
4767
  BITCODE_BL table_flag_override; /*!< DXF 93 */
4768
  BITCODE_B title_suppressed;     /*!< DXF 280 */
4769
  BITCODE_B header_suppressed;    /*!< DXF 281 */
4770
  BITCODE_BS flow_direction;      /*!< DXF 70 */
4771
  BITCODE_BD horiz_cell_margin;   /*!< DXF 40 */
4772
  BITCODE_BD vert_cell_margin;    /*!< DXF 41 */
4773
  BITCODE_CMC title_row_color;    /*!< DXF 64 */
4774
  BITCODE_CMC header_row_color;   /*!< DXF 64 */
4775
  BITCODE_CMC data_row_color;     /*!< DXF 64 */
4776
  BITCODE_B title_row_fill_none;  /*!< DXF 283 */
4777
  BITCODE_B header_row_fill_none; /*!< DXF 283 */
4778
  BITCODE_B data_row_fill_none;   /*!< DXF 283 */
4779
  BITCODE_CMC title_row_fill_color;  /*!< DXF 63 */
4780
  BITCODE_CMC header_row_fill_color; /*!< DXF 63 */
4781
  BITCODE_CMC data_row_fill_color;   /*!< DXF 63 */
4782
  BITCODE_BS title_row_alignment;   /*!< DXF 170 */
4783
  BITCODE_BS header_row_alignment;  /*!< DXF 170 */
4784
  BITCODE_BS data_row_alignment;    /*!< DXF 170 */
4785
  BITCODE_H title_text_style;   /*!< DXF 7 */
4786
  BITCODE_H header_text_style;  /*!< DXF 7 */
4787
  BITCODE_H data_text_style;    /*!< DXF 7 */
4788
  BITCODE_BD title_row_height;  /*!< DXF 140 */
4789
  BITCODE_BD header_row_height; /*!< DXF 140 */
4790
  BITCODE_BD data_row_height;   /*!< DXF 140 */
4791
4792
  BITCODE_B has_border_color_overrides;   /*!< if DXF 94 > 0 */
4793
  BITCODE_BL border_color_overrides_flag; /*!< DXF 94 */
4794
  BITCODE_CMC title_horiz_top_color;      /*!< DXF 64 if DXF 94 & 0x1 */
4795
  BITCODE_CMC title_horiz_ins_color;      /*!< DXF 65 if DXF 94 & 0x2 */
4796
  BITCODE_CMC title_horiz_bottom_color;   /*!< DXF 66 if DXF 94 & 0x4 */
4797
  BITCODE_CMC title_vert_left_color;      /*!< DXF 63 if DXF 94 & 0x8 */
4798
  BITCODE_CMC title_vert_ins_color;       /*!< DXF 68 if DXF 94 & 0x10 */
4799
  BITCODE_CMC title_vert_right_color;     /*!< DXF 69 if DXF 94 & 0x20 */
4800
  BITCODE_CMC header_horiz_top_color;     /*!< DXF 64 if DXF 94 & 0x40 */
4801
  BITCODE_CMC header_horiz_ins_color;     /*!< DXF 65 */
4802
  BITCODE_CMC header_horiz_bottom_color;  /*!< DXF 66 */
4803
  BITCODE_CMC header_vert_left_color;     /*!< DXF 63 */
4804
  BITCODE_CMC header_vert_ins_color;      /*!< DXF 68 */
4805
  BITCODE_CMC header_vert_right_color;    /*!< DXF 69 */
4806
  BITCODE_CMC data_horiz_top_color;       /*!< DXF 64 */
4807
  BITCODE_CMC data_horiz_ins_color;       /*!< DXF 65 */
4808
  BITCODE_CMC data_horiz_bottom_color;    /*!< DXF 66 */
4809
  BITCODE_CMC data_vert_left_color;       /*!< DXF 63 */
4810
  BITCODE_CMC data_vert_ins_color;        /*!< DXF 68 */
4811
  BITCODE_CMC data_vert_right_color;      /*!< DXF 69 */
4812
4813
  BITCODE_B has_border_lineweight_overrides;   /*!< if DXF 95 > 0 */
4814
  BITCODE_BL border_lineweight_overrides_flag; /*!< DXF 95 */
4815
  BITCODE_BS title_horiz_top_linewt;
4816
  BITCODE_BS title_horiz_ins_linewt;
4817
  BITCODE_BS title_horiz_bottom_linewt;
4818
  BITCODE_BS title_vert_left_linewt;
4819
  BITCODE_BS title_vert_ins_linewt;
4820
  BITCODE_BS title_vert_right_linewt;
4821
  BITCODE_BS header_horiz_top_linewt;
4822
  BITCODE_BS header_horiz_ins_linewt;
4823
  BITCODE_BS header_horiz_bottom_linewt;
4824
  BITCODE_BS header_vert_left_linewt;
4825
  BITCODE_BS header_vert_ins_linewt;
4826
  BITCODE_BS header_vert_right_linewt;
4827
  BITCODE_BS data_horiz_top_linewt;
4828
  BITCODE_BS data_horiz_ins_linewt;
4829
  BITCODE_BS data_horiz_bottom_linewt;
4830
  BITCODE_BS data_vert_left_linewt;
4831
  BITCODE_BS data_vert_ins_linewt;
4832
  BITCODE_BS data_vert_right_linewt;
4833
4834
  BITCODE_B has_border_visibility_overrides;
4835
  BITCODE_BL border_visibility_overrides_flag; /*!< DXF 96 */
4836
  BITCODE_BS title_horiz_top_visibility;
4837
  BITCODE_BS title_horiz_ins_visibility;
4838
  BITCODE_BS title_horiz_bottom_visibility;
4839
  BITCODE_BS title_vert_left_visibility;
4840
  BITCODE_BS title_vert_ins_visibility;
4841
  BITCODE_BS title_vert_right_visibility;
4842
  BITCODE_BS header_horiz_top_visibility;
4843
  BITCODE_BS header_horiz_ins_visibility;
4844
  BITCODE_BS header_horiz_bottom_visibility;
4845
  BITCODE_BS header_vert_left_visibility;
4846
  BITCODE_BS header_vert_ins_visibility;
4847
  BITCODE_BS header_vert_right_visibility;
4848
  BITCODE_BS data_horiz_top_visibility;
4849
  BITCODE_BS data_horiz_ins_visibility;
4850
  BITCODE_BS data_horiz_bottom_visibility;
4851
  BITCODE_BS data_vert_left_visibility;
4852
  BITCODE_BS data_vert_ins_visibility;
4853
  BITCODE_BS data_vert_right_visibility;
4854
4855
  BITCODE_H block_header;
4856
  BITCODE_H first_attrib;
4857
  BITCODE_H last_attrib;
4858
  BITCODE_H* attribs;
4859
  BITCODE_H seqend;
4860
  BITCODE_H title_row_style_override;
4861
  BITCODE_H header_row_style_override;
4862
  BITCODE_H data_row_style_override;
4863
4864
  BITCODE_BS unknown_bs;
4865
  BITCODE_3BD hor_dir;
4866
  BITCODE_BL has_break_data;
4867
  BITCODE_BL break_flag;
4868
  BITCODE_BL break_flow_direction;
4869
  BITCODE_BD break_spacing;
4870
  BITCODE_BL break_unknown1;
4871
  BITCODE_BL break_unknown2;
4872
  BITCODE_BL num_break_heights;
4873
  Dwg_TABLE_BreakHeight *break_heights;
4874
  BITCODE_BL num_break_rows;
4875
  Dwg_TABLE_BreakRow *break_rows;
4876
4877
} Dwg_Entity_TABLE;
4878
4879
#undef TABLECONTENT_fields
4880
4881
/**
4882
 Class TABLESTYLE (varies)
4883
 */
4884
4885
typedef struct _dwg_TABLESTYLE_CellStyle
4886
{
4887
  struct _dwg_object_TABLESTYLE *parent;
4888
  BITCODE_BL id;   /* 1=title, 2=header, 3=data, 4=table.
4889
                      ref TABLESTYLE. custom IDs > 100 */
4890
  BITCODE_BL type; /* 1=data, 2=label */
4891
  BITCODE_T  name;
4892
  struct _dwg_CellStyle cellstyle;
4893
} Dwg_TABLESTYLE_CellStyle;
4894
4895
// very similar to GridLine, or GridFormat. but no overrides, type, ltype, ...
4896
typedef struct _dwg_TABLESTYLE_border
4897
{
4898
  BITCODE_BSd linewt;
4899
  BITCODE_B visible;
4900
  BITCODE_CMC color;
4901
  //TODO
4902
  // BITCODE_H ltype;
4903
  // BITCODE_BD double_line_spacing;
4904
} Dwg_TABLESTYLE_border; // child of TABLE/TABLESTYLE/...
4905
4906
typedef struct _dwg_TABLESTYLE_rowstyles
4907
{
4908
  struct _dwg_object_TABLESTYLE *parent;
4909
  BITCODE_H text_style;
4910
  BITCODE_BD text_height;
4911
  BITCODE_BS text_alignment;
4912
  BITCODE_CMC text_color;
4913
  BITCODE_CMC fill_color;
4914
  BITCODE_B has_bgcolor;
4915
4916
  // 6: top, horizontal inside, bottom, left, vertical inside, right
4917
  BITCODE_BL num_borders; // always 6
4918
  Dwg_TABLESTYLE_border *borders;
4919
4920
  BITCODE_BL data_type;  // r2007+
4921
  BITCODE_BL unit_type;
4922
  BITCODE_TU format_string;
4923
} Dwg_TABLESTYLE_rowstyles;
4924
4925
typedef struct _dwg_object_TABLESTYLE
4926
{
4927
  struct _dwg_object_object *parent;
4928
4929
  BITCODE_BS class_version;
4930
  BITCODE_T name;
4931
  BITCODE_BS flags;
4932
  BITCODE_BS flow_direction;
4933
  BITCODE_BD horiz_cell_margin;
4934
  BITCODE_BD vert_cell_margin;
4935
  BITCODE_B is_title_suppressed;
4936
  BITCODE_B is_header_suppressed;
4937
  BITCODE_RC unknown_rc;         //r2007+ signed
4938
  BITCODE_BL unknown_bl1;
4939
  BITCODE_BL unknown_bl2;
4940
  BITCODE_H cellstyle;           //r2007+. was called template
4941
  Dwg_TABLESTYLE_CellStyle sty;  //r2007+. Note: embedded struct
4942
  BITCODE_BL numoverrides;      // ??
4943
  BITCODE_BL unknown_bl3;
4944
  Dwg_TABLESTYLE_CellStyle ovr;  // ??
4945
4946
  // 0: data, 1: title, 2: header
4947
  BITCODE_BL num_rowstyles; // always 3
4948
  Dwg_TABLESTYLE_rowstyles *rowstyles;
4949
} Dwg_Object_TABLESTYLE;
4950
4951
/**
4952
 Class CELLSTYLEMAP (varies)
4953
 R2008+ TABLESTYLE extension class
4954
 */
4955
typedef struct _dwg_object_CELLSTYLEMAP
4956
{
4957
  struct _dwg_object_object *parent;
4958
  BITCODE_BL num_cells;
4959
  Dwg_TABLESTYLE_CellStyle *cells;
4960
} Dwg_Object_CELLSTYLEMAP;
4961
4962
/* 20.4.103 TABLEGEOMETRY
4963
 r2008+ optional, == 20.4.98
4964
 */
4965
4966
typedef struct _dwg_TABLEGEOMETRY_Cell
4967
{
4968
  struct _dwg_object_TABLEGEOMETRY *parent;
4969
  BITCODE_BL geom_data_flag;
4970
  BITCODE_BD width_w_gap;
4971
  BITCODE_BD height_w_gap;
4972
  BITCODE_H tablegeometry;
4973
  BITCODE_BL num_geometry;
4974
  Dwg_CellContentGeometry *geometry;
4975
} Dwg_TABLEGEOMETRY_Cell;
4976
4977
typedef struct _dwg_object_TABLEGEOMETRY
4978
{
4979
  struct _dwg_object_object *parent;
4980
  BITCODE_BL numrows;
4981
  BITCODE_BL numcols;
4982
  BITCODE_BL num_cells; /* = num_rows * num_cols */
4983
  Dwg_TABLEGEOMETRY_Cell *cells;
4984
} Dwg_Object_TABLEGEOMETRY;
4985
4986
4987
/**
4988
  Abstract class UNDERLAYDEFINITION (varies)
4989
  Parent of {PDF,DGN,DWF}DEFINITION
4990
 */
4991
typedef struct _dwg_abstractobject_UNDERLAYDEFINITION
4992
{
4993
  struct _dwg_object_object *parent;
4994
4995
  BITCODE_T filename; /*!< DXF 1, relative or absolute path to the image file */
4996
  BITCODE_T name;     /*!< DXF 2, pdf: page number, dgn: default, dwf: ? */
4997
} Dwg_Object_UNDERLAYDEFINITION;
4998
4999
typedef struct _dwg_abstractobject_UNDERLAYDEFINITION Dwg_Object_PDFDEFINITION;
5000
typedef struct _dwg_abstractobject_UNDERLAYDEFINITION Dwg_Object_DGNDEFINITION;
5001
typedef struct _dwg_abstractobject_UNDERLAYDEFINITION Dwg_Object_DWFDEFINITION;
5002
5003
/**
5004
 Abstract entity UNDERLAY, the reference (varies)
5005
 As IMAGE or WIPEOUT but snappable, and with holes.
5006
 Parent of {PDF,DGN,DWF}UNDERLAY
5007
 In C++ as UnderlayReference
5008
 */
5009
typedef struct _dwg_abstractentity_UNDERLAY
5010
{
5011
  struct _dwg_object_entity *parent;
5012
5013
  BITCODE_BE extrusion; /*!< DXF 210 normal */
5014
  BITCODE_3BD ins_pt;  /*!< DXF 10 */
5015
  BITCODE_3BD scale;   /*!< DXF 41 */
5016
  BITCODE_BD angle;    /*!< DXF 50 */
5017
  BITCODE_RC flag;     /*!< DXF 280: 1 is_clipped, 2 is_on, 4 is_monochrome,
5018
                            8 is_adjusted_for_background, 16 is_clip_inverted,
5019
                            ? is_frame_visible, ? is_frame_plottable */
5020
  BITCODE_RC contrast; /*!< DXF 281 20-100, def: 100 */
5021
  BITCODE_RC fade;     /*!< DXF 282 0-80, def: 0 */
5022
  BITCODE_BL num_clip_verts;
5023
  BITCODE_2RD *clip_verts;     /*!< DXF 11: if 2 rectangle, > polygon */
5024
  /* Note that neither Wipeout nor RasterImage has these inverted clips, allowing one hole.
5025
     They just have an clip_mode flag for is_inverted.
5026
     GeoJSON/GIS has multiple polygons, allowing multiple nested holes. */
5027
  BITCODE_BS num_clip_inverts; /*!< DXF 170 */
5028
  BITCODE_2RD *clip_inverts;   /*!< DXF 12  */
5029
  BITCODE_H definition_id;     /*!< DXF 340 */
5030
} Dwg_Entity_UNDERLAY;
5031
5032
typedef struct _dwg_abstractentity_UNDERLAY Dwg_Entity_PDFUNDERLAY;
5033
typedef struct _dwg_abstractentity_UNDERLAY Dwg_Entity_DGNUNDERLAY;
5034
typedef struct _dwg_abstractentity_UNDERLAY Dwg_Entity_DWFUNDERLAY;
5035
5036
/**
5037
 Class DBCOLOR (varies)
5038
 */
5039
typedef struct _dwg_object_DBCOLOR
5040
{
5041
  struct _dwg_object_object *parent;
5042
  BITCODE_CMC color;   //62,420,430
5043
} Dwg_Object_DBCOLOR;
5044
5045
/**
5046
 Class FIELDLIST AcDbField (varies)
5047
 R2018+
5048
 */
5049
typedef struct _dwg_FIELD_ChildValue
5050
{
5051
  struct _dwg_object_FIELD *parent;
5052
  BITCODE_TV key;   /*!< DXF 6 */
5053
  Dwg_TABLE_value value;
5054
} Dwg_FIELD_ChildValue;
5055
5056
typedef struct _dwg_object_FIELD
5057
{
5058
  struct _dwg_object_object *parent;
5059
                    /* dxf group code */
5060
  BITCODE_TV id;           /* 1 */
5061
  BITCODE_TV code;         /* 2,3 */
5062
  BITCODE_BL num_childs;   /* 90 */
5063
  BITCODE_H *childs;       /* code:3, 360 */
5064
  BITCODE_BL num_objects;  /* 97 */
5065
  BITCODE_H *objects;      /* code:5, 331 */
5066
  BITCODE_TV format;       /* 4, until r2004 only */
5067
  BITCODE_BL evaluation_option; /* 91 */
5068
  BITCODE_BL filing_option;     /* 92 */
5069
  BITCODE_BL field_state;       /* 94 */
5070
  BITCODE_BL evaluation_status; /* 95 */
5071
  BITCODE_BL evaluation_error_code; /* 96 */
5072
  BITCODE_TV evaluation_error_msg;  /* 300 */
5073
  Dwg_TABLE_value value;
5074
  BITCODE_TV value_string;        /* 301,9 */
5075
  BITCODE_BL value_string_length; /* 98 ODA bug: TV */
5076
  BITCODE_BL num_childval;      /* 93 */
5077
  Dwg_FIELD_ChildValue *childval;
5078
} Dwg_Object_FIELD;
5079
5080
/**
5081
 * Object FIELDLIST (varies)
5082
 */
5083
typedef struct _dwg_object_FIELDLIST
5084
{
5085
  struct _dwg_object_object *parent;
5086
5087
  BITCODE_BL num_fields;
5088
  BITCODE_B unknown;
5089
  BITCODE_H *fields;
5090
} Dwg_Object_FIELDLIST;
5091
5092
/**
5093
 Class GEODATA (varies)
5094
 R2009+
5095
 */
5096
typedef struct _dwg_GEODATA_meshpt
5097
{
5098
  BITCODE_2RD source_pt;
5099
  BITCODE_2RD dest_pt;
5100
} Dwg_GEODATA_meshpt;
5101
5102
typedef struct _dwg_GEODATA_meshface
5103
{
5104
  BITCODE_BL face1;
5105
  BITCODE_BL face2;
5106
  BITCODE_BL face3;
5107
} Dwg_GEODATA_meshface;
5108
5109
typedef struct _dwg_object_GEODATA
5110
{                   /* dxf group code */
5111
  struct _dwg_object_object *parent;
5112
5113
  BITCODE_BL class_version;
5114
  BITCODE_H host_block;
5115
  BITCODE_BS coord_type; /* 0 unknown, 1 local grid, 2 projected grid,
5116
                            3 geographic defined by latitude/longitude) */
5117
  BITCODE_3BD design_pt;
5118
  BITCODE_3BD ref_pt;
5119
  BITCODE_3BD obs_pt;
5120
  BITCODE_3BD scale_vec; // always 1.0,1.0,1.0
5121
  BITCODE_BD unit_scale_horiz;
5122
  BITCODE_BL units_value_horiz; // enum 0-20
5123
  BITCODE_BD unit_scale_vert;
5124
  BITCODE_BL units_value_vert; // enum 0-20
5125
  BITCODE_3BD up_dir;
5126
  BITCODE_2RD north_dir;
5127
  BITCODE_BL scale_est; /* None = 1, User specified scale factor = 2,
5128
                           Grid scale at reference point = 3, Prismodial = 4 */
5129
  BITCODE_BD user_scale_factor;
5130
  BITCODE_B do_sea_level_corr;
5131
  BITCODE_BD sea_level_elev;
5132
  BITCODE_BD coord_proj_radius;
5133
  BITCODE_T coord_system_def;
5134
  BITCODE_T geo_rss_tag;
5135
  BITCODE_T coord_system_datum; /* obsolete */
5136
  BITCODE_T coord_system_wkt; /* obsolete */
5137
5138
  BITCODE_T observation_from_tag;
5139
  BITCODE_T observation_to_tag;
5140
  BITCODE_T observation_coverage_tag;
5141
  BITCODE_BL num_geomesh_pts;
5142
  Dwg_GEODATA_meshpt *geomesh_pts;
5143
  BITCODE_BL num_geomesh_faces;
5144
  Dwg_GEODATA_meshface *geomesh_faces;
5145
5146
  BITCODE_B has_civil_data;
5147
  BITCODE_B obsolete_false;
5148
  BITCODE_2RD ref_pt2d; // (y, x) of ref_pt reversed
5149
  BITCODE_3BD zero1, zero2;
5150
  BITCODE_BL unknown1;
5151
  BITCODE_BL unknown2;
5152
  BITCODE_B unknown_b;
5153
  BITCODE_BD north_dir_angle_deg;
5154
  BITCODE_BD north_dir_angle_rad;
5155
} Dwg_Object_GEODATA;
5156
5157
/**
5158
 Class IDBUFFER (varies)
5159
 */
5160
typedef struct _dwg_object_IDBUFFER
5161
{
5162
  struct _dwg_object_object *parent;
5163
5164
  BITCODE_RC unknown;
5165
  BITCODE_BL num_obj_ids;
5166
  BITCODE_H* obj_ids;
5167
} Dwg_Object_IDBUFFER;
5168
5169
/**
5170
 Classes for IMAGE (varies)
5171
 */
5172
5173
typedef struct _dwg_entity_IMAGE
5174
{
5175
  struct _dwg_object_entity *parent;
5176
  // also used in WIPEOUT
5177
  BITCODE_BL class_version;
5178
  BITCODE_3BD pt0;
5179
  BITCODE_3BD uvec;
5180
  BITCODE_3BD vvec;
5181
  BITCODE_2RD image_size;   /*!< DXF 13/23; width, height in pixel */
5182
  BITCODE_BS display_props;
5183
  BITCODE_B clipping;
5184
  BITCODE_RC brightness;
5185
  BITCODE_RC contrast;
5186
  BITCODE_RC fade;
5187
  BITCODE_B clip_mode;           // 0 outside, 1 inside (inverted)
5188
  BITCODE_BS clip_boundary_type; // 1 rect, 2 polygon
5189
  BITCODE_BL num_clip_verts;
5190
  BITCODE_2RD* clip_verts;
5191
  BITCODE_H imagedef;
5192
  BITCODE_H imagedefreactor;
5193
} Dwg_Entity_IMAGE;
5194
5195
/**
5196
 Class IMAGEDEF (varies)
5197
 */
5198
typedef struct _dwg_object_IMAGEDEF
5199
{
5200
  struct _dwg_object_object *parent;
5201
5202
  BITCODE_BL class_version;
5203
  BITCODE_2RD image_size;
5204
  BITCODE_T file_path;
5205
  BITCODE_B is_loaded;
5206
  BITCODE_RC resunits;
5207
  BITCODE_2RD pixel_size;  // resolution MM/pixel
5208
  //BITCODE_H xrefctrl;    /*!< r2010+ */
5209
} Dwg_Object_IMAGEDEF;
5210
5211
/**
5212
 Class IMAGEDEF_REACTOR (varies)
5213
 */
5214
typedef struct _dwg_object_IMAGEDEF_REACTOR
5215
{
5216
  struct _dwg_object_object *parent;
5217
5218
  BITCODE_BL class_version;
5219
} Dwg_Object_IMAGEDEF_REACTOR;
5220
5221
/**
5222
 Class INDEX (varies)
5223
 Registered as "AutoCAD 2000", but not seen in the wild.
5224
 */
5225
typedef struct _dwg_object_INDEX
5226
{
5227
  struct _dwg_object_object *parent;
5228
  BITCODE_TIMEBLL last_updated;
5229
} Dwg_Object_INDEX;
5230
5231
/**
5232
 Class LAYER_INDEX (varies)
5233
 */
5234
typedef struct _dwg_LAYER_entry
5235
{
5236
  struct _dwg_object_LAYER_INDEX *parent;
5237
  BITCODE_BL numlayers;
5238
  BITCODE_T name;
5239
  BITCODE_H handle;
5240
} Dwg_LAYER_entry;
5241
5242
typedef struct _dwg_object_LAYER_INDEX
5243
{
5244
  struct _dwg_object_object *parent;
5245
  BITCODE_TIMEBLL last_updated;
5246
  BITCODE_BL num_entries;
5247
  Dwg_LAYER_entry* entries;
5248
} Dwg_Object_LAYER_INDEX;
5249
5250
/**
5251
 Class LWPOLYLINE (77 + varies)
5252
 */
5253
typedef struct _dwg_entity_LWPOLYLINE
5254
{
5255
  struct _dwg_object_entity *parent;
5256
5257
  BITCODE_BS flag;              /*!< DXF 70
5258
                                  512 closed, 128 plinegen, 4 constwidth, 8 elevation, 2 thickness
5259
                                  1 extrusion, 16 num_bulges, 1024 vertexidcount, 32 has_widths */
5260
  BITCODE_BD const_width;       /*!< DXF 43 */
5261
  BITCODE_BD elevation;         /*!< DXF 38 */
5262
  BITCODE_BD thickness;         /*!< DXF 39 */
5263
  BITCODE_BE extrusion;        /*!< DXF 210 */
5264
  BITCODE_BL num_points;        /*!< DXF 90 */
5265
  BITCODE_2RD* points;          /*!< DXF 10,20 */
5266
  BITCODE_BL num_bulges;
5267
  BITCODE_BD* bulges;           /*!< DXF 42 */
5268
  BITCODE_BL num_vertexids;     /*!< r2010+, same as num_points */
5269
  BITCODE_BL* vertexids;        /*!< r2010+ DXF 91 */
5270
  BITCODE_BL num_widths;
5271
  Dwg_LWPOLYLINE_width* widths; /*!< DXF 40,41 */
5272
} Dwg_Entity_LWPOLYLINE;
5273
5274
/**
5275
 Class RASTERVARIABLES (varies)
5276
 (used in conjunction with IMAGE entities)
5277
 */
5278
typedef struct _dwg_object_RASTERVARIABLES
5279
{
5280
  struct _dwg_object_object *parent;
5281
5282
  BITCODE_BL class_version;
5283
  BITCODE_BS image_frame;
5284
  BITCODE_BS image_quality;
5285
  BITCODE_BS units; // DXF 72, i.e. user_scale
5286
} Dwg_Object_RASTERVARIABLES;
5287
5288
/**
5289
 Object SCALE (varies)
5290
 */
5291
typedef struct _dwg_object_SCALE
5292
{
5293
  struct _dwg_object_object *parent;
5294
5295
  BITCODE_BS flag; /* 1: is_temporary */
5296
  BITCODE_TV name;
5297
  BITCODE_BD paper_units;
5298
  BITCODE_BD drawing_units;
5299
  BITCODE_B is_unit_scale;
5300
} Dwg_Object_SCALE;
5301
5302
/**
5303
 Class SORTENTSTABLE (varies)
5304
 */
5305
typedef struct _dwg_object_SORTENTSTABLE
5306
{
5307
  struct _dwg_object_object *parent;
5308
5309
  BITCODE_BL num_ents;
5310
  BITCODE_H* sort_ents;
5311
  BITCODE_H block_owner; // mspace or pspace
5312
  BITCODE_H* ents;
5313
} Dwg_Object_SORTENTSTABLE;
5314
5315
/**
5316
 Class SPATIAL_FILTER (varies)
5317
 */
5318
typedef struct _dwg_object_SPATIAL_FILTER
5319
{
5320
  struct _dwg_object_object *parent;
5321
5322
  BITCODE_BS num_clip_verts;
5323
  BITCODE_2RD* clip_verts;
5324
  BITCODE_BE extrusion;
5325
  BITCODE_3BD origin;
5326
  BITCODE_BS display_boundary_on;
5327
  BITCODE_BS front_clip_on;
5328
  BITCODE_BD front_clip_z;
5329
  BITCODE_BS back_clip_on;
5330
  BITCODE_BD back_clip_z;
5331
  BITCODE_BD* inverse_transform;
5332
  BITCODE_BD* transform;
5333
} Dwg_Object_SPATIAL_FILTER;
5334
5335
/**
5336
 Class SPATIAL_INDEX (varies)
5337
 ODA only covers the AcDbFilter class, but misses the rest.
5338
 */
5339
typedef struct _dwg_object_SPATIAL_INDEX
5340
{
5341
  struct _dwg_object_object *parent;
5342
5343
  BITCODE_TIMEBLL last_updated;
5344
  BITCODE_BD num1, num2, num3, num4, num5, num6;
5345
  BITCODE_BL num_hdls;
5346
  BITCODE_H *hdls;
5347
  BITCODE_BL bindata_size;
5348
  BITCODE_TF bindata;
5349
} Dwg_Object_SPATIAL_INDEX;
5350
5351
/**
5352
 WIPEOUT (varies, 504)
5353
 R2000+, undocumented = IMAGE layover
5354
 */
5355
typedef struct _dwg_entity_WIPEOUT
5356
{
5357
  struct _dwg_object_entity *parent;
5358
5359
  BITCODE_BL class_version;
5360
  BITCODE_3BD pt0;
5361
  BITCODE_3BD uvec;
5362
  BITCODE_3BD vvec;
5363
  BITCODE_2RD image_size;
5364
  BITCODE_BS display_props;
5365
  BITCODE_B clipping;
5366
  BITCODE_RC brightness;
5367
  BITCODE_RC contrast;
5368
  BITCODE_RC fade;
5369
  BITCODE_B clip_mode;           // 0 outside, 1 inside (inverted)
5370
  BITCODE_BS clip_boundary_type; // 1 rect, 2 polygon
5371
  BITCODE_BL num_clip_verts;
5372
  BITCODE_2RD* clip_verts;
5373
  BITCODE_H imagedef;
5374
  BITCODE_H imagedefreactor;
5375
} Dwg_Entity_WIPEOUT;
5376
5377
/**
5378
 Class WIPEOUTVARIABLES (varies, 505)
5379
 R2000+, Object bitsize: 96
5380
 */
5381
typedef struct _dwg_object_WIPEOUTVARIABLES
5382
{
5383
  struct _dwg_object_object *parent;
5384
  //BITCODE_BL class_version;  /*!< DXF 90 NY */
5385
  BITCODE_BS display_frame;    /*!< DXF 70  */
5386
} Dwg_Object_WIPEOUTVARIABLES;
5387
5388
/* SECTIONPLANE, r2007+
5389
 * Looks like the livesection ptr from VIEW
5390
 */
5391
typedef struct _dwg_entity_SECTIONOBJECT
5392
{
5393
  struct _dwg_object_entity *parent;
5394
  BITCODE_BL state;   /*!< DXF 90. Plane=1, Boundary=2, Volume=4 */
5395
  BITCODE_BL flags;   /*!< DXF 91. hitflags: sectionline=1, sectionlinetop=2, sectionlinebottom=4,
5396
                                  backline=8, backlinetop=16, backlinebottom=32, verticallinetop=64,
5397
                                  verticallinebottom=128.
5398
                                  heightflags: HeightAboveSectionLine=1, HeightBelowSectionLine=2
5399
                                 */
5400
  BITCODE_T name;   /*!< DXF 1 */
5401
  //BITCODE_3BD viewing_dir;  /*!< normal of the 1st segment plane */
5402
  BITCODE_3BD vert_dir;         /*!< DXF 10. normal to the segment line, on the plane */
5403
  BITCODE_BD top_height;  /*!< DXF 40 */
5404
  BITCODE_BD bottom_height; /*!< DXF 41 */
5405
  BITCODE_BS indicator_alpha; /*!< DXF 70 */
5406
  BITCODE_CMC indicator_color;  /*!< DXF 62/420 (but documented as 63/411) */
5407
  BITCODE_BL num_verts;   /*!< DXF 92 */
5408
  BITCODE_3BD *verts;   /*!< DXF 11 */
5409
  BITCODE_BL num_blverts; /*!< DXF 93 */
5410
  BITCODE_3BD *blverts;   /*!< DXF 12 */
5411
  BITCODE_H section_settings; /*!< DXF 360 */
5412
5413
} Dwg_Entity_SECTIONOBJECT;
5414
5415
/**
5416
 Unstable
5417
 Class VISUALSTYLE (varies)
5418
 R2007+
5419
5420
 32 types, with 3 categories: Face, Edge, Display, plus 58 props r2013+
5421
 */
5422
typedef struct _dwg_object_VISUALSTYLE
5423
{
5424
  struct _dwg_object_object *parent;
5425
  BITCODE_T description;          /*!< DXF 2  */
5426
  BITCODE_BL style_type;          /*!< DXF 70 enum 0-32: (kFlat-kEmptyStyle acgivisualstyle.h) */
5427
  BITCODE_BS ext_lighting_model;  /*!< DXF 177, r2010+ ? required on has_xdata */
5428
  BITCODE_B internal_only;        /*!< DXF 291, has internal_use_only flags */
5429
  BITCODE_BL face_lighting_model; /*!< DXF 71 0:Invisible 1:Visible 2:Phong 3:Gooch */
5430
  BITCODE_BS face_lighting_model_int;   /*!< DXF 176 r2010+ */
5431
  BITCODE_BL face_lighting_quality;     /*!< DXF 72 0:No lighting 1:Per face 2:Per vertex */
5432
  BITCODE_BS face_lighting_quality_int; /*!< DXF 176 r2010+ */
5433
  BITCODE_BL face_color_mode;   /*!< DXF 73 0 = No color
5434
                                            1 = Object color
5435
                                            2 = Background color
5436
                                            3 = Custom color
5437
                                            4 = Mono color
5438
                                            5 = Tinted
5439
                                            6 = Desaturated */
5440
  BITCODE_BS face_color_mode_int; /*!< DXF 176 r2010+ */
5441
  BITCODE_BD face_opacity;      /*!< DXF 40  */
5442
  BITCODE_BS face_opacity_int;  /*!< DXF 176 r2010+ */
5443
  BITCODE_BD face_specular;     /*!< DXF 41  */
5444
  BITCODE_BS face_specular_int; /*!< DXF 176 r2010+ */
5445
  BITCODE_BL face_modifier;     /*!< DXF 90 0:No modifiers 1:Opacity 2:Specular */
5446
  BITCODE_BS face_modifier_int; /*!< DXF 176 r2010+ */
5447
  BITCODE_CMC face_mono_color;  /*!< DXF 63 + 421 */
5448
  BITCODE_BS face_mono_color_int; /*!< DXF 176 r2010+ */
5449
  BITCODE_BS edge_model;        /*!< DXF 74 0:No edges 1:Isolines 2:Facet edges */
5450
  BITCODE_BS edge_model_int;    /*!< DXF 176 r2010+ */
5451
  BITCODE_BL edge_style;        /*!< DXF 91  */
5452
  BITCODE_BS edge_style_int;    /*!< DXF 176 r2010+ */
5453
  BITCODE_CMC edge_intersection_color;  /*!< DXF 64  */
5454
  BITCODE_BS edge_intersection_color_int; /*!< DXF 176 r2010+ */
5455
  BITCODE_CMC edge_obscured_color;      /*!< DXF 65  */
5456
  BITCODE_BS edge_obscured_color_int;   /*!< DXF 176 r2010+ */
5457
  BITCODE_BL edge_obscured_ltype;      /*!< DXF 75   */
5458
  BITCODE_BS edge_obscured_ltype_int;  /*!< DXF 176 r2010+ */
5459
  BITCODE_BL edge_intersection_ltype;  /*!< DXF 175  */
5460
  BITCODE_BS edge_intersection_ltype_int; /*!< DXF 176 r2010+ */
5461
  BITCODE_BD edge_crease_angle;         /*!< DXF 42  */
5462
  BITCODE_BS edge_crease_angle_int;     /*!< DXF 176 r2010+ */
5463
  BITCODE_BL edge_modifier;             /*!< DXF 92  */
5464
  BITCODE_BS edge_modifier_int;         /*!< DXF 176 r2010+ */
5465
  BITCODE_CMC edge_color;               /*!< DXF 66  */
5466
  BITCODE_BS edge_color_int;            /*!< DXF 176 r2010+ */
5467
  BITCODE_BD edge_opacity;              /*!< DXF 43  */
5468
  BITCODE_BS edge_opacity_int;          /*!< DXF 176 r2010+ */
5469
  BITCODE_BL edge_width;                /*!< DXF 76  */
5470
  BITCODE_BS edge_width_int;            /*!< DXF 176 r2010+ */
5471
  BITCODE_BL edge_overhang;             /*!< DXF 77  */
5472
  BITCODE_BS edge_overhang_int;         /*!< DXF 176 r2010+ */
5473
  BITCODE_BL edge_jitter;               /*!< DXF 78  */
5474
  BITCODE_BS edge_jitter_int;           /*!< DXF 176 r2010+ */
5475
  BITCODE_CMC edge_silhouette_color;    /*!< DXF 67  */
5476
  BITCODE_BS edge_silhouette_color_int; /*!< DXF 176 r2010+ */
5477
  BITCODE_BL edge_silhouette_width;     /*!< DXF 79  */
5478
  BITCODE_BS edge_silhouette_width_int; /*!< DXF 176 r2010+ */
5479
  BITCODE_BL edge_halo_gap;             /*!< DXF 170  */
5480
  BITCODE_BS edge_halo_gap_int;         /*!< DXF 176 r2010+ */
5481
  BITCODE_BL edge_isolines;             /*!< DXF 171  */
5482
  BITCODE_BS edge_isolines_int;         /*!< DXF 176 r2010+ */
5483
  BITCODE_B  edge_do_hide_precision;    /*!< DXF 290  */
5484
  BITCODE_BS edge_do_hide_precision_int;/*!< DXF 176 r2010+ */
5485
  BITCODE_BL edge_style_apply;      /*!< DXF 174  */
5486
  BITCODE_BS edge_style_apply_int;  /*!< DXF 176 r2010+  */
5487
  BITCODE_BL display_settings;          /*!< DXF 93 flags  */
5488
  BITCODE_BS display_settings_int;      /*!< DXF 176 r2010+ */
5489
  BITCODE_BLd display_brightness_bl;    /*!< DXF 44 <=r2007 */
5490
  BITCODE_BD display_brightness;        /*!< DXF 44  r2010+ */
5491
  BITCODE_BS display_brightness_int;    /*!< DXF 176 r2010+ */
5492
  BITCODE_BL display_shadow_type;       /*!< DXF 173  */
5493
  BITCODE_BS display_shadow_type_int;   /*!< DXF 176 r2010+ */
5494
  BITCODE_BD bd2007_45;                 /*!< DXF 45 r2007-only 0.0 */
5495
5496
  BITCODE_BS num_props;     /*!< r2013+ version3 58x */
5497
  /* the rest of the props:
5498
     all bool are 290, all BS/BL are 90, all BD are 40, colors 62, text 1 */
5499
  BITCODE_B b_prop1c;   BITCODE_BS b_prop1c_int;
5500
  BITCODE_B b_prop1d;   BITCODE_BS b_prop1d_int;
5501
  BITCODE_B b_prop1e;   BITCODE_BS b_prop1e_int;
5502
  BITCODE_B b_prop1f;   BITCODE_BS b_prop1f_int;
5503
  BITCODE_B b_prop20;   BITCODE_BS b_prop20_int;
5504
  BITCODE_B b_prop21;   BITCODE_BS b_prop21_int;
5505
  BITCODE_B b_prop22;   BITCODE_BS b_prop22_int;
5506
  BITCODE_B b_prop23;   BITCODE_BS b_prop23_int;
5507
  BITCODE_B b_prop24;   BITCODE_BS b_prop24_int;
5508
  BITCODE_BL bl_prop25; BITCODE_BS bl_prop25_int;
5509
  BITCODE_BD bd_prop26; BITCODE_BS bd_prop26_int;
5510
  BITCODE_BD bd_prop27; BITCODE_BS bd_prop27_int;
5511
  BITCODE_BL bl_prop28; BITCODE_BS bl_prop28_int;
5512
  BITCODE_CMC c_prop29; BITCODE_BS c_prop29_int;
5513
  BITCODE_BL bl_prop2a; BITCODE_BS bl_prop2a_int;
5514
  BITCODE_BL bl_prop2b; BITCODE_BS bl_prop2b_int;
5515
  BITCODE_CMC c_prop2c; BITCODE_BS c_prop2c_int;
5516
  BITCODE_B b_prop2d;   BITCODE_BS b_prop2d_int;
5517
  BITCODE_BL bl_prop2e; BITCODE_BS bl_prop2e_int;
5518
  BITCODE_BL bl_prop2f; BITCODE_BS bl_prop2f_int;
5519
  BITCODE_BL bl_prop30; BITCODE_BS bl_prop30_int;
5520
  BITCODE_B b_prop31;   BITCODE_BS b_prop31_int;
5521
  BITCODE_BL bl_prop32; BITCODE_BS bl_prop32_int;
5522
  BITCODE_CMC c_prop33; BITCODE_BS c_prop33_int;
5523
  BITCODE_BD bd_prop34; BITCODE_BS bd_prop34_int;
5524
  BITCODE_BL edge_wiggle;BITCODE_BS edge_wiggle_int;
5525
  BITCODE_T strokes;    BITCODE_BS strokes_int;
5526
  BITCODE_B b_prop37;   BITCODE_BS b_prop37_int;
5527
  BITCODE_BD bd_prop38; BITCODE_BS bd_prop38_int;
5528
  BITCODE_BD bd_prop39; BITCODE_BS bd_prop39_int;
5529
5530
} Dwg_Object_VISUALSTYLE;
5531
5532
/**
5533
 Object LIGHTLIST (varies)
5534
 R2010+
5535
 */
5536
5537
typedef struct _dwg_LIGHTLIST_light
5538
{
5539
  struct _dwg_object_LIGHTLIST *parent;
5540
  BITCODE_T name;
5541
  BITCODE_H handle;
5542
} Dwg_LIGHTLIST_light;
5543
5544
/* 2010+ */
5545
typedef struct _dwg_object_LIGHTLIST
5546
{
5547
  struct _dwg_object_object *parent;
5548
  BITCODE_BL class_version;
5549
  BITCODE_BL num_lights;
5550
  Dwg_LIGHTLIST_light *lights;
5551
} Dwg_Object_LIGHTLIST;
5552
5553
5554
typedef struct _dwg_MATERIAL_color
5555
{
5556
  struct _dwg_object_object *parent;
5557
  BITCODE_RC flag;    /*!< 0 Use current color, 1 Override */
5558
  BITCODE_BD factor;  /*!< 0.0 - 1.0 */
5559
  BITCODE_BL rgb;
5560
} Dwg_MATERIAL_color;
5561
5562
typedef struct _dwg_MATERIAL_mapper
5563
{
5564
  struct _dwg_object_object *parent;
5565
  BITCODE_BD blendfactor;   /*!< DXF 42  def: 1.0 */
5566
  BITCODE_BD* transmatrix;  /*!< DXF 43: 16x BD */
5567
  BITCODE_T filename;       /*!< DXF 3   if NULL no diffuse map */
5568
  Dwg_MATERIAL_color color1;
5569
  Dwg_MATERIAL_color color2;
5570
  BITCODE_RC source;        /*!< DXF 72  0 current, 1 image file (def), 2 2nd map? */
5571
  BITCODE_RC projection;    /*!< DXF 73  1 Planar (def), 2 Box, 3 Cylinder, 4 Sphere */
5572
  BITCODE_RC tiling;        /*!< DXF 74  1 = Tile (def), 2 = Crop, 3 = Clamp */
5573
  BITCODE_RC autotransform; /*!< DXF 75  1 no, 2: scale to curr ent,
5574
                                         4: w/ current block transform */
5575
  /* marble, wood and procedural modes */
5576
  BITCODE_BS texturemode;
5577
} Dwg_MATERIAL_mapper;
5578
5579
typedef struct _dwg_MATERIAL_gentexture
5580
{
5581
  struct _dwg_object_MATERIAL *parent;
5582
  BITCODE_T genprocname;
5583
  struct _dwg_object_MATERIAL *material;
5584
} Dwg_MATERIAL_gentexture;
5585
5586
/**
5587
 Object MATERIAL (varies)
5588
 Acad Naming: e.g. Materials/assetlibrary_base.fbm/shaders/AdskShaders.mi
5589
                  Materials/assetlibrary_base.fbm/Mats/SolidGlass/Generic.xml
5590
 */
5591
typedef struct _dwg_object_MATERIAL
5592
{
5593
  struct _dwg_object_object *parent;
5594
5595
  BITCODE_T name;       /*!< DXF 1 */
5596
  BITCODE_T description;    /*!< DXF 2 optional */
5597
5598
  Dwg_MATERIAL_color ambient_color;    /*!< DXF 70, 40, 90 */
5599
  Dwg_MATERIAL_color diffuse_color;    /*!< DXF 71, 41, 91 */
5600
  Dwg_MATERIAL_mapper diffusemap;      /*!< DXF 42, 72, 3, 73, 74, 75, 43 */
5601
5602
  BITCODE_BD specular_gloss_factor;    /*!< DXF 44 def: 0.5 */
5603
  Dwg_MATERIAL_color specular_color;   /*!< DXF 76, 45, 92 */
5604
  Dwg_MATERIAL_mapper specularmap;     /*!< DXF 46, 77, 4, 78, 79, 170, 47 */
5605
5606
  //?? BD reflection_depth
5607
  //reflection_glossy_samples
5608
  Dwg_MATERIAL_mapper reflectionmap;   /*!< DXF 48, 171, 6, 172, 173, 174, 49 */
5609
5610
  BITCODE_BD opacity_percent;          /*!< DXF 140 def: 1.0 */
5611
  Dwg_MATERIAL_mapper opacitymap;      /*!< DXF 141, 175, 7, 176, 177, 178, 142 */
5612
5613
  //BITCODE_B bump_enable
5614
  //?BD bump_amount
5615
  Dwg_MATERIAL_mapper bumpmap;         /*!< DXF 143, 179, 8, 270, 271, 272, 144 */
5616
5617
  BITCODE_BD refraction_index;         /*!< DXF 145 def: 1.0 */
5618
  //?? BD refraction_depth
5619
  //?? BD refraction_translucency_weight
5620
  //?? refraction_glossy_samples
5621
  Dwg_MATERIAL_mapper refractionmap;   /*!< DXF 146, 273, 9, 274, 275, 276, 147 */
5622
5623
  BITCODE_BD color_bleed_scale;    /*!< DXF 460 */
5624
  BITCODE_BD indirect_bump_scale;  /*!< DXF 461 */
5625
  BITCODE_BD reflectance_scale;    /*!< DXF 462 */
5626
  BITCODE_BD transmittance_scale;  /*!< DXF 463 */
5627
  BITCODE_B two_sided_material;    /*!< DXF 290 */
5628
  BITCODE_BD luminance;            /*!< DXF 464 */
5629
  BITCODE_BS luminance_mode;       /*!< DXF 270 */
5630
  BITCODE_BD translucence;         /*!< DXF 148 */
5631
  BITCODE_BD self_illumination;    /*!< DXF 149 */
5632
  BITCODE_BD reflectivity;         /*!< DXF 468 */
5633
  BITCODE_BL illumination_model;   /*!< DXF 93 */
5634
  BITCODE_BL channel_flags;        /*!< DXF 94 */
5635
  BITCODE_BL mode;                 /*!< DXF 282 */
5636
5637
  BITCODE_T genprocname;           /*!< DXF 300 */
5638
  BITCODE_BS genproctype;
5639
  BITCODE_B genprocvalbool;        /*!< DXF 291 */
5640
  BITCODE_BS genprocvalint;        /*!< DXF 271 */
5641
  BITCODE_BD genprocvalreal;       /*!< DXF 469 */
5642
  BITCODE_T genprocvaltext;        /*!< DXF 301 */
5643
  BITCODE_CMC genprocvalcolor;     /*!< DXF 62 */
5644
  BITCODE_B genproctableend;       /*!< DXF 292 */
5645
  BITCODE_BS num_gentextures;
5646
  Dwg_MATERIAL_gentexture* gentextures;
5647
5648
#if 0
5649
  BITCODE_BS normalmap_method;     /*!< DXF 271 */
5650
  BITCODE_BD normalmap_strength;   /*!< DXF 465 def: 1.0 */
5651
  Dwg_MATERIAL_mapper normalmap;   /*!< DXF 42, 72, 3, 73, 74, 75, 43 */
5652
  BITCODE_B is_anonymous;          /*!< DXF 293 */
5653
  BITCODE_BS global_illumination;  /*!< DXF 272 */
5654
  BITCODE_BS final_gather;         /*!< DXF 273 */
5655
#endif
5656
  //? BD backface_cull
5657
  //? BD self_illum_luminance
5658
  //? BD self_illum_color_temperature
5659
} Dwg_Object_MATERIAL;
5660
5661
/**
5662
 Object OBJECT_PTR (varies) UNKNOWN FIELDS
5663
 yet unsorted, and unused.
5664
 */
5665
typedef struct _dwg_object_OBJECT_PTR
5666
{
5667
  struct _dwg_object_object *parent;
5668
} Dwg_Object_OBJECT_PTR;
5669
5670
/**
5671
 Entity LIGHT (varies)
5672
 UNSTABLE, now complete
5673
 */
5674
typedef struct _dwg_entity_LIGHT
5675
{
5676
  struct _dwg_object_entity *parent;
5677
5678
  BITCODE_BL class_version; /*!< DXF 90 */
5679
  BITCODE_T name;       /*!< DXF 1 */
5680
  BITCODE_BL type;      /*!< DXF 70, distant = 1; point = 2; spot = 3 */
5681
  BITCODE_B status;     /*!< DXF 290, on or off */
5682
  BITCODE_CMC light_color;  /*!< DXF 63 + 421. r2000: 90 for rgb */
5683
  BITCODE_B plot_glyph; /*!< DXF 291 */
5684
  BITCODE_BD intensity; /*!< DXF 40 */
5685
  BITCODE_3BD position; /*!< DXF 10 */
5686
  BITCODE_3BD target;   /*!< DXF 11 */
5687
  BITCODE_BL attenuation_type;        /*!< DXF 72. None=0, Inverse Linear=1,
5688
                                                   Inverse Square=2 */
5689
  BITCODE_B use_attenuation_limits;   /*!< DXF 292 */
5690
  BITCODE_BD attenuation_start_limit; /*!< DXF 41 */
5691
  BITCODE_BD attenuation_end_limit;   /*!< DXF 42 */
5692
  BITCODE_BD hotspot_angle;     /*!< DXF 50 */
5693
  BITCODE_BD falloff_angle;     /*!< DXF 51, with type=spot */
5694
  BITCODE_B cast_shadows;       /*!< DXF 293 */
5695
  BITCODE_BL shadow_type;       /*!< DXF 73, ray_traced=0, shadow_maps=1 */
5696
  BITCODE_BS shadow_map_size;     /*!< DXF 91 in pixel: 64,128,256,...4096 */
5697
  BITCODE_RC shadow_map_softness; /*!< DXF 280 1-10 (num pixels blend into) */
5698
5699
  BITCODE_B is_photometric;       /* if LIGHTINGUNITS == "2" */
5700
  BITCODE_B has_photometric_data;
5701
  BITCODE_B has_webfile;          /*!< DXF 290 */
5702
  BITCODE_T webfile;              /*!< DXF 300 IES file */
5703
  BITCODE_BS physical_intensity_method; /*!< DXF 70 */
5704
  BITCODE_BD physical_intensity;  /*!< DXF 40 */
5705
  BITCODE_BD illuminance_dist;    /*!< DXF 41 */
5706
  BITCODE_BS lamp_color_type;     /*!< DXF 71 0: in kelvin, 1: as preset */
5707
  BITCODE_BD lamp_color_temp;     /*!< DXF 42 Temperature in Kelvin */
5708
  BITCODE_BS lamp_color_preset;   /*!< DXF 72 */
5709
  BITCODE_BL lamp_color_rgb;      /*!< if lamp_color_preset is Custom */
5710
  BITCODE_3BD web_rotation;       /*!< DXF 43-45 rotation offset in XYZ Euler angles */
5711
  BITCODE_BS extlight_shape;      /*!< DXF 73: 0 linear, 1 rect, 2 disk, 3 cylinder, 4 sphere */
5712
  BITCODE_BD extlight_length;     /*!< DXF 46 */
5713
  BITCODE_BD extlight_width;      /*!< DXF 47 */
5714
  BITCODE_BD extlight_radius;     /*!< DXF 48 */
5715
  BITCODE_BS webfile_type;        /*!< DXF 74 */
5716
  BITCODE_BS web_symetry;         /*!< DXF 75 */
5717
  BITCODE_BS has_target_grip;     /*!< DXF 76
5718
                                       if the light displays a target grip for orienting
5719
                                       the light */
5720
  BITCODE_BD web_flux;        /*!< DXF 49 */
5721
  BITCODE_BD web_angle1;      /*!< DXF 50 */
5722
  BITCODE_BD web_angle2;      /*!< DXF 51 */
5723
  BITCODE_BD web_angle3;      /*!< DXF 52 */
5724
  BITCODE_BD web_angle4;      /*!< DXF 53 */
5725
  BITCODE_BD web_angle5;      /*!< DXF 54 */
5726
  BITCODE_BS glyph_display_type;  /*!< DXF 77 0:auto, 1:on, 2:off */
5727
} Dwg_Entity_LIGHT;
5728
5729
/**
5730
 Entity CAMERA (varies) UNKNOWN FIELDS
5731
 not DWG persistent. yet unsorted, and unused.
5732
 */
5733
typedef struct _dwg_entity_CAMERA
5734
{
5735
  struct _dwg_object_entity *parent;
5736
  BITCODE_H view;
5737
} Dwg_Entity_CAMERA;
5738
5739
/**
5740
 Entity GEOPOSITIONMARKER (varies)
5741
*/
5742
typedef struct _dwg_entity_GEOPOSITIONMARKER
5743
{
5744
  struct _dwg_object_entity *parent;
5745
  BITCODE_BS class_version; /*!< DXF 90 point, lat_lon, mylocation */
5746
  BITCODE_3BD position;     /*!< DXF 10 */
5747
  BITCODE_BD radius;        /*!< DXF 40 */
5748
  BITCODE_BD landing_gap;   /*!< DXF 40 */
5749
  BITCODE_T notes;          /*!< DXF 1 */
5750
  BITCODE_RC text_alignment;   /*!< DXF 70  0 left, 1 center, 2 right */
5751
  BITCODE_B mtext_visible;     /*!< DXF 290 */
5752
  BITCODE_B enable_frame_text; /*!< DXF 290 */
5753
  BITCODE_3BD ins_pt;          /* DXF only, = position */
5754
  BITCODE_2RD alignment_pt;    /* DXF only */
5755
  Dwg_AcDbMTextObjectEmbedded mtext;
5756
  BITCODE_B is_really_locked;       /*<! DXF 70 */
5757
  BITCODE_BS annotative_data_size;/* R2018+ */
5758
  BITCODE_RC* annotative_data;    /* R2018+ */
5759
  BITCODE_BS annotative_flag;    /* R2018+ */
5760
  BITCODE_H  annotative_style;    /* R2018+ */
5761
} Dwg_Entity_GEOPOSITIONMARKER;
5762
5763
/**
5764
 Object GEOMAPIMAGE (varies), LiveMap image overlay.
5765
 yet unsorted, and unused.
5766
*/
5767
typedef struct _dwg_object_GEOMAPIMAGE
5768
{
5769
  struct _dwg_object_object *parent;
5770
  BITCODE_BL class_version; // 90
5771
  BITCODE_3BD pt0; // 10
5772
  BITCODE_2RD image_size; // 13
5773
  BITCODE_BS display_props; // 70
5774
  BITCODE_B clipping; // 280 i.e. clipping_enabled
5775
  BITCODE_RC brightness; // 281
5776
  BITCODE_RC contrast; // 282
5777
  BITCODE_RC fade; // 283
5778
  BITCODE_BD rotation;
5779
  //?
5780
  //BITCODE_3BD origin;
5781
  BITCODE_BD image_width;
5782
  BITCODE_BD image_height;
5783
  BITCODE_T name;
5784
  BITCODE_BD image_file;
5785
  BITCODE_BD image_visibility;
5786
  BITCODE_BS transparency;
5787
  BITCODE_BD height;
5788
  BITCODE_BD width;
5789
  BITCODE_B show_rotation;
5790
  BITCODE_BD scale_factor;
5791
  BITCODE_BS geoimage_brightness;
5792
  BITCODE_BS geoimage_contrast;
5793
  BITCODE_BS geoimage_fade;
5794
  BITCODE_BS geoimage_position;
5795
  BITCODE_BS geoimage_width;
5796
  BITCODE_BS geoimage_height;
5797
} Dwg_Object_GEOMAPIMAGE;
5798
5799
/**
5800
 Entity HELIX (varies) UNSTABLE
5801
 subclass of SPLINE
5802
*/
5803
typedef struct _dwg_entity_HELIX
5804
{
5805
  struct _dwg_object_entity *parent;
5806
5807
  // AcDbSpline
5808
  BITCODE_BS flag; /* computed */
5809
  BITCODE_BS scenario; /* 1 spline, 2 bezier */
5810
  BITCODE_BS degree;   /* 2 quadratic, 3 cubic */
5811
  BITCODE_BL splineflags; /* 2013+: method fit points = 1, CV frame show = 2, closed = 4 */
5812
  BITCODE_BL knotparam;    /* 2013+: Chord = 0, Square root = 1, Uniform = 2, Custom = 15 */
5813
  BITCODE_BD fit_tol;
5814
  BITCODE_3BD beg_tan_vec;
5815
  BITCODE_3BD end_tan_vec;
5816
  BITCODE_B rational;
5817
  BITCODE_B closed_b;
5818
  BITCODE_B periodic;
5819
  BITCODE_B weighted; /* bit 4 of 70 */
5820
  BITCODE_BD knot_tol;
5821
  BITCODE_BD ctrl_tol;
5822
  BITCODE_BS num_fit_pts;
5823
  BITCODE_3DPOINT* fit_pts;
5824
  BITCODE_BL num_knots;
5825
  BITCODE_BD* knots;
5826
  BITCODE_BL num_ctrl_pts;
5827
  Dwg_SPLINE_control_point* ctrl_pts;
5828
  // AcDbHelix
5829
  BITCODE_BL major_version; /*!< DXF 90: 27 */
5830
  BITCODE_BL maint_version; /*!< DXF 91: 1 */
5831
  BITCODE_3BD axis_base_pt; /*!< DXF 10 */
5832
  BITCODE_3BD start_pt;     /*!< DXF 11 */
5833
  BITCODE_3BD axis_vector;  /*!< DXF 12 */
5834
  BITCODE_BD radius;        /*!< DXF 40 */
5835
  BITCODE_BD turns;         /*!< DXF 41 */
5836
  BITCODE_BD turn_height;   /*!< DXF 42 */
5837
  BITCODE_B handedness;       /*!< DXF 290: 0: left, 1: right (twist) */
5838
  BITCODE_RC constraint_type; /*!< DXF 280: 0: turn_height, 1: turns, 2: height */
5839
5840
} Dwg_Entity_HELIX;
5841
5842
// TODO ACSH_SWEEP_CLASS has different names,
5843
// ACIS (sweep:options) even more so. ACIS key names are weird though, Acad didn't take them.
5844
#define SWEEPOPTIONS_fields  \
5845
  BITCODE_BD draft_angle;        /*!< DXF 42 */ \
5846
  BITCODE_BD draft_start_distance; /*!< DXF 43 */ \
5847
  BITCODE_BD draft_end_distance;   /*!< DXF 44 */ \
5848
  BITCODE_BD twist_angle;        /*!< DXF 45 */ \
5849
  BITCODE_BD scale_factor;  /*!< DXF 48 */ \
5850
  BITCODE_BD align_angle;   /*!< DXF 49 */ \
5851
  BITCODE_BD* sweep_entity_transmatrix; /*!< DXF 46: 16x BD */ \
5852
  BITCODE_BD* path_entity_transmatrix;  /*!< DXF 47: 16x BD */ \
5853
  BITCODE_B is_solid;          /*!< DXF 290 */ \
5854
  BITCODE_BS sweep_alignment_flags; /*!< DXF 70. \
5855
                                      0=No alignment, 1=Align sweep entity to path, \
5856
                                      2=Translate sweep entity to path, \
5857
                                      3=Translate path to sweep entity */ \
5858
  BITCODE_BS path_flags; /*!< DXF 71 */                                 \
5859
  BITCODE_B align_start;                        /*!< DXF 292 */ \
5860
  BITCODE_B bank;                               /*!< DXF 293 */ \
5861
  BITCODE_B base_point_set;                     /*!< DXF 294 */ \
5862
  BITCODE_B sweep_entity_transform_computed;    /*!< DXF 295 */ \
5863
  BITCODE_B path_entity_transform_computed;     /*!< DXF 296 */ \
5864
  BITCODE_3BD reference_vector_for_controlling_twist; /*!< DXF 11 */ \
5865
  BITCODE_H sweep_entity; \
5866
  BITCODE_H path_entity
5867
5868
/**
5869
 Entity EXTRUDEDSURFACE (varies)
5870
 in DXF encrypted.
5871
*/
5872
typedef struct _dwg_entity_EXTRUDEDSURFACE
5873
{
5874
  struct _dwg_object_entity *parent;
5875
  _3DSOLID_FIELDS;
5876
  //? sweep_profile, taper_angle
5877
  BITCODE_BS modeler_format_version; /*!< DXF 70 */
5878
  BITCODE_BL bindata_size; // 90
5879
  BITCODE_TF bindata; // 310|1
5880
  BITCODE_BS u_isolines;        /*!< DXF 71 */
5881
  BITCODE_BS v_isolines;        /*!< DXF 72 */
5882
  BITCODE_BL class_version;   /*!< DXF 90 */
5883
  SWEEPOPTIONS_fields;
5884
  //BITCODE_BD height;
5885
  BITCODE_3BD sweep_vector;    /*!< DXF 10 */
5886
  BITCODE_BD* sweep_transmatrix; /*!< DXF 40: 16x BD */
5887
} Dwg_Entity_EXTRUDEDSURFACE;
5888
5889
/**
5890
 Entity SWEPTSURFACE (varies)
5891
*/
5892
typedef struct _dwg_entity_SWEPTSURFACE
5893
{
5894
  struct _dwg_object_entity *parent;
5895
  _3DSOLID_FIELDS;
5896
  BITCODE_BS modeler_format_version; /*!< DXF 70 */
5897
  BITCODE_BS u_isolines;         /*!< DXF 71 */
5898
  BITCODE_BS v_isolines;         /*!< DXF 72 */
5899
  BITCODE_BL class_version; /*!< DXF 90 */
5900
5901
  BITCODE_BL sweep_entity_id; // 90
5902
  BITCODE_BL sweepdata_size;
5903
  BITCODE_TF sweepdata;
5904
  BITCODE_BL path_entity_id;
5905
  BITCODE_BL pathdata_size;
5906
  BITCODE_TF pathdata;
5907
  SWEEPOPTIONS_fields;
5908
} Dwg_Entity_SWEPTSURFACE;
5909
5910
/**
5911
 Entity LOFTEDSURFACE (varies)
5912
*/
5913
typedef struct _dwg_entity_LOFTEDSURFACE
5914
{
5915
  struct _dwg_object_entity *parent;
5916
  _3DSOLID_FIELDS;
5917
  BITCODE_BS modeler_format_version; /*!< DXF 70 */
5918
  BITCODE_BS u_isolines;         /*!< DXF 71 */
5919
  BITCODE_BS v_isolines;         /*!< DXF 72 */
5920
  //BITCODE_BL class_version;      /*!< DXF 90 */
5921
  BITCODE_BD* loft_entity_transmatrix; /*!< DXF 40: 16x BD */
5922
  BITCODE_BL plane_normal_lofting_type; /*!< DXF 70 */
5923
  BITCODE_BD start_draft_angle;     /*!< DXF 41 */
5924
  BITCODE_BD end_draft_angle;       /*!< DXF 42 */
5925
  BITCODE_BD start_draft_magnitude; /*!< DXF 43 */
5926
  BITCODE_BD end_draft_magnitude;   /*!< DXF 44 */
5927
  BITCODE_B arc_length_parameterization; // 290
5928
  BITCODE_B no_twist; // 291
5929
  BITCODE_B align_direction; // 292
5930
  BITCODE_B simple_surfaces; // 293
5931
  BITCODE_B closed_surfaces; // 294
5932
  BITCODE_B solid; // 295
5933
  BITCODE_B ruled_surface; // 296
5934
  BITCODE_B virtual_guide; // 297
5935
5936
  BITCODE_BS num_cross_sections;
5937
  BITCODE_BS num_guide_curves;
5938
  BITCODE_H *cross_sections;
5939
  BITCODE_H *guide_curves;
5940
  BITCODE_H path_curve;
5941
} Dwg_Entity_LOFTEDSURFACE;
5942
5943
/**
5944
 Entity NURBSURFACE (varies)
5945
*/
5946
typedef struct _dwg_entity_NURBSURFACE
5947
{
5948
  struct _dwg_object_entity *parent;
5949
  _3DSOLID_FIELDS;
5950
  // AcDbSurface
5951
  BITCODE_BS u_isolines;  /*!< DXF 71 */
5952
  BITCODE_BS v_isolines;  /*!< DXF 72 */
5953
  // AcDbNurbSurface
5954
  BITCODE_BS short170;    /* DXF 170 */
5955
  BITCODE_B cv_hull_display;  /* DXF 290 */
5956
  BITCODE_3BD uvec1;    /* DXF 10 */
5957
  BITCODE_3BD vvec1;    /* DXF 11 */
5958
  BITCODE_3BD uvec2;    /* DXF 12 */
5959
  BITCODE_3BD vvec2;    /* DXF 13 */
5960
} Dwg_Entity_NURBSURFACE;
5961
5962
/**
5963
 Entity PLANESURFACE (varies)
5964
*/
5965
typedef struct _dwg_entity_PLANESURFACE
5966
{
5967
  struct _dwg_object_entity *parent;
5968
  _3DSOLID_FIELDS;
5969
  BITCODE_BS modeler_format_version; /*!< DXF 70 */
5970
  BITCODE_BS u_isolines;         /*!< DXF 71 */
5971
  BITCODE_BS v_isolines;         /*!< DXF 72 */
5972
  BITCODE_BL class_version;      /*!< DXF 90 */
5973
5974
} Dwg_Entity_PLANESURFACE;
5975
5976
/**
5977
 Entity REVOLVEDSURFACE (varies)
5978
*/
5979
typedef struct _dwg_entity_REVOLVEDSURFACE
5980
{
5981
  struct _dwg_object_entity *parent;
5982
  _3DSOLID_FIELDS;
5983
  BITCODE_BS modeler_format_version; /*!< DXF 70 */
5984
  BITCODE_BS u_isolines;         /*!< DXF 71 */
5985
  BITCODE_BS v_isolines;         /*!< DXF 72 */
5986
  BITCODE_BL class_version; /*!< DXF 90 */
5987
5988
  BITCODE_BL id; // 90
5989
  BITCODE_3BD axis_point; // 10
5990
  BITCODE_3BD axis_vector; // 11
5991
  BITCODE_BD revolve_angle; // 40
5992
  BITCODE_BD start_angle; // 41
5993
  BITCODE_BD* revolved_entity_transmatrix; // 42
5994
  BITCODE_BD draft_angle; // 43
5995
  BITCODE_BD draft_start_distance; // 44
5996
  BITCODE_BD draft_end_distance; // 45
5997
  BITCODE_BD twist_angle; // 46
5998
  BITCODE_B solid; // 290
5999
  BITCODE_B close_to_axis; // 291
6000
6001
} Dwg_Entity_REVOLVEDSURFACE;
6002
6003
/**
6004
 Entity MESH (varies)
6005
 Types: Sphere|Cylinder|Cone|Torus|Box|Wedge|Pyramid
6006
*/
6007
typedef struct _dwg_MESH_edge
6008
{
6009
  struct _dwg_entity_MESH *parent;
6010
  BITCODE_BL idxfrom; // index from
6011
  BITCODE_BL idxto; // index to
6012
} Dwg_MESH_edge;
6013
6014
typedef struct _dwg_entity_MESH
6015
{
6016
  struct _dwg_object_entity *parent;
6017
  BITCODE_BS dlevel;    /*!< DXF 71 (2) */
6018
  BITCODE_B is_watertight;  /*!< DXF 72 (0) */
6019
  BITCODE_BL num_subdiv_vertex; /*!< DXF 91 (0) */
6020
  BITCODE_3DPOINT* subdiv_vertex;/*!< DXF 10 ?? */
6021
  BITCODE_BL num_vertex;    /*!< DXF 92 (14) */
6022
  BITCODE_3DPOINT* vertex;  /*!< DXF 10 */
6023
  BITCODE_BL num_faces;   /*!< DXF 93 (30) */
6024
  BITCODE_BL* faces;            /*!< DXF 90 */
6025
  BITCODE_BL num_edges;   /*!< DXF 94 (19) */
6026
  Dwg_MESH_edge* edges;     /*!< DXF 90 */
6027
  BITCODE_BL num_crease;    /*!< DXF 95 (19) */
6028
  BITCODE_BD* crease;     /*!< DXF 140 */
6029
  BITCODE_B unknown_b1;
6030
  BITCODE_B unknown_b2;
6031
} Dwg_Entity_MESH;
6032
6033
/**
6034
 Object SUN (varies), unstable
6035
 wrongly documented by ACAD DXF as entity
6036
 */
6037
typedef struct _dwg_object_SUN
6038
{
6039
  struct _dwg_object_object *parent;
6040
6041
  BITCODE_BL class_version; /*!< DXF 90 */
6042
  BITCODE_B is_on;          /*!< DXF 290 */
6043
  BITCODE_CMC color;        /*!< DXF 60, 421 */
6044
  BITCODE_BD intensity;     /*!< DXF 40 */
6045
  BITCODE_B  has_shadow;    /*!< DXF 291 */
6046
  BITCODE_BL julian_day;    /*!< DXF 91 */
6047
  BITCODE_BL msecs;         /*!< DXF 92 */
6048
  BITCODE_B  is_dst;        /*!< DXF 292 */
6049
  BITCODE_BL shadow_type;   /*!< DXF 70 */
6050
  BITCODE_BS shadow_mapsize;  /*!< DXF 71 */
6051
  BITCODE_RC shadow_softness; /*!< DXF 280 */
6052
} Dwg_Object_SUN;
6053
6054
typedef struct _dwg_SUNSTUDY_Dates
6055
{
6056
  BITCODE_BL julian_day;
6057
  BITCODE_BL msecs;           //seconds past midnight
6058
} Dwg_SUNSTUDY_Dates;
6059
6060
/**
6061
 Object SUNSTUDY (varies)
6062
 --enable-debug only
6063
 */
6064
typedef struct _dwg_object_SUNSTUDY
6065
{
6066
  struct _dwg_object_object *parent;
6067
6068
  BITCODE_BL class_version;     /*!< DXF 90 */
6069
  BITCODE_T setup_name;         /*!< DXF 1 */
6070
  BITCODE_T description;        /*!< DXF 2 */
6071
  BITCODE_BL output_type;       /*!< DXF 70 */
6072
  BITCODE_T sheet_set_name;     /*!< DXF 3 */
6073
  BITCODE_B use_subset;         /*!< DXF 290 */
6074
  BITCODE_T sheet_subset_name;  /*!< DXF 3 */
6075
  BITCODE_B select_dates_from_calendar; /*!< DXF 291 */
6076
  BITCODE_BL num_dates;         /*!< DXF 91 */
6077
  Dwg_SUNSTUDY_Dates* dates;    /*!< DXF 90[] */
6078
  BITCODE_B select_range_of_dates; /*!< DXF 292 */
6079
  BITCODE_BL start_time;        /*!< DXF 93 */
6080
  BITCODE_BL end_time;          /*!< DXF 94 */
6081
  BITCODE_BL interval;          /*!< DXF 95 */
6082
  BITCODE_BL num_hours;         /*!< DXF 73 */
6083
  BITCODE_B* hours;             /*!< DXF 290 */
6084
  BITCODE_BL shade_plot_type;   /*!< DXF 74 */
6085
  BITCODE_BL numvports;         /*!< DXF 75 */
6086
  BITCODE_BL numrows;           /*!< DXF 76 */
6087
  BITCODE_BL numcols;           /*!< DXF 77 */
6088
  BITCODE_BD spacing;           /*!< DXF 40 */
6089
  BITCODE_B  lock_viewports;    /*!< DXF 293 */
6090
  BITCODE_B  label_viewports;   /*!< DXF 294 */
6091
6092
  BITCODE_H  page_setup_wizard; /*!< 5 DXF 340 */
6093
  BITCODE_H  view;              /*!< DXF 341 */
6094
  BITCODE_H  visualstyle;       /*!< DXF 342 */
6095
  BITCODE_H  text_style;        /*!< DXF 343 */
6096
} Dwg_Object_SUNSTUDY;
6097
6098
typedef struct _dwg_DATATABLE_row
6099
{
6100
  struct _dwg_DATATABLE_column *parent;
6101
  Dwg_TABLE_value value;
6102
} Dwg_DATATABLE_row;
6103
6104
typedef struct _dwg_DATATABLE_column
6105
{
6106
  struct _dwg_object_DATATABLE *parent;
6107
  BITCODE_BL type;          /* DXF 92 */
6108
  BITCODE_T  text;          /* DXF 2 */
6109
  Dwg_DATATABLE_row *rows;
6110
} Dwg_DATATABLE_column;
6111
6112
/**
6113
 Object DATATABLE (varies)
6114
 --enable-debug only
6115
 */
6116
typedef struct _dwg_object_DATATABLE
6117
{
6118
  struct _dwg_object_object *parent;
6119
  BITCODE_BS flags; /* DXF 70 */
6120
  BITCODE_BL num_cols;  /* DXF 90 */
6121
  BITCODE_BL num_rows;  /* DXF 91 */
6122
  BITCODE_T table_name; /* DXF 1 */
6123
  Dwg_DATATABLE_column *cols;
6124
} Dwg_Object_DATATABLE;
6125
6126
/**
6127
 Object DATALINK (varies)
6128
 */
6129
typedef struct _dwg_DATALINK_customdata
6130
{
6131
  struct _dwg_object_DATALINK *parent;
6132
  BITCODE_H target; // 330
6133
  BITCODE_T text;   // 304
6134
} Dwg_DATALINK_customdata;
6135
6136
typedef struct _dwg_object_DATALINK
6137
{
6138
  struct _dwg_object_object *parent;
6139
  BITCODE_BS class_version; /*<! DXF 70 1 */
6140
  BITCODE_T data_adapter;/*<! DXF 1  */
6141
  BITCODE_T description;/*<! DXF 300  */
6142
  BITCODE_T tooltip;  /*<! DXF 301  */
6143
  BITCODE_T connection_string;  /*<! DXF 302  */
6144
  BITCODE_BL option;  /*<! DXF 90  2 */
6145
  BITCODE_BL update_option;/*<! DXF 91  1179649 */
6146
  BITCODE_BL bl92;  /*<! DXF 92  1 */
6147
  BITCODE_BS year;  /*<! DXF 170  */
6148
  BITCODE_BS month; /*<! DXF 171  */
6149
  BITCODE_BS day; /*<! DXF 172  */
6150
  BITCODE_BS hour;  /*<! DXF 173  */
6151
  BITCODE_BS minute;  /*<! DXF 174  */
6152
  BITCODE_BS seconds; /*<! DXF 175  */
6153
  BITCODE_BS msec;  /*<! DXF 176  */
6154
  BITCODE_BS path_option; /*<! DXF 177  1 */
6155
  BITCODE_BL bl93;    /*<! DXF 93   0 */
6156
  BITCODE_T update_status;/*<! DXF 304  */
6157
  BITCODE_BL num_customdata; // 94
6158
  Dwg_DATALINK_customdata *customdata; // 330 + 304
6159
  BITCODE_H hardowner;  /*<! DXF 360  */
6160
} Dwg_Object_DATALINK;
6161
6162
/**
6163
 Object DIMASSOC (varies) DEBUGGING
6164
 --enable-debug only
6165
 */
6166
typedef struct _dwg_DIMASSOC_Ref
6167
{
6168
  struct _dwg_object_DIMASSOC *parent;
6169
  BITCODE_T classname;         /*!< DXF 1 constant */
6170
  BITCODE_RC osnap_type;       /*!< DXF 72 */
6171
  BITCODE_BD osnap_dist;       /*!< DXF 40 */
6172
  BITCODE_3BD osnap_pt;        /*!< DXF 10-30 */
6173
  BITCODE_BS num_xrefs;
6174
  BITCODE_H *xrefs;            /*!< DXF 331 the geometry objects, 1 or 2 */
6175
  BITCODE_BS main_subent_type; /*!< DXF 73 */
6176
  BITCODE_BL main_gsmarker;    /*!< DXF 91 */
6177
  BITCODE_BS num_xrefpaths;
6178
  BITCODE_T *xrefpaths;        /*!< DXF 301 */
6179
  BITCODE_B  has_lastpt_ref;   /*!< DXF 75 */
6180
  BITCODE_3BD lastpt_ref;      /*!< DXF ?? */
6181
  BITCODE_BL num_intsectobj;   /*!< DXF 74 */
6182
  BITCODE_H* intsectobj;       /*!< DXF 332 the intersection objects, 1 or 2 */
6183
} Dwg_DIMASSOC_Ref;
6184
6185
typedef struct _dwg_object_DIMASSOC
6186
{
6187
  struct _dwg_object_object *parent;
6188
  BITCODE_H dimensionobj;
6189
  BITCODE_BL associativity;   /*!< DXF 90, bitmask 0-15*/
6190
  BITCODE_B trans_space_flag; /*!< DXF 70 boolean */
6191
  BITCODE_RC rotated_type;      /*!< DXF 71 */
6192
  Dwg_DIMASSOC_Ref *ref;       /* 1-4x, with possible holes,
6193
                                  depend. on associativity bitmask */
6194
} Dwg_Object_DIMASSOC;
6195
6196
typedef struct _dwg_ACTIONBODY
6197
{
6198
  struct _dwg_object_ASSOCNETWORK *parent;
6199
  BITCODE_T  evaluatorid;
6200
  BITCODE_T  expression;
6201
  BITCODE_BL value; //resbuf
6202
} Dwg_ACTIONBODY;
6203
6204
typedef struct _dwg_EvalVariant
6205
{
6206
  BITCODE_BS code; /* the DXF code */
6207
  union {
6208
    BITCODE_BD bd;
6209
    BITCODE_BL bl;
6210
    BITCODE_BS bs;
6211
    BITCODE_RC rc;
6212
    BITCODE_T text;
6213
    BITCODE_H handle;
6214
  } u;
6215
} Dwg_EvalVariant;
6216
6217
typedef struct _dwg_VALUEPARAM_vars
6218
{
6219
  //struct _dwg_VALUEPARAM *parent;
6220
  Dwg_EvalVariant value;
6221
  BITCODE_H handle;
6222
} Dwg_VALUEPARAM_vars;
6223
6224
typedef struct _dwg_VALUEPARAM
6225
{
6226
  struct _dwg_object_object *parent;
6227
  BITCODE_BL class_version; /* 0 */
6228
  BITCODE_T name;
6229
  BITCODE_BL unit_type;
6230
  BITCODE_BL num_vars; // input vars
6231
  Dwg_VALUEPARAM_vars *vars;
6232
  BITCODE_H controlled_objdep;
6233
} Dwg_VALUEPARAM;
6234
6235
/* AcDbAssocParamBasedActionBody */
6236
typedef struct _dwg_ASSOCPARAMBASEDACTIONBODY
6237
{
6238
  struct _dwg_object_object *parent;
6239
  BITCODE_BL version;    /* 90 0 */
6240
  BITCODE_BL minor;      /* 90 0 */
6241
  BITCODE_BL num_deps;   /* 90 1 */
6242
  BITCODE_H *deps;       /* 360 */
6243
  BITCODE_BL l4;         /* 90: 0 */
6244
  BITCODE_BL l5;         /* 90 */
6245
  BITCODE_H  assocdep;   /* 330 */
6246
  BITCODE_BL num_values; /* 90 */
6247
  Dwg_VALUEPARAM *values;
6248
} Dwg_ASSOCPARAMBASEDACTIONBODY;
6249
6250
typedef struct _dwg_ASSOCACTION_Deps
6251
{
6252
  struct _dwg_object_ASSOCACTION *parent;
6253
  BITCODE_B is_owned; // with AssocNewtwork means code 3 (hardowned) or 4 (softptr)
6254
  BITCODE_H dep;
6255
} Dwg_ASSOCACTION_Deps;
6256
6257
#define ASSOCACTION_fields                                  \
6258
  /* until r2010: 1, 2013+: 2 */                            \
6259
  BITCODE_BS class_version;   /* 90 */                      \
6260
  /* 0 WellDefined, 1 UnderConstrained, 2 OverConstrained,  \
6261
     3 Inconsistent, 4 NotEvaluated, 5 NotAvailable,        \
6262
     6 RejectedByClient */                                  \
6263
  BITCODE_BL geometry_status;         /* 90 */              \
6264
  BITCODE_H owningnetwork;            /* 330 */             \
6265
  BITCODE_H actionbody;               /* 360 */             \
6266
  BITCODE_BL action_index;            /* 90 */              \
6267
  BITCODE_BL max_assoc_dep_index;     /* 90 */              \
6268
  BITCODE_BL num_deps;                /* 90 */              \
6269
  Dwg_ASSOCACTION_Deps *deps;         /* 330 or 360 */      \
6270
  BITCODE_BL num_owned_params;        /* 90 */              \
6271
  BITCODE_H *owned_params;            /* 360 */             \
6272
  BITCODE_BL num_values;              /* 90 */              \
6273
  Dwg_VALUEPARAM *values
6274
6275
// AcDbAssocDependency
6276
typedef struct _dwg_object_ASSOCDEPENDENCY
6277
{
6278
  struct _dwg_object_object *parent;
6279
  BITCODE_BS class_version;     /*<! DXF 90 */
6280
  BITCODE_BL status;        /*<! DXF 90 */
6281
  BITCODE_B is_read_dep;      /*<! DXF 290 */
6282
  BITCODE_B is_write_dep;     /*<! DXF 290 */
6283
  BITCODE_B is_attached_to_object;    /*<! DXF 290 */
6284
  BITCODE_B is_delegating_to_owning_action; /*<! DXF 290 */
6285
  BITCODE_BLd order;        /*<! DXF 90 */
6286
  BITCODE_H dep_on;       /*<! DXF 330 */
6287
  BITCODE_B has_name;       /*<! DXF 290 */
6288
  BITCODE_T name;       /*<! DXF 1 */
6289
  BITCODE_BLd depbodyid;      /*<! DXF 90 */
6290
  BITCODE_H  readdep;         /*<! DXF 330 */
6291
  BITCODE_H  dep_body;        /*<! DXF 360 */
6292
  BITCODE_H  node;        /*<! DXF 330 */
6293
} Dwg_Object_ASSOCDEPENDENCY;
6294
6295
#define ASSOCPERSSUBENTID_fields                \
6296
  BITCODE_T classname; /* DXF  1 */             \
6297
  BITCODE_B dependent_on_compound_object /* DXF 290 */
6298
6299
#define ASSOCEDGEPERSSUBENTID_fields            \
6300
  BITCODE_T classname; /* DXF  1 */             \
6301
  BITCODE_B has_classname;                      \
6302
  BITCODE_BL bl1;                               \
6303
  BITCODE_BS class_version;                     \
6304
  BITCODE_BL index1;                            \
6305
  BITCODE_BL index2;                            \
6306
  BITCODE_B dependent_on_compound_object /* DXF 290 */
6307
6308
#define ASSOCINDEXPERSSUBENTID_fields            \
6309
  BITCODE_T classname; /* DXF  1 */             \
6310
  BITCODE_B has_classname;                      \
6311
  BITCODE_BL bl1;                               \
6312
  BITCODE_BS class_version;                     \
6313
  BITCODE_BL subent_type;                       \
6314
  BITCODE_BL subent_index;                      \
6315
  BITCODE_B dependent_on_compound_object /* DXF 290 */
6316
6317
typedef struct _dwg_object_ASSOCVALUEDEPENDENCY
6318
{
6319
  struct _dwg_object_object *parent;
6320
  Dwg_Object_ASSOCDEPENDENCY assocdep;
6321
} Dwg_Object_ASSOCVALUEDEPENDENCY;
6322
6323
// stable
6324
typedef struct _dwg_object_ASSOCGEOMDEPENDENCY
6325
{
6326
  struct _dwg_object_object *parent;
6327
  Dwg_Object_ASSOCDEPENDENCY assocdep;
6328
  // AcDbAssocGeomDependency
6329
  BITCODE_BS class_version; /*<! DXF 90 0 */
6330
  BITCODE_B enabled;    /*<! DXF 290 1 */
6331
  ASSOCPERSSUBENTID_fields;
6332
} Dwg_Object_ASSOCGEOMDEPENDENCY;
6333
6334
typedef struct _dwg_object_ASSOCACTION
6335
{
6336
  struct _dwg_object_object *parent;
6337
  ASSOCACTION_fields;
6338
} Dwg_Object_ASSOCACTION;
6339
6340
/**
6341
 Object ASSOCNETWORK (varies)
6342
 subclass of AcDbAssocAction
6343
 Object1 --ReadDep--> Action1 --WriteDep1--> Object2 --ReadDep--> Action2 ...
6344
 extdict: ACAD_ASSOCNETWORK
6345
 */
6346
typedef struct _dwg_object_ASSOCNETWORK
6347
{
6348
  struct _dwg_object_object *parent;
6349
  ASSOCACTION_fields;
6350
  BITCODE_BS network_version;       // DXF 90, always 0
6351
  BITCODE_BL network_action_index;  // 90
6352
  BITCODE_BL num_actions;           // 90
6353
  Dwg_ASSOCACTION_Deps *actions;    // 330 or 360
6354
  BITCODE_BL num_owned_actions;
6355
  BITCODE_H *owned_actions;         // 4. 330
6356
} Dwg_Object_ASSOCNETWORK;
6357
6358
/*  BITCODE_BS status;90: 0 uptodate, 1 changed_directly, 2 changed_transitive,
6359
                          3 ChangedNoDifference, 4 FailedToEvaluate, 5 Erased, 6 Suppressed
6360
                          7 Unresolved */
6361
#define ASSOCACTIONPARAM_fields        \
6362
  BITCODE_BS is_r2013;                 \
6363
  BITCODE_BL aap_version; /* DXF 90 */ \
6364
  BITCODE_T  name         /* DXF 1 */
6365
6366
#define ASSOCACTIONBODY_fields         \
6367
  BITCODE_BL aab_version /* DXF 90. r2013+: 2, earlier 1 */
6368
6369
/* Constraints still in work: */
6370
typedef struct _dwg_CONSTRAINTGROUPNODE
6371
{
6372
  struct _dwg_object_ASSOC2DCONSTRAINTGROUP *parent;
6373
  BITCODE_BL nodeid;
6374
  BITCODE_RC status;
6375
  BITCODE_BL num_connections;
6376
  BITCODE_BL *connections;
6377
} Dwg_CONSTRAINTGROUPNODE;
6378
6379
#define ACGEOMCONSTRAINT_fields                 \
6380
  Dwg_CONSTRAINTGROUPNODE node;                 \
6381
  BITCODE_BL ownerid; /* DXF 90 */              \
6382
  BITCODE_B is_implied; /* DXF 290 */           \
6383
  BITCODE_B is_active; /* DXF 290 */
6384
6385
#define ACCONSTRAINTGEOMETRY_fields(node)      \
6386
  Dwg_CONSTRAINTGROUPNODE node;                \
6387
  BITCODE_H geom_dep; /* 4, 330 */             \
6388
  BITCODE_BL nodeid   /*  90 */
6389
6390
#define ACCONSTRAINTPOINT_fields(node)         \
6391
  ACCONSTRAINTGEOMETRY_fields (node);          \
6392
  SUBCLASS (AcConstraintPoint);                \
6393
  BITCODE_3BD point /* 10 */
6394
6395
#define ACCONSTRAINTIMPLICITPOINT_fields(node) \
6396
  ACCONSTRAINTPOINT_fields (node);             \
6397
  /*SUBCLASS (AcConstraintImplicitPoint);*/    \
6398
  BITCODE_RC point_type; /* 280 */             \
6399
  BITCODE_BLd point_idx; /* 90 default: -1 */  \
6400
  BITCODE_BLd curve_id   /* 90 default: 0 */
6401
6402
#define ACEXPLICITCONSTRAINT_fields            \
6403
  ACGEOMCONSTRAINT_fields;                     \
6404
  BITCODE_H value_dep; /* 3, 340 */            \
6405
  BITCODE_H dim_dep    /* 3, 340 */
6406
6407
#define ACANGLECONSTRAINT_fields                \
6408
  ACEXPLICITCONSTRAINT_fields;                  \
6409
  BITCODE_RC sector_type  /* 280 */
6410
6411
#define ACPARALLELCONSTRAINT_fields             \
6412
  ACGEOMCONSTRAINT_fields;                      \
6413
  BITCODE_BLd datum_line_idx  /* 90 */
6414
6415
#define ACDISTANCECONSTRAINT_fields              \
6416
  ACEXPLICITCONSTRAINT_fields;                   \
6417
  BITCODE_RC dir_type; /* 280 if has_distance */ \
6418
  BITCODE_3BD distance /* 10 */
6419
6420
#define ACCONSTRAINEDELLIPSE_fields              \
6421
  ACGEOMCONSTRAINT_fields;                       \
6422
  BITCODE_3BD center;   /* 10 */                 \
6423
  BITCODE_3BD sm_axis;  /* 11 */                 \
6424
  BITCODE_BD axis_ratio /* 40 i.e RadiusRatio */
6425
6426
#define ACCONSTRAINEDBOUNDEDELLIPSE_fields       \
6427
  ACCONSTRAINEDELLIPSE_fields;                   \
6428
  BITCODE_3BD start_pt;   /* 10 */               \
6429
  BITCODE_3BD end_pt      /* 11 */
6430
6431
typedef struct _dwg_object_ASSOC2DCONSTRAINTGROUP
6432
{
6433
  struct _dwg_object_object *parent;
6434
  ASSOCACTION_fields;
6435
6436
  BITCODE_BL version; // 90 1
6437
  BITCODE_B  b1;      // 70 0
6438
  BITCODE_3BD workplane[3]; // 3x10 workplane
6439
  BITCODE_H h1; // 360
6440
  BITCODE_BL num_actions;// 90
6441
  BITCODE_H* actions;    // 360
6442
  BITCODE_BL num_nodes;  // 90 9
6443
  Dwg_CONSTRAINTGROUPNODE *nodes;
6444
} Dwg_Object_ASSOC2DCONSTRAINTGROUP;
6445
6446
typedef struct _dwg_object_ASSOCVARIABLE
6447
{
6448
  struct _dwg_object_object *parent;
6449
  BITCODE_BS av_class_version;
6450
  ASSOCACTION_fields;
6451
  BITCODE_T name;
6452
  BITCODE_T t58;
6453
  BITCODE_T evaluator;
6454
  BITCODE_T desc;
6455
  Dwg_EvalVariant value;
6456
  BITCODE_B has_t78;
6457
  BITCODE_T t78;
6458
  BITCODE_B b290;
6459
} Dwg_Object_ASSOCVARIABLE;
6460
6461
// NodeInfo
6462
typedef struct _dwg_EVAL_Node
6463
{
6464
  struct _dwg_object_EVALUATION_GRAPH *parent;
6465
  BITCODE_BL  id;         /* 91 */
6466
  BITCODE_BL  edge_flags; // 93, always 32
6467
  BITCODE_BLd nextid;     // 95
6468
  BITCODE_H   evalexpr;   // 360
6469
  BITCODE_BLd node[4];    // 4x 92, def: 4x -1
6470
  BITCODE_B   active_cycles;
6471
} Dwg_EVAL_Node;
6472
6473
// EdgeInfo
6474
typedef struct _dwg_EVAL_Edge
6475
{
6476
  struct _dwg_object_EVALUATION_GRAPH *parent;
6477
  BITCODE_BL  id;         /* 92 */
6478
  BITCODE_BLd nextid;     /* 93 */
6479
  BITCODE_BLd e1;         /* 94 */
6480
  BITCODE_BLd e2;         /* 91 */
6481
  BITCODE_BLd e3;         /* 91 */
6482
  BITCODE_BLd out_edge[5]; /* 5x 92 */
6483
} Dwg_EVAL_Edge;
6484
6485
typedef struct _dwg_object_EVALUATION_GRAPH
6486
{
6487
  struct _dwg_object_object *parent;
6488
  BITCODE_BL major;
6489
  BITCODE_BL minor;
6490
  BITCODE_BLd first_nodeid;      // 96
6491
  BITCODE_BLd first_nodeid_copy; // 97
6492
  BITCODE_BL num_nodes;
6493
  Dwg_EVAL_Node *nodes;
6494
  BITCODE_B has_graph;
6495
  BITCODE_BL num_edges;
6496
  Dwg_EVAL_Edge *edges;
6497
} Dwg_Object_EVALUATION_GRAPH;
6498
6499
// stable
6500
typedef struct _dwg_object_DYNAMICBLOCKPURGEPREVENTER
6501
{
6502
  struct _dwg_object_object *parent;
6503
  BITCODE_BS flag;         /*!< DXF 70 0 */
6504
  BITCODE_H  block;
6505
} Dwg_Object_DYNAMICBLOCKPURGEPREVENTER;
6506
6507
typedef struct _dwg_object_PERSUBENTMGR
6508
{
6509
  struct _dwg_object_object *parent;
6510
  BITCODE_BL class_version;   /*!< DXF 90 2 */
6511
  BITCODE_BL unknown_0;       /*!< DXF 90 0 */
6512
  BITCODE_BL unknown_2;       /*!< DXF 90 2 */
6513
  BITCODE_BL numassocsteps;   /*!< DXF 90 3 from ASSOCPERSSUBENTMANAGER */
6514
  BITCODE_BL numassocsubents; /*!< DXF 90 0 from ASSOCPERSSUBENTMANAGER */
6515
  BITCODE_BL num_steps;       /*!< DXF 90 1 */
6516
  BITCODE_BL *steps;          /*!< DXF 90 */
6517
  BITCODE_BL num_subents;     /*!< DXF 90 */
6518
  BITCODE_BL *subents;        /*!< DXF 90 types/handles? */
6519
} Dwg_Object_PERSUBENTMGR;
6520
6521
// The dynamic variant of above. May be frozen as static PERSUBENTMGR
6522
// TODO subentities
6523
typedef struct _dwg_object_ASSOCPERSSUBENTMANAGER
6524
{
6525
  struct _dwg_object_object *parent;
6526
  BITCODE_BL class_version; /*!< DXF 90 1 or r2013+ 2 */
6527
  BITCODE_BL unknown_3;     /*!< DXF 90 always 3 */
6528
  BITCODE_BL unknown_0;     /*!< DXF 90 always 0 */
6529
  BITCODE_BL unknown_2;     /*!< DXF 90 always 2 */
6530
  BITCODE_BL num_steps;   /*!< DXF 90 3 */
6531
  BITCODE_BL num_subents; /*!< DXF 90 5 */
6532
  BITCODE_BL *steps;      /*!< DXF 90 */
6533
  BITCODE_BL *subents;    /*!< FIXME: subent struct */
6534
6535
  BITCODE_BL unknown_bl6;   /*!< DXF 90 5 */
6536
  BITCODE_BL unknown_bl6a;  /*!< DXF 90 0 */
6537
  BITCODE_BL unknown_bl7a;  /*!< DXF 90 3 */
6538
  BITCODE_BL unknown_bl7;   /*!< DXF 90 2 */
6539
  BITCODE_BL unknown_bl8;   /*!< DXF 90 2 */
6540
  BITCODE_BL unknown_bl9;   /*!< DXF 90 2 */
6541
  BITCODE_BL unknown_bl10;  /*!< DXF 90 21 */
6542
  BITCODE_BL unknown_bl11;  /*!< DXF 90 0 */
6543
  BITCODE_BL unknown_bl12;  /*!< DXF 90 0 */
6544
  BITCODE_BL unknown_bl13;  /*!< DXF 90 0 */
6545
  BITCODE_BL unknown_bl14;  /*!< DXF 90 0 */
6546
  BITCODE_BL unknown_bl15;  /*!< DXF 90 1 */
6547
  BITCODE_BL unknown_bl16;  /*!< DXF 90 3 */
6548
  BITCODE_BL unknown_bl17;  /*!< DXF 90 1 */
6549
  BITCODE_BL unknown_bl18;  /*!< DXF 90 1000000000 */
6550
  BITCODE_BL unknown_bl19;  /*!< DXF 90 1001 */
6551
  BITCODE_BL unknown_bl20;  /*!< DXF 90 1 */
6552
  BITCODE_BL unknown_bl21;  /*!< DXF 90 1000000000 */
6553
  BITCODE_BL unknown_bl22;  /*!< DXF 90 51001 */
6554
  BITCODE_BL unknown_bl23;  /*!< DXF 90 1 */
6555
  BITCODE_BL unknown_bl24;  /*!< DXF 90 1000000000 */
6556
  BITCODE_BL unknown_bl25;  /*!< DXF 90 351001 */
6557
  BITCODE_BL unknown_bl26;  /*!< DXF 90 0 */
6558
  BITCODE_BL unknown_bl27;  /*!< DXF 90 0 */
6559
  BITCODE_BL unknown_bl28;  /*!< DXF 90 0 */
6560
  BITCODE_BL unknown_bl29;  /*!< DXF 90 900 */
6561
  BITCODE_BL unknown_bl30;  /*!< DXF 90 0 */
6562
  BITCODE_BL unknown_bl31;  /*!< DXF 90 900 */
6563
  BITCODE_BL unknown_bl32;  /*!< DXF 90 0 */
6564
  BITCODE_BL unknown_bl33;  /*!< DXF 90 2 */
6565
  BITCODE_BL unknown_bl34;  /*!< DXF 90 2 */
6566
  BITCODE_BL unknown_bl35;  /*!< DXF 90 3 0100000011 */
6567
  BITCODE_BL unknown_bl36;  /*!< DXF 90 0 */
6568
  BITCODE_B  unknown_b37;   /*!< DXF 290 0 */
6569
} Dwg_Object_ASSOCPERSSUBENTMANAGER;
6570
6571
6572
6573
#define ASSOCPARAMBASEDACTIONBODY_fields        \
6574
  Dwg_ASSOCPARAMBASEDACTIONBODY pab
6575
6576
#define ASSOCCOMPOUNDACTIONPARAM_fields \
6577
  BITCODE_BS class_version; \
6578
  BITCODE_BS bs1; \
6579
  BITCODE_BL num_params; \
6580
  BITCODE_H *params; \
6581
  BITCODE_B has_child_param; \
6582
  BITCODE_BS child_status; \
6583
  BITCODE_BL child_id; \
6584
  BITCODE_H child_param; \
6585
  BITCODE_H h330_2; \
6586
  BITCODE_BL bl2; \
6587
  BITCODE_H h330_3
6588
6589
typedef struct _dwg_object_ASSOCACTIONPARAM
6590
{
6591
  struct _dwg_object_object *parent;
6592
  ASSOCACTIONPARAM_fields;
6593
} Dwg_Object_ASSOCACTIONPARAM;
6594
6595
/**
6596
 Object ASSOCOSNAPPOINTREFACTIONPARAM (varies)
6597
 Action parameter that owns other AcDbAssocActionParameters,
6598
 allowing the representation of hierarchical structures of action parameters.
6599
 */
6600
typedef struct _dwg_object_ASSOCOSNAPPOINTREFACTIONPARAM
6601
{
6602
  struct _dwg_object_object *parent;
6603
  ASSOCACTIONPARAM_fields;
6604
  ASSOCCOMPOUNDACTIONPARAM_fields;
6605
  BITCODE_BS status;
6606
  BITCODE_RC osnap_mode;
6607
  BITCODE_BD param; // 40 -1.0
6608
} Dwg_Object_ASSOCOSNAPPOINTREFACTIONPARAM;
6609
6610
typedef struct _dwg_object_ASSOCPOINTREFACTIONPARAM
6611
{
6612
  struct _dwg_object_object *parent;
6613
  ASSOCACTIONPARAM_fields;
6614
  ASSOCCOMPOUNDACTIONPARAM_fields;
6615
} Dwg_Object_ASSOCPOINTREFACTIONPARAM;
6616
6617
typedef struct _dwg_object_ASSOCASMBODYACTIONPARAM
6618
{
6619
  struct _dwg_object_object *parent;
6620
  ASSOCACTIONPARAM_fields;
6621
  /* AcDbAssocSingleDependencyActionParam */
6622
  BITCODE_BL asdap_class_version; // 0
6623
  BITCODE_H  dep;
6624
  /* AcDbAssocAsmbodyActionParam */
6625
  BITCODE_BL class_version;
6626
  _3DSOLID_FIELDS;
6627
} Dwg_Object_ASSOCASMBODYACTIONPARAM;
6628
6629
typedef struct _dwg_object_ASSOCCOMPOUNDACTIONPARAM
6630
{
6631
  struct _dwg_object_object *parent;
6632
  ASSOCACTIONPARAM_fields;
6633
  ASSOCCOMPOUNDACTIONPARAM_fields;
6634
} Dwg_Object_ASSOCCOMPOUNDACTIONPARAM;
6635
6636
typedef struct _dwg_object_ASSOCOBJECTACTIONPARAM
6637
{
6638
  struct _dwg_object_object *parent;
6639
  ASSOCACTIONPARAM_fields;
6640
  /* AcDbAssocSingleDependencyActionParam */
6641
  BITCODE_BL asdap_class_version; // 0
6642
  BITCODE_H  dep;
6643
  /* AcDbAssocObjectActionParam */
6644
  BITCODE_BS class_version; /* DXF 90: 0 */
6645
} Dwg_Object_ASSOCOBJECTACTIONPARAM;
6646
6647
typedef struct _dwg_object_ASSOCEDGEACTIONPARAM
6648
{
6649
  struct _dwg_object_object *parent;
6650
  ASSOCACTIONPARAM_fields;
6651
  /* AcDbAssocSingleDependencyActionParam */
6652
  BITCODE_BL asdap_class_version; // 0
6653
  BITCODE_H  dep;
6654
  /* AcDbAssocEdgeActionParam */
6655
  BITCODE_BL class_version;
6656
  BITCODE_H  param;
6657
  BITCODE_B  has_action;
6658
  BITCODE_BL action_type;
6659
  BITCODE_H subent;
6660
} Dwg_Object_ASSOCEDGEACTIONPARAM;
6661
6662
typedef struct _dwg_object_ASSOCFACEACTIONPARAM
6663
{
6664
  struct _dwg_object_object *parent;
6665
  ASSOCACTIONPARAM_fields;
6666
  /* AcDbAssocSingleDependencyActionParam */
6667
  BITCODE_BL asdap_class_version; // 0
6668
  BITCODE_H dep;
6669
  /* AcDbAssocFaceActionParam */
6670
  BITCODE_BL class_version;
6671
  BITCODE_BL index;
6672
} Dwg_Object_ASSOCFACEACTIONPARAM;
6673
6674
typedef struct _dwg_object_ASSOCPATHACTIONPARAM
6675
{
6676
  struct _dwg_object_object *parent;
6677
  ASSOCACTIONPARAM_fields;
6678
  ASSOCCOMPOUNDACTIONPARAM_fields;
6679
  /* AcDbAssocPathActionParam */
6680
  BITCODE_BL version; /*!< DXF 90 */
6681
} Dwg_Object_ASSOCPATHACTIONPARAM;
6682
6683
typedef struct _dwg_object_ASSOCVERTEXACTIONPARAM
6684
{
6685
  struct _dwg_object_object *parent;
6686
  ASSOCACTIONPARAM_fields;
6687
  /* AcDbAssocSingleDependencyActionParam */
6688
  BITCODE_BL asdap_class_version; // 0
6689
  BITCODE_H dep;
6690
  /* AcDbAssocFaceActionParam */
6691
  BITCODE_BL class_version;
6692
  BITCODE_3BD pt;
6693
} Dwg_Object_ASSOCVERTEXACTIONPARAM;
6694
6695
// inlined
6696
typedef struct _dwg_ASSOCARRAYITEM
6697
{
6698
  struct _dwg_abstractobject_ASSOCARRAYPARAMETERS *parent;
6699
  BITCODE_BL class_version; // 0
6700
  BITCODE_BL itemloc[3];
6701
  BITCODE_BL flags; /* 2: has_relative_transform
6702
                       16: has_h2
6703
                     */
6704
  int is_default_transmatrix; /* computed */
6705
  BITCODE_3BD x_dir;         /* DXF 11 */
6706
  BITCODE_BD *transmatrix;   /* 16x BD 40 */
6707
  BITCODE_BD *rel_transform; /* 16x BD 40 */
6708
  int has_h1; /* computed */
6709
  BITCODE_H h1;
6710
  BITCODE_H h2;
6711
} Dwg_ASSOCARRAYITEM;
6712
6713
#define ASSOCARRAYPARAMETERS_fields                           \
6714
  BITCODE_BL aap_version;                                     \
6715
  BITCODE_BL num_items;                                       \
6716
  BITCODE_T classname;                                        \
6717
  Dwg_ASSOCARRAYITEM *items
6718
6719
typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS
6720
{
6721
  struct _dwg_object_object *parent;
6722
  ASSOCARRAYPARAMETERS_fields;
6723
  BITCODE_BL numitems;
6724
  BITCODE_BL numrows;
6725
  BITCODE_BL numlevels;
6726
} Dwg_Object_ASSOCARRAYPARAMETERS;
6727
6728
typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS Dwg_Object_ASSOCARRAYMODIFYPARAMETERS;
6729
typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS Dwg_Object_ASSOCARRAYPATHPARAMETERS;
6730
typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS Dwg_Object_ASSOCARRAYPOLARPARAMETERS;
6731
typedef struct _dwg_abstractobject_ASSOCARRAYPARAMETERS Dwg_Object_ASSOCARRAYRECTANGULARPARAMETERS;
6732
6733
typedef struct _dwg_object_ASSOCRESTOREENTITYSTATEACTIONBODY
6734
{
6735
  struct _dwg_object_object *parent;
6736
  ASSOCACTIONBODY_fields;
6737
  /* AcDbAssocRestoreEntityStateActionBody */
6738
  BITCODE_BL class_version;
6739
  BITCODE_H entity;
6740
} Dwg_Object_ASSOCRESTOREENTITYSTATEACTIONBODY;
6741
6742
/* AcDbAssocSurfaceActionBody */
6743
typedef struct _dwg_ASSOCSURFACEACTIONBODY
6744
{
6745
  struct _dwg_object_object *parent;
6746
  BITCODE_BL version;   /*!< DXF 90 */
6747
  BITCODE_B  is_semi_assoc; /*!< DXF 290 */
6748
  BITCODE_BL l2;    /*!< DXF 90 */
6749
  BITCODE_B  is_semi_ovr; /*!< DXF 290 is_semi_associativity_satisfied_override */
6750
  BITCODE_BS grip_status; /*!< DXF 70 */
6751
  BITCODE_H  assocdep;    /* ASSOCDEPENDENCY */
6752
} Dwg_ASSOCSURFACEACTIONBODY;
6753
6754
#define ASSOCPATHBASEDSURFACEACTIONBODY_fields \
6755
  ASSOCACTIONBODY_fields;                      \
6756
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;           \
6757
  Dwg_ASSOCSURFACEACTIONBODY sab;              \
6758
  /* AcDbAssocPathBasedSurfaceActionBody */    \
6759
  BITCODE_BL pbsab_status /*!< DXF 90 */
6760
6761
typedef struct _dwg_object_ASSOCEXTENDSURFACEACTIONBODY
6762
{
6763
  struct _dwg_object_object *parent;
6764
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6765
  // AcDbAssocExtendSurfaceActionBody
6766
  BITCODE_BL class_version;     /*!< DXF 90  */
6767
  BITCODE_RC option;        /*!< DXF 280 edge_extension_type */
6768
} Dwg_Object_ASSOCEXTENDSURFACEACTIONBODY;
6769
6770
typedef struct _dwg_object_ASSOCEXTRUDEDSURFACEACTIONBODY
6771
{
6772
  struct _dwg_object_object *parent;
6773
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6774
  // AcDbAssocExtrudedSurfaceActionBody
6775
  BITCODE_BL class_version;       /*!< DXF 90  */
6776
} Dwg_Object_ASSOCEXTRUDEDSURFACEACTIONBODY;
6777
6778
typedef struct _dwg_object_ASSOCPLANESURFACEACTIONBODY
6779
{
6780
  struct _dwg_object_object *parent;
6781
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6782
  // AcDbAssocPlaneSurfaceActionBody
6783
  BITCODE_BL class_version;       /*!< DXF 90  */
6784
} Dwg_Object_ASSOCPLANESURFACEACTIONBODY;
6785
6786
typedef struct _dwg_object_ASSOCLOFTEDSURFACEACTIONBODY
6787
{
6788
  struct _dwg_object_object *parent;
6789
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6790
  // AcDbAssocLoftedSurfaceActionBody
6791
  BITCODE_BL class_version;       /*!< DXF 90  */
6792
} Dwg_Object_ASSOCLOFTEDSURFACEACTIONBODY;
6793
6794
typedef struct _dwg_object_ASSOCNETWORKSURFACEACTIONBODY
6795
{
6796
  struct _dwg_object_object *parent;
6797
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6798
  // AcDbAssocNetworkSurfaceActionBody
6799
  BITCODE_BL class_version;       /*!< DXF 90  */
6800
} Dwg_Object_ASSOCNETWORKSURFACEACTIONBODY;
6801
6802
typedef struct _dwg_object_ASSOCOFFSETSURFACEACTIONBODY
6803
{
6804
  struct _dwg_object_object *parent;
6805
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6806
  // AcDbAssocOffsetSurfaceActionBody
6807
  BITCODE_BL class_version;       /*!< DXF 90  */
6808
  BITCODE_B  b1;       /*!< DXF 290  */
6809
} Dwg_Object_ASSOCOFFSETSURFACEACTIONBODY;
6810
6811
typedef struct _dwg_object_ASSOCREVOLVEDSURFACEACTIONBODY
6812
{
6813
  struct _dwg_object_object *parent;
6814
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6815
  // AcDbAssocRevolvedSurfaceActionBody
6816
  BITCODE_BL class_version;       /*!< DXF 90  */
6817
} Dwg_Object_ASSOCREVOLVEDSURFACEACTIONBODY;
6818
6819
typedef struct _dwg_object_ASSOCSWEPTSURFACEACTIONBODY
6820
{
6821
  struct _dwg_object_object *parent;
6822
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6823
  // AcDbAssocSweptSurfaceActionBody
6824
  BITCODE_BL class_version;       /*!< DXF 90  */
6825
} Dwg_Object_ASSOCSWEPTSURFACEACTIONBODY;
6826
6827
typedef struct _dwg_object_ASSOCEDGECHAMFERACTIONBODY
6828
{
6829
  struct _dwg_object_object *parent;
6830
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6831
} Dwg_Object_ASSOCEDGECHAMFERACTIONBODY;
6832
6833
typedef struct _dwg_object_ASSOCEDGEFILLETACTIONBODY
6834
{
6835
  struct _dwg_object_object *parent;
6836
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6837
} Dwg_Object_ASSOCEDGEFILLETACTIONBODY;
6838
6839
typedef struct _dwg_object_ASSOCTRIMSURFACEACTIONBODY
6840
{
6841
  struct _dwg_object_object *parent;
6842
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6843
  // AcDbAssocTrimSurfaceActionBody
6844
  BITCODE_BL class_version;     /*!< DXF 90  */
6845
  BITCODE_B b1;     /*!< DXF 290 */
6846
  BITCODE_B b2;     /*!< DXF 290 */
6847
  BITCODE_BD distance;    /*!< DXF 40  */
6848
} Dwg_Object_ASSOCTRIMSURFACEACTIONBODY;
6849
6850
typedef struct _dwg_object_ASSOCBLENDSURFACEACTIONBODY
6851
{
6852
  struct _dwg_object_object *parent;
6853
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6854
  // AcDbAssocBlendSurfaceActionBody
6855
  BITCODE_BL class_version;     /*!< DXF 90  */
6856
  BITCODE_B b1;     /*!< DXF 290 */
6857
  BITCODE_B b2;     /*!< DXF 291 */
6858
  BITCODE_B b3;     /*!< DXF 292 */
6859
  BITCODE_B b4;     /*!< DXF 293 */
6860
  BITCODE_B b5;     /*!< DXF 294 */
6861
  BITCODE_BS blend_options; /*!< DXF 72  */
6862
  BITCODE_BS bs2;   /*!< DXF 73  */
6863
} Dwg_Object_ASSOCBLENDSURFACEACTIONBODY;
6864
6865
typedef struct _dwg_object_ASSOCFILLETSURFACEACTIONBODY
6866
{
6867
  struct _dwg_object_object *parent;
6868
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6869
  // AcDbAssocFilletSurfaceActionBody
6870
  BITCODE_BL class_version; /*!< DXF 90  */
6871
  BITCODE_BS status;    /*!< DXF 70  */
6872
  BITCODE_2RD pt1;    /*!< DXF 10  */
6873
  BITCODE_2RD pt2;    /*!< DXF 10  */
6874
} Dwg_Object_ASSOCFILLETSURFACEACTIONBODY;
6875
6876
typedef struct _dwg_object_ASSOCPATCHSURFACEACTIONBODY
6877
{
6878
  struct _dwg_object_object *parent;
6879
  ASSOCPATHBASEDSURFACEACTIONBODY_fields;
6880
  // AcDbAssocPatchSurfaceActionBody
6881
  BITCODE_BL class_version;     /*!< DXF 90  */
6882
} Dwg_Object_ASSOCPATCHSURFACEACTIONBODY;
6883
6884
#define ASSOCANNOTATIONACTIONBODY_fields \
6885
  BITCODE_BS aaab_version; \
6886
  BITCODE_H assoc_dep; \
6887
  BITCODE_BS aab_version; \
6888
  BITCODE_H actionbody
6889
6890
typedef struct _dwg_ASSOCACTIONBODY_action
6891
{
6892
  struct _dwg_object_ASSOCMLEADERACTIONBODY *parent;
6893
  BITCODE_BL depid;
6894
  BITCODE_H dep;
6895
} Dwg_ASSOCACTIONBODY_action;
6896
6897
typedef struct _dwg_object_ASSOCMLEADERACTIONBODY
6898
{
6899
  struct _dwg_object_object *parent;
6900
  ASSOCANNOTATIONACTIONBODY_fields;
6901
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;
6902
  BITCODE_BL class_version; // 90 0
6903
  BITCODE_BL num_actions;
6904
  Dwg_ASSOCACTIONBODY_action *actions;
6905
} Dwg_Object_ASSOCMLEADERACTIONBODY;
6906
6907
typedef struct _dwg_object_ASSOCALIGNEDDIMACTIONBODY
6908
{
6909
  struct _dwg_object_object *parent;
6910
  ASSOCANNOTATIONACTIONBODY_fields;
6911
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;
6912
  BITCODE_BL class_version; // 90 0
6913
  BITCODE_H  r_node; // 330
6914
  BITCODE_H  d_node; // 330
6915
} Dwg_Object_ASSOCALIGNEDDIMACTIONBODY;
6916
6917
typedef struct _dwg_object_ASSOC3POINTANGULARDIMACTIONBODY
6918
{
6919
  struct _dwg_object_object *parent;
6920
  ASSOCANNOTATIONACTIONBODY_fields;
6921
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;
6922
  BITCODE_BS class_version; /*!< DXF 90  */
6923
  BITCODE_H r_node;   /*!< DXF 330  */
6924
  BITCODE_H d_node;   /*!< DXF 330  */
6925
  BITCODE_H assocdep;   /*!< DXF 330  */
6926
} Dwg_Object_ASSOC3POINTANGULARDIMACTIONBODY;
6927
6928
typedef struct _dwg_object_ASSOCORDINATEDIMACTIONBODY
6929
{
6930
  struct _dwg_object_object *parent;
6931
  ASSOCANNOTATIONACTIONBODY_fields;
6932
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;
6933
  BITCODE_BL class_version; /*!< DXF 90  */
6934
  BITCODE_H  r_node;    /*!< DXF 330 */
6935
  BITCODE_H  d_node;    /*!< DXF 330 */
6936
} Dwg_Object_ASSOCORDINATEDIMACTIONBODY;
6937
6938
typedef struct _dwg_object_ASSOCROTATEDDIMACTIONBODY
6939
{
6940
  struct _dwg_object_object *parent;
6941
  ASSOCANNOTATIONACTIONBODY_fields;
6942
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;
6943
  BITCODE_BS class_version; /*!< DXF 90  */
6944
  BITCODE_H  r_node;    /*!< DXF 330 */
6945
  BITCODE_H  d_node;    /*!< DXF 330 */
6946
} Dwg_Object_ASSOCROTATEDDIMACTIONBODY;
6947
6948
typedef struct _dwg_object_ASSOCDIMDEPENDENCYBODY
6949
{
6950
  struct _dwg_object_object *parent;
6951
  BITCODE_BS adb_version;     // 90 1
6952
  BITCODE_BS dimbase_version; // 90 1
6953
  BITCODE_T name;             // 1
6954
  BITCODE_BS class_version;   // 90 1
6955
} Dwg_Object_ASSOCDIMDEPENDENCYBODY;
6956
6957
typedef struct _dwg_object_BLOCKPARAMDEPENDENCYBODY
6958
{
6959
  struct _dwg_object_object *parent;
6960
  BITCODE_BS adb_version;     // 90 1
6961
  BITCODE_BS dimbase_version; // 90 1
6962
  BITCODE_T name;             // 1
6963
  BITCODE_BS class_version;   // 90 0
6964
} Dwg_Object_BLOCKPARAMDEPENDENCYBODY;
6965
6966
typedef struct _dwg_ARRAYITEMLOCATOR
6967
{
6968
  struct _dwg_object_ASSOCARRAYMODIFYACTIONBODY *parent;
6969
  BITCODE_BL itemloc[3];
6970
} Dwg_ARRAYITEMLOCATOR;
6971
6972
#define ASSOCARRAYACTIONBODY_fields            \
6973
  ASSOCACTIONBODY_fields;                      \
6974
  Dwg_ASSOCPARAMBASEDACTIONBODY pab;           \
6975
  BITCODE_BL aaab_version;                     \
6976
  BITCODE_T paramblock; /* classname, i.e. AcDbAssocArrayPolarParameters */ \
6977
  BITCODE_BD *transmatrix
6978
6979
typedef struct _dwg_object_ASSOCARRAYACTIONBODY
6980
{
6981
  struct _dwg_object_object *parent;
6982
  ASSOCARRAYACTIONBODY_fields;
6983
} Dwg_Object_ASSOCARRAYACTIONBODY;
6984
6985
typedef struct _dwg_object_ASSOCARRAYMODIFYACTIONBODY
6986
{
6987
  struct _dwg_object_object *parent;
6988
  ASSOCARRAYACTIONBODY_fields;
6989
  BITCODE_BS status;
6990
  BITCODE_BL num_items;
6991
  Dwg_ARRAYITEMLOCATOR *items;
6992
} Dwg_Object_ASSOCARRAYMODIFYACTIONBODY;
6993
6994
/* A node in the EVALUATION_GRAPH */
6995
typedef struct _dwg_EvalExpr
6996
{
6997
  BITCODE_BLd parentid; /* -1 if none */
6998
  BITCODE_BL major;
6999
  BITCODE_BL minor;
7000
  BITCODE_BSd value_code; // compare to EvalVariant
7001
  union
7002
  {
7003
    BITCODE_BD  num40;
7004
    BITCODE_2RD pt2d;
7005
    BITCODE_3BD pt3d;
7006
    BITCODE_T   text1;
7007
    BITCODE_BL  long90;
7008
    BITCODE_H   handle91;
7009
    BITCODE_BS  short70;
7010
  } value;
7011
  BITCODE_BL nodeid;
7012
} Dwg_EvalExpr;
7013
7014
typedef struct _dwg_ACSH_SubentMaterial
7015
{
7016
  BITCODE_BL major;
7017
  BITCODE_BL minor;
7018
  BITCODE_BL reflectance;
7019
  BITCODE_BL displacement;
7020
} Dwg_ACSH_SubentMaterial;
7021
7022
// on body, face or edge
7023
typedef struct _dwg_ACSH_SubentColor
7024
{
7025
  BITCODE_BL major;
7026
  BITCODE_BL minor;
7027
  BITCODE_BL transparency;
7028
  BITCODE_BL bl93;
7029
  BITCODE_B  is_face_variable;
7030
} Dwg_ACSH_SubentColor;
7031
7032
typedef struct _dwg_ACSH_HistoryNode
7033
{
7034
  BITCODE_BL major;    //33
7035
  BITCODE_BL minor;    //29
7036
  BITCODE_BD *trans;   //last 16x nums 40-55
7037
  BITCODE_CMC color;   /*!< DXF 62 */
7038
  BITCODE_BL step_id;  /*!< DXF 92 */
7039
  BITCODE_H  material; /*!< DXF 347 */
7040
} Dwg_ACSH_HistoryNode;
7041
7042
//#define Dwg_EvalExpr evalexpr Dwg_EvalExpr evalexpr
7043
7044
typedef struct _dwg_object_ACSH_HISTORY_CLASS
7045
{
7046
  struct _dwg_object_object *parent;
7047
  BITCODE_BL major;
7048
  BITCODE_BL minor;
7049
  BITCODE_H owner;
7050
  BITCODE_BL h_nodeid; // the last nodeid, i.e. num_nodes
7051
  BITCODE_B show_history;
7052
  BITCODE_B record_history;
7053
} Dwg_Object_ACSH_HISTORY_CLASS;
7054
7055
// i.e. planesurf?
7056
typedef struct _dwg_object_ACSH_BOX_CLASS
7057
{
7058
  struct _dwg_object_object *parent;
7059
  Dwg_EvalExpr evalexpr;
7060
  Dwg_ACSH_HistoryNode history_node;
7061
  // AcDbShPrimitive
7062
  // AcDbShBox
7063
  BITCODE_BL major;       /*!< DXF 90 (33) */
7064
  BITCODE_BL minor;       /*!< DXF 91 (29) */
7065
  BITCODE_BD length;     /*!< DXF 40 1300.0 (length?) */
7066
  BITCODE_BD width;      /*!< DXF 41 20.0 (width?) */
7067
  BITCODE_BD height;     /*!< DXF 42 420.0 (height?) */
7068
7069
} Dwg_Object_ACSH_BOX_CLASS;
7070
7071
typedef struct _dwg_object_ACSH_WEDGE_CLASS
7072
{
7073
  struct _dwg_object_object *parent;
7074
  Dwg_EvalExpr evalexpr;
7075
  Dwg_ACSH_HistoryNode history_node;
7076
  // AcDbShPrimitive
7077
  // AcDbShWedge
7078
  BITCODE_BL major;       /*!< DXF 90 (33) */
7079
  BITCODE_BL minor;       /*!< DXF 91 (29) */
7080
  BITCODE_BD length;     /*!< DXF 40 1300.0 (length?) */
7081
  BITCODE_BD width;      /*!< DXF 41 20.0 (width?) */
7082
  BITCODE_BD height;     /*!< DXF 42 420.0 (height?) */
7083
7084
} Dwg_Object_ACSH_WEDGE_CLASS;
7085
7086
typedef struct _dwg_object_ACSH_BOOLEAN_CLASS
7087
{
7088
  struct _dwg_object_object *parent;
7089
  Dwg_EvalExpr evalexpr;
7090
  Dwg_ACSH_HistoryNode history_node;
7091
  // AcDbShPrimitive
7092
  // AcDbShBoolean
7093
  BITCODE_BL major;       /*!< DXF 90 */
7094
  BITCODE_BL minor;       /*!< DXF 91 */
7095
  BITCODE_RCd operation;  /*!< DXF 280 */
7096
  BITCODE_BL operand1;    /*!< DXF 92 */
7097
  BITCODE_BL operand2;    /*!< DXF 93 */
7098
} Dwg_Object_ACSH_BOOLEAN_CLASS;
7099
7100
typedef struct _dwg_object_ACSH_BREP_CLASS
7101
{
7102
  struct _dwg_object_object *parent;
7103
  _3DSOLID_FIELDS;
7104
  Dwg_EvalExpr evalexpr;
7105
  Dwg_ACSH_HistoryNode history_node;
7106
  // AcDbShPrimitive
7107
  // AcDbShBrep
7108
  BITCODE_BL major;            /*!< DXF 90 */
7109
  BITCODE_BL minor;            /*!< DXF 91 */
7110
7111
} Dwg_Object_ACSH_BREP_CLASS;
7112
7113
typedef struct _dwg_object_ACSH_SWEEP_CLASS
7114
{
7115
  struct _dwg_object_object *parent;
7116
  Dwg_EvalExpr evalexpr;
7117
  Dwg_ACSH_HistoryNode history_node;
7118
  // AcDbShPrimitive
7119
  // AcDbShSweepBase
7120
  BITCODE_BL major;            /*!< DXF 90 */
7121
  BITCODE_BL minor;            /*!< DXF 91 */
7122
  BITCODE_3BD direction;      /*!< DXF 10 */
7123
  BITCODE_BL bl92;            /*!< DXF 92 */
7124
  BITCODE_BL shsw_text_size;  /*!< DXF 90 */
7125
  BITCODE_TF shsw_text;       /*!< DXF 310 */
7126
  BITCODE_BL shsw_bl93;       /*!< DXF 93 */
7127
  BITCODE_BL shsw_text2_size; /*!< DXF 90 */
7128
  BITCODE_TF shsw_text2;      /*!< DXF 310 */
7129
  // compare to SWEEPOPTIONS_fields
7130
  BITCODE_BD draft_angle;       /*!< DXF 42 0.0 */
7131
  BITCODE_BD start_draft_dist;  /*!< DXF 43 0.0 */
7132
  BITCODE_BD end_draft_dist;    /*!< DXF 44 0.0 */
7133
  BITCODE_BD scale_factor;      /*!< DXF 45 1.0 */
7134
  BITCODE_BD twist_angle;       /*!< DXF 48 0.0 */
7135
  BITCODE_BD align_angle;       /*!< DXF 49 0.0 */
7136
  BITCODE_BD* sweepentity_transform; /*!< DXF 46 16x */
7137
  BITCODE_BD* pathentity_transform;  /*!< DXF 47 16x */
7138
  BITCODE_RC align_option;      /*!< DXF 70 2 */
7139
  BITCODE_RC miter_option;      /*!< DXF 71 2 */
7140
  BITCODE_B has_align_start;    /*!< DXF 290 1 */
7141
  BITCODE_B bank;       /*!< DXF 292 1 */
7142
  BITCODE_B check_intersections; /*!< DXF 293 0 */
7143
  BITCODE_B shsw_b294;  /*!< DXF 294  1 */
7144
  BITCODE_B shsw_b295;  /*!< DXF 295  1 */
7145
  BITCODE_B shsw_b296;  /*!< DXF 296  1 */
7146
  BITCODE_3BD pt2;      /*!< DXF 11 0,0,0 */
7147
7148
  // AcDbShSweep
7149
7150
} Dwg_Object_ACSH_SWEEP_CLASS;
7151
7152
typedef struct _dwg_object_ACSH_EXTRUSION_CLASS
7153
{
7154
  struct _dwg_object_object *parent;
7155
  Dwg_EvalExpr evalexpr;
7156
  Dwg_ACSH_HistoryNode history_node;
7157
  // AcDbShPrimitive
7158
  // AcDbShSweepBase
7159
  BITCODE_BL major;        /*!< DXF 90 */
7160
  BITCODE_BL minor;        /*!< DXF 91 */
7161
  BITCODE_3BD direction;  /*!< DXF 10 */
7162
  BITCODE_BL bl92;        /*!< DXF 92 */
7163
  BITCODE_BL shsw_text_size;  /*!< DXF 90 */
7164
  BITCODE_TF shsw_text;       /*!< DXF 310 */
7165
  BITCODE_BL shsw_bl93;       /*!< DXF 93 */
7166
  BITCODE_BL shsw_text2_size; /*!< DXF 90 */
7167
  BITCODE_TF shsw_text2;      /*!< DXF 310 */
7168
  // compare to SWEEPOPTIONS_fields
7169
  BITCODE_BD draft_angle;       /*!< DXF 42 0.0 */
7170
  BITCODE_BD start_draft_dist;  /*!< DXF 43 0.0 */
7171
  BITCODE_BD end_draft_dist;    /*!< DXF 44 0.0 */
7172
  BITCODE_BD scale_factor;      /*!< DXF 45 1.0 */
7173
  BITCODE_BD twist_angle;       /*!< DXF 48 0.0 */
7174
  BITCODE_BD align_angle;       /*!< DXF 49 0.0 */
7175
  BITCODE_BD* sweepentity_transform; /*!< DXF 46 16x */
7176
  BITCODE_BD* pathentity_transform;  /*!< DXF 47 16x */
7177
  BITCODE_RC align_option;      /*!< DXF 70 2 */
7178
  BITCODE_RC miter_option;      /*!< DXF 71 2 */
7179
  BITCODE_B has_align_start;    /*!< DXF 290 1 */
7180
  BITCODE_B bank;       /*!< DXF 292 1 */
7181
  BITCODE_B check_intersections; /*!< DXF 293 0 */
7182
  BITCODE_B shsw_b294;  /*!< DXF 294  1 */
7183
  BITCODE_B shsw_b295;  /*!< DXF 295  1 */
7184
  BITCODE_B shsw_b296;  /*!< DXF 296  1 */
7185
  BITCODE_3BD pt2;      /*!< DXF 11 0,0,0 */
7186
7187
  // AcDbShExtrusion
7188
} Dwg_Object_ACSH_EXTRUSION_CLASS;
7189
7190
typedef struct _dwg_object_ACSH_LOFT_CLASS
7191
{
7192
  struct _dwg_object_object *parent;
7193
  Dwg_EvalExpr evalexpr;
7194
  Dwg_ACSH_HistoryNode history_node;
7195
  // AcDbShPrimitive
7196
  // AcDbShLoft
7197
  BITCODE_BL major;       /*!< DXF 90 */
7198
  BITCODE_BL minor;       /*!< DXF 91 */
7199
  BITCODE_BL num_crosssects; /*!< DXF 92 */
7200
  BITCODE_H *crosssects;
7201
  BITCODE_BL num_guides; /*!< DXF 95 */
7202
  BITCODE_H *guides;
7203
} Dwg_Object_ACSH_LOFT_CLASS;
7204
7205
typedef struct _dwg_object_ACSH_FILLET_CLASS
7206
{
7207
  struct _dwg_object_object *parent;
7208
  Dwg_EvalExpr evalexpr;
7209
  Dwg_ACSH_HistoryNode history_node;
7210
  // AcDbShPrimitive
7211
  // AcDbShFillet
7212
  BITCODE_BL major;       /*!< DXF 90 */
7213
  BITCODE_BL minor;       /*!< DXF 91 */
7214
  BITCODE_BL bl92;   /*!< DXF 92 */
7215
  BITCODE_BL num_edges;  /*!< DXF 93 */
7216
  BITCODE_BL *edges;     /*!< DXF 94 */
7217
  BITCODE_BL num_radiuses;  /*!< DXF 95 */
7218
  BITCODE_BL num_startsetbacks; /*!< DXF 96 */
7219
  BITCODE_BL num_endsetbacks; /*!< DXF 97 */
7220
  BITCODE_BD *radiuses;         /*!< DXF 41 */
7221
  BITCODE_BD *startsetbacks;  /*!< DXF 42 */
7222
  BITCODE_BD *endsetbacks;  /*!< DXF 43 */
7223
7224
} Dwg_Object_ACSH_FILLET_CLASS;
7225
7226
typedef struct _dwg_object_ACSH_CHAMFER_CLASS
7227
{
7228
  struct _dwg_object_object *parent;
7229
  Dwg_EvalExpr evalexpr;
7230
  Dwg_ACSH_HistoryNode history_node;
7231
  // AcDbShPrimitive
7232
  // AcDbShChamfer
7233
  BITCODE_BL major;     /*!< DXF 90 */
7234
  BITCODE_BL minor;     /*!< DXF 91 */
7235
  BITCODE_BL bl92;  /*!< DXF 92, flat or edge chamfer options? */
7236
  BITCODE_BD base_dist; /*!< DXF 41 (left_range?) */
7237
  BITCODE_BD other_dist;/*!< DXF 42 (right_range or -1)? */
7238
  BITCODE_BL num_edges; /*!< DXF 93 */
7239
  BITCODE_BL *edges;    /*!< DXF 94 */
7240
  BITCODE_BL bl95;  /*!< DXF 95 probably our nodeid */
7241
} Dwg_Object_ACSH_CHAMFER_CLASS;
7242
7243
typedef struct _dwg_object_ACSH_CYLINDER_CLASS
7244
{
7245
  struct _dwg_object_object *parent;
7246
  Dwg_EvalExpr evalexpr;
7247
  Dwg_ACSH_HistoryNode history_node;
7248
  // AcDbShPrimitive
7249
  // AcDbShCylinder
7250
  BITCODE_BL major;       /*!< DXF 90 */
7251
  BITCODE_BL minor;       /*!< DXF 91 */
7252
  BITCODE_BD height;      /*!< DXF 40 */
7253
  BITCODE_BD major_radius;/*!< DXF 41 */
7254
  BITCODE_BD minor_radius;/*!< DXF 42 */
7255
  BITCODE_BD x_radius;    /*!< DXF 43 */
7256
} Dwg_Object_ACSH_CYLINDER_CLASS;
7257
7258
typedef struct _dwg_object_ACSH_CONE_CLASS
7259
{
7260
  struct _dwg_object_object *parent;
7261
  Dwg_EvalExpr evalexpr;
7262
  Dwg_ACSH_HistoryNode history_node;
7263
  // AcDbShPrimitive
7264
  // AcDbShCone
7265
  BITCODE_BL major;      /*!< DXF 90 */
7266
  BITCODE_BL minor;      /*!< DXF 91 */
7267
  BITCODE_BD height;   /*!< DXF 40 */
7268
  BITCODE_BD major_radius; /*!< DXF 41 */
7269
  BITCODE_BD minor_radius; /*!< DXF 42 */
7270
  BITCODE_BD x_radius;    /*!< DXF 43 */
7271
} Dwg_Object_ACSH_CONE_CLASS;
7272
7273
typedef struct _dwg_object_ACSH_PYRAMID_CLASS
7274
{
7275
  struct _dwg_object_object *parent;
7276
  Dwg_EvalExpr evalexpr;
7277
  Dwg_ACSH_HistoryNode history_node;
7278
  // AcDbShPrimitive
7279
  // AcDbShPyramid
7280
  BITCODE_BL major;       /*!< DXF 90 */
7281
  BITCODE_BL minor;       /*!< DXF 91 */
7282
  BITCODE_BD height;     /*!< DXF 40 */
7283
  BITCODE_BL sides;      /*!< DXF 92 */
7284
  BITCODE_BD radius;     /*!< DXF 41 */
7285
  BITCODE_BD topradius;  /*!< DXF 42 */
7286
} Dwg_Object_ACSH_PYRAMID_CLASS;
7287
7288
typedef struct _dwg_object_ACSH_SPHERE_CLASS
7289
{
7290
  struct _dwg_object_object *parent;
7291
  Dwg_EvalExpr evalexpr;
7292
  Dwg_ACSH_HistoryNode history_node;
7293
  // AcDbShPrimitive
7294
  // AcDbShTorus
7295
  BITCODE_BL major;       /*!< DXF 90 */
7296
  BITCODE_BL minor;       /*!< DXF 91 */
7297
  BITCODE_BD radius;  /*!< DXF 40 */
7298
7299
} Dwg_Object_ACSH_SPHERE_CLASS;
7300
7301
typedef struct _dwg_object_ACSH_TORUS_CLASS
7302
{
7303
  struct _dwg_object_object *parent;
7304
  Dwg_EvalExpr evalexpr;
7305
  Dwg_ACSH_HistoryNode history_node;
7306
  // AcDbShPrimitive
7307
  // AcDbShTorus
7308
  BITCODE_BL major;       /*!< DXF 90 */
7309
  BITCODE_BL minor;       /*!< DXF 91 */
7310
  BITCODE_BD major_radius;  /*!< DXF 40 */
7311
  BITCODE_BD minor_radius;  /*!< DXF 41 */
7312
7313
} Dwg_Object_ACSH_TORUS_CLASS;
7314
7315
typedef struct _dwg_object_ACSH_REVOLVE_CLASS
7316
{
7317
  struct _dwg_object_object *parent;
7318
  Dwg_EvalExpr evalexpr;
7319
  Dwg_ACSH_HistoryNode history_node;
7320
  // AcDbShPrimitive
7321
  // AcDbShRevolve?
7322
  BITCODE_BL major;       /*!< DXF 90 */
7323
  BITCODE_BL minor;       /*!< DXF 91 */
7324
  BITCODE_3BD axis_pt;  /*!< DXF 10 */
7325
  BITCODE_2RD direction;  /*!< DXF 11 */
7326
  BITCODE_BD revolve_angle; /*!< DXF 40 */
7327
  BITCODE_BD start_angle; /*!< DXF 41 */
7328
  BITCODE_BD draft_angle; /*!< DXF 43 */
7329
  BITCODE_BD bd44;    /*!< DXF 44 */
7330
  BITCODE_BD bd45;    /*!< DXF 45 */
7331
  BITCODE_BD twist_angle; /*!< DXF 46 */
7332
  BITCODE_B b290;   /*!< DXF 290 */
7333
  BITCODE_B is_close_to_axis; /*!< DXF 291 */
7334
  BITCODE_H sweep_entity;
7335
7336
} Dwg_Object_ACSH_REVOLVE_CLASS;
7337
7338
// called COORDINATION_MODEL in the DXF docs
7339
typedef struct _dwg_entity_NAVISWORKSMODEL
7340
{
7341
  struct _dwg_object_entity *parent;
7342
  // AcDbNavisworksModel
7343
  BITCODE_BS flags;   /*!< DXF 70 */
7344
  BITCODE_H definition;   /*!< DXF 340 */
7345
  BITCODE_BD *transmatrix;  /*!< DXF 40 */
7346
  BITCODE_BD unitfactor;  /*!< DXF 40 */
7347
} Dwg_Entity_NAVISWORKSMODEL;
7348
7349
typedef struct _dwg_object_NAVISWORKSMODELDEF
7350
{
7351
  struct _dwg_object_object *parent;
7352
  // AcDbNavisworksModelDef
7353
  BITCODE_BS flags;     /*!< DXF 70 */
7354
  BITCODE_T path;       /*!< DXF 1 */
7355
  BITCODE_B status;     /*!< DXF 290 */
7356
  BITCODE_3BD min_extent; /*!< DXF 10 */
7357
  BITCODE_3BD max_extent; /*!< DXF 11 */
7358
  BITCODE_B host_drawing_visibility; /*!< DXF 290 */
7359
} Dwg_Object_NAVISWORKSMODELDEF;
7360
7361
#define RENDERSETTINGS_fields                                                 \
7362
  /* AcDbRenderSettings */                                                    \
7363
  BITCODE_BL class_version;         /*!< DXF 90, default: 1 */                \
7364
  BITCODE_T name;                   /*!< DXF 1 */                             \
7365
  BITCODE_B fog_enabled;            /*!< DXF 290 */                           \
7366
  BITCODE_B fog_background_enabled; /*!< DXF 290 */                           \
7367
  BITCODE_B backfaces_enabled;      /*!< DXF 290 */                           \
7368
  BITCODE_B environ_image_enabled;  /*!< DXF 290 */                           \
7369
  BITCODE_T environ_image_filename; /*!< DXF 1 */                             \
7370
  BITCODE_T description;            /*!< DXF 1 */                             \
7371
  BITCODE_BL display_index;         /*!< DXF 290 */                           \
7372
  BITCODE_B has_predefined          /*!< DXF 290, r2013 only */
7373
7374
/**
7375
 Class RENDERSETTINGS (varies)
7376
 */
7377
typedef struct _dwg_object_RENDERSETTINGS
7378
{
7379
  struct _dwg_object_object *parent;
7380
  RENDERSETTINGS_fields;
7381
} Dwg_Object_RENDERSETTINGS;
7382
7383
/**
7384
 Class MENTALRAYRENDERSETTINGS (varies)
7385
 Unstable
7386
 */
7387
typedef struct _dwg_object_MENTALRAYRENDERSETTINGS
7388
{
7389
  struct _dwg_object_object *parent;
7390
  RENDERSETTINGS_fields;
7391
  // AcDbMentalRayRenderSettings
7392
  BITCODE_BL mr_version;    /*!< DXF 90, always 2 */
7393
  BITCODE_BL sampling1;     /*!< DXF 90 */
7394
  BITCODE_BL sampling2;     /*!< DXF 90 */
7395
  BITCODE_BS sampling_mr_filter;  /*!< DXF 70 */
7396
  BITCODE_BD sampling_filter1;    /*!< DXF 40 */
7397
  BITCODE_BD sampling_filter2;    /*!< DXF 40 */
7398
  BITCODE_BD sampling_contrast_color1;  /*!< DXF 40 */
7399
  BITCODE_BD sampling_contrast_color2;  /*!< DXF 40 */
7400
  BITCODE_BD sampling_contrast_color3;  /*!< DXF 40 */
7401
  BITCODE_BD sampling_contrast_color4;  /*!< DXF 40 */
7402
  BITCODE_BS shadow_mode;   /*!< DXF 70 */
7403
  BITCODE_B  shadow_maps_enabled; /*!< DXF 290 */
7404
  BITCODE_B  ray_tracing_enabled; /*!< DXF 290 */
7405
  BITCODE_BL ray_trace_depth1;    /*!< DXF 90 */
7406
  BITCODE_BL ray_trace_depth2;    /*!< DXF 90 */
7407
  BITCODE_BL ray_trace_depth3;    /*!< DXF 90 */
7408
  BITCODE_B  global_illumination_enabled;/*!< DXF 290 */
7409
  BITCODE_BL gi_sample_count;   /*!< DXF 90 */
7410
  BITCODE_B  gi_sample_radius_enabled;  /*!< DXF 290 */
7411
  BITCODE_BD gi_sample_radius;    /*!< DXF 40 */
7412
  BITCODE_BL gi_photons_per_light;  /*!< DXF 90 */
7413
  BITCODE_BL photon_trace_depth1; /*!< DXF 90 */
7414
  BITCODE_BL photon_trace_depth2; /*!< DXF 90 */
7415
  BITCODE_BL photon_trace_depth3; /*!< DXF 90 */
7416
  BITCODE_B  final_gathering_enabled; /*!< DXF 290 */
7417
  BITCODE_BL fg_ray_count;    /*!< DXF 90 */
7418
  BITCODE_B  fg_sample_radius_state1; /*!< DXF 290 */
7419
  BITCODE_B  fg_sample_radius_state2; /*!< DXF 290 */
7420
  BITCODE_B  fg_sample_radius_state3; /*!< DXF 290 */
7421
  BITCODE_BD fg_sample_radius1;   /*!< DXF 40 */
7422
  BITCODE_BD fg_sample_radius2;   /*!< DXF 40 */
7423
  BITCODE_BD light_luminance_scale;   /*!< DXF 40 */
7424
  BITCODE_BS diagnostics_mode;    /*!< DXF 70 */
7425
  BITCODE_BS diagnostics_grid_mode; /*!< DXF 70 */
7426
  BITCODE_BD diagnostics_grid_float;  /*!< DXF 40 */
7427
  BITCODE_BS diagnostics_photon_mode; /*!< DXF 70 */
7428
  BITCODE_BS diagnostics_bsp_mode;  /*!< DXF 70 */
7429
  BITCODE_B  export_mi_enabled;   /*!< DXF 290 */
7430
  BITCODE_T  mr_description;    /*!< DXF 1 */
7431
  BITCODE_BL tile_size;     /*!< DXF 90 */
7432
  BITCODE_BS tile_order;    /*!< DXF 70 */
7433
  BITCODE_BL memory_limit;    /*!< DXF 90 */
7434
  BITCODE_B  diagnostics_samples_mode;  /*!< DXF 290 */
7435
  BITCODE_BD energy_multiplier;   /*!< DXF 40 */
7436
} Dwg_Object_MENTALRAYRENDERSETTINGS;
7437
7438
/**
7439
 Class RAPIDRTRENDERSETTINGS (varies)
7440
 */
7441
typedef struct _dwg_object_RAPIDRTRENDERSETTINGS
7442
{
7443
  struct _dwg_object_object *parent;
7444
  RENDERSETTINGS_fields;
7445
  // AcDbRapidRTRenderSettings
7446
  BITCODE_BL rapidrt_version;   /*!< DXF 90 */
7447
  BITCODE_BL render_target; /*!< DXF 70,
7448
      quit conditions: level=0 (iteration), time=1, infinite=2 */
7449
  BITCODE_BL render_level;  /*!< DXF 90 */
7450
  BITCODE_BL render_time; /*!< DXF 90 */
7451
  BITCODE_BL lighting_model;  /*!< DXF 70,
7452
      AcGiLightingMode: simplistic=0, basic=1, advanced=2 */
7453
  BITCODE_BL filter_type; /*!< DXF 70 */
7454
  BITCODE_BD filter_width;  /*!< DXF 40 */
7455
  BITCODE_BD filter_height; /*!< DXF 40 */
7456
} Dwg_Object_RAPIDRTRENDERSETTINGS;
7457
7458
/**
7459
 Class RENDERENVIRONMENT (varies)
7460
 */
7461
typedef struct _dwg_object_RENDERENVIRONMENT
7462
{
7463
  struct _dwg_object_object *parent;
7464
7465
  BITCODE_BL class_version;       /*!< DXF 90, default: 1 */
7466
  BITCODE_B fog_enabled;          /*!< DXF 290 */
7467
  BITCODE_B fog_background_enabled;   /*!< DXF 290 */
7468
  BITCODE_RC fog_color_r;         /*!< DXF 280 */
7469
  BITCODE_RC fog_color_g;         /*!< DXF 280 */
7470
  BITCODE_RC fog_color_b;         /*!< DXF 280 */
7471
  BITCODE_BD fog_density_near;    /*!< DXF 40 */
7472
  BITCODE_BD fog_density_far;     /*!< DXF 40 */
7473
  BITCODE_BD fog_distance_near;       /*!< DXF 40 */
7474
  BITCODE_BD fog_distance_far;        /*!< DXF 40 */
7475
  BITCODE_B environ_image_enabled;    /*!< DXF 290 */
7476
  BITCODE_T environ_image_filename;   /*!< DXF 1 */
7477
} Dwg_Object_RENDERENVIRONMENT;
7478
7479
/**
7480
 Class RENDERGLOBAL (varies)
7481
 */
7482
typedef struct _dwg_object_RENDERGLOBAL
7483
{
7484
  struct _dwg_object_object *parent;
7485
7486
  BITCODE_BL class_version;    /*!< DXF 90 */
7487
  BITCODE_BL procedure;        /*!< DXF 90 */
7488
  BITCODE_BL destination;      /*!< DXF 90 */
7489
  BITCODE_B save_enabled;      /*!< DXF 290 */
7490
  BITCODE_T save_filename;     /*!< DXF 1 */
7491
  BITCODE_BL image_width;      /*!< DXF 90 */
7492
  BITCODE_BL image_height;     /*!< DXF 90 */
7493
  BITCODE_B predef_presets_first; /*!< DXF 290 */
7494
  BITCODE_B highlevel_info;    /*!< DXF 290 */
7495
} Dwg_Object_RENDERGLOBAL;
7496
7497
/**
7498
 Class RENDERENTRY (varies)
7499
 */
7500
typedef struct _dwg_object_RENDERENTRY
7501
{
7502
  struct _dwg_object_object *parent;
7503
  BITCODE_BL class_version; /*!< DXF 90 */
7504
  BITCODE_T image_file_name;  /*!< DXF 1 */
7505
  BITCODE_T preset_name;  /*!< DXF 1 */
7506
  BITCODE_T view_name;    /*!< DXF 1 */
7507
  BITCODE_BL dimension_x; /*!< DXF 90 */
7508
  BITCODE_BL dimension_y; /*!< DXF 90 */
7509
  BITCODE_BS start_year;  /*!< DXF 70 */
7510
  BITCODE_BS start_month; /*!< DXF 70 */
7511
  BITCODE_BS start_day;   /*!< DXF 70 */
7512
  BITCODE_BS start_minute;  /*!< DXF 70 */
7513
  BITCODE_BS start_second;  /*!< DXF 70 */
7514
  BITCODE_BS start_msec;  /*!< DXF 70 */
7515
  BITCODE_BD render_time; /*!< DXF 40 */
7516
  BITCODE_BL memory_amount; /*!< DXF 90 */
7517
  BITCODE_BL material_count;  /*!< DXF 90 */
7518
  BITCODE_BL light_count; /*!< DXF 90 */
7519
  BITCODE_BL triangle_count;  /*!< DXF 90 */
7520
  BITCODE_BL display_index; /*!< DXF 90 */
7521
} Dwg_Object_RENDERENTRY;
7522
7523
/**
7524
 Class MOTIONPATH (varies)
7525
 Maybe all the Camera paths are under ACAD_NAMEDPATH, but there's also ACAD_MOTION
7526
 */
7527
typedef struct _dwg_object_MOTIONPATH
7528
{
7529
  struct _dwg_object_object *parent;
7530
  // AcDbMotionPath
7531
  BITCODE_BS class_version;     /*!< DXF 90, default: 1 */
7532
  BITCODE_H camera_path;        /*!< DXF 340 */
7533
  BITCODE_H target_path;        /*!< DXF 340 */
7534
  BITCODE_H viewtable;          /*!< DXF 340 */
7535
  BITCODE_BS frames;            /*!< DXF 90  number of frames? default 30 */
7536
  BITCODE_BS frame_rate;        /*!< DXF 90  per second, default 30 */
7537
  BITCODE_B corner_decel;       /*!< DXF 290 */
7538
} Dwg_Object_MOTIONPATH;
7539
7540
/**
7541
 Class ACDBCURVEPATH (varies)
7542
 */
7543
typedef struct _dwg_object_CURVEPATH
7544
{
7545
  struct _dwg_object_object *parent;
7546
  // AcDbCurvePath, child of AcDbNamedPath
7547
  BITCODE_BS class_version;     /*!< DXF 90, default: 1 */
7548
  BITCODE_H entity;             /*!< DXF 340 */
7549
} Dwg_Object_CURVEPATH;
7550
7551
/**
7552
 Class ACDBPOINTPATH (varies)
7553
 */
7554
typedef struct _dwg_object_POINTPATH
7555
{
7556
  struct _dwg_object_object *parent;
7557
  // AcDbPointPath, child of AcDbNamedPath
7558
  BITCODE_BS class_version;     /*!< DXF 90, default: 1 */
7559
  BITCODE_3BD point;            /*!< DXF 10 */
7560
} Dwg_Object_POINTPATH;
7561
7562
// not in DXF
7563
typedef struct _dwg_object_TVDEVICEPROPERTIES
7564
{
7565
  struct _dwg_object_object *parent;
7566
  BITCODE_BL flags; /* 1: double_buffer, 2: blocks_cache, 4: multithreaded, 8: sw_hlr
7567
                       16: discard_backfaces, 32: ttf_cache, 64: dyn_subenthlt, 128: force_partial_update
7568
                       256: clear_screen, 512: use_visual_styles (bit 9) 1024: use_overlay_buffers,
7569
                       2048: scene_graph, 4096: composite_meta_files, ??: create_gl_context (bit 13)
7570
                       delay_scenegraphproc (bit 14),
7571
                    */
7572
  BITCODE_BS max_regen_threads;
7573
  BITCODE_BL use_lut_palette;
7574
  BITCODE_BLL alt_hlt;
7575
  BITCODE_BLL alt_hltcolor;
7576
  BITCODE_BLL geom_shader_usage;
7577
  // ver > 3
7578
  BITCODE_BL blending_mode;
7579
  //ver 2 or >4:
7580
  BITCODE_BD antialiasing_level;
7581
  BITCODE_BD bd2;
7582
} Dwg_Object_TVDEVICEPROPERTIES;
7583
7584
typedef struct _dwg_object_SKYLIGHT_BACKGROUND
7585
{
7586
  struct _dwg_object_object *parent;
7587
  BITCODE_BL class_version;     /*!< DXF 90, default 1 */
7588
  BITCODE_H sunid;    /*!< DXF 340 */
7589
} Dwg_Object_SKYLIGHT_BACKGROUND;
7590
7591
typedef struct _dwg_object_SOLID_BACKGROUND
7592
{
7593
  struct _dwg_object_object *parent;
7594
  BITCODE_BL class_version;     /*!< DXF 90, default 1 */
7595
  BITCODE_BLx color;    /*!< DXF 90 */
7596
} Dwg_Object_SOLID_BACKGROUND;
7597
7598
typedef struct _dwg_object_IMAGE_BACKGROUND
7599
{
7600
  struct _dwg_object_object *parent;
7601
  BITCODE_BL class_version;     /*!< DXF 90, default 1 */
7602
  BITCODE_T filename;   /*!< DXF 300 */
7603
  BITCODE_B fit_to_screen;  /*!< DXF 290 */
7604
  BITCODE_B maintain_aspect_ratio;  /*!< DXF 291 */
7605
  BITCODE_B use_tiling;   /*!< DXF 292 */
7606
  BITCODE_2BD offset;   /*!< DXF 140,141 */
7607
  BITCODE_2BD scale;    /*!< DXF 142,143 */
7608
} Dwg_Object_IMAGE_BACKGROUND;
7609
7610
// Image Based Lightning
7611
typedef struct _dwg_object_IBL_BACKGROUND
7612
{
7613
  struct _dwg_object_object *parent;
7614
  BITCODE_BL class_version;     /*!< DXF 90, default 2 */
7615
  BITCODE_B enable;             /*!< DXF 290 */
7616
  BITCODE_T name;         /*!< DXF 1 */
7617
  BITCODE_BD rotation;          /*!< DXF 40, normalized -180 +180, in degrees */
7618
  BITCODE_B display_image;      /*!< DXF 290 */
7619
  BITCODE_H secondary_background;/*!< DXF 340 */
7620
} Dwg_Object_IBL_BACKGROUND;
7621
7622
typedef struct _dwg_object_GRADIENT_BACKGROUND
7623
{
7624
  struct _dwg_object_object *parent;
7625
  BITCODE_BL class_version;     /*!< DXF 90, default 1 */
7626
  BITCODE_BLx color_top;  /*!< DXF 90 */
7627
  BITCODE_BLx color_middle; /*!< DXF 91 */
7628
  BITCODE_BLx color_bottom; /*!< DXF 91 */
7629
  BITCODE_BD horizon;   /*!< DXF 140 */
7630
  BITCODE_BD height;    /*!< DXF 141 */
7631
  BITCODE_BD rotation;    /*!< DXF 142 */
7632
} Dwg_Object_GRADIENT_BACKGROUND;
7633
7634
typedef struct _dwg_object_GROUND_PLANE_BACKGROUND
7635
{
7636
  struct _dwg_object_object *parent;
7637
  BITCODE_BL class_version;       /*!< DXF 90, default 1 */
7638
  BITCODE_BLx color_sky_zenith;   /*!< DXF 90 */
7639
  BITCODE_BLx color_sky_horizon;  /*!< DXF 91 */
7640
  BITCODE_BLx color_underground_horizon;/*!< DXF 92 */
7641
  BITCODE_BLx color_underground_azimuth;/*!< DXF 93 */
7642
  BITCODE_BLx color_near;   /*!< DXF 94 groundplane */
7643
  BITCODE_BLx color_far;    /*!< DXF 95 groundplane */
7644
} Dwg_Object_GROUND_PLANE_BACKGROUND;
7645
7646
/**
7647
 * Class AcDbAnnotScaleObjectContextData (varies)
7648
 * for MTEXT, TEXT, MLEADER, LEADER, BLKREF, ALDIM (AlignedDimension), MTEXTATTRIBUTE, ...
7649
 * R2010+
7650
 * 20.4.89 SubClass AcDbObjectContextData (varies)
7651
 */
7652
7653
#define OBJECTCONTEXTDATA_fields                                              \
7654
  struct _dwg_object_object *parent;                                          \
7655
  BITCODE_BS class_version; /*!< r2010+ =4, before 3 */                       \
7656
  BITCODE_B is_default     /* 290 */
7657
7658
#define ANNOTSCALEOBJECTCONTEXTDATA_fields                                    \
7659
  OBJECTCONTEXTDATA_fields;                                                   \
7660
  BITCODE_H scale /*!< DXF 340 */
7661
7662
typedef struct _dwg_object_ANNOTSCALEOBJECTCONTEXTDATA
7663
{
7664
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7665
} Dwg_Object_ANNOTSCALEOBJECTCONTEXTDATA;
7666
7667
typedef struct _dwg_CONTEXTDATA_dict
7668
{
7669
  struct _dwg_CONTEXTDATA_submgr *parent;
7670
  BITCODE_T text;
7671
  BITCODE_H itemhandle;
7672
} Dwg_CONTEXTDATA_dict;
7673
7674
typedef struct _dwg_CONTEXTDATA_submgr
7675
{
7676
  struct _dwg_object_CONTEXTDATAMANAGER *parent;
7677
  BITCODE_H handle;
7678
  BITCODE_BL num_entries;
7679
  Dwg_CONTEXTDATA_dict *entries;
7680
} Dwg_CONTEXTDATA_submgr;
7681
7682
/**
7683
 * R2010+
7684
 * A special DICTIONARY
7685
 */
7686
typedef struct _dwg_object_CONTEXTDATAMANAGER
7687
{
7688
  struct _dwg_object_object *parent;
7689
  BITCODE_H objectcontext;
7690
  BITCODE_BL num_submgrs;
7691
  Dwg_CONTEXTDATA_submgr *submgrs;
7692
} Dwg_Object_CONTEXTDATAMANAGER;
7693
7694
#define TEXTOBJECTCONTEXTDATA_fields \
7695
  BITCODE_BS horizontal_mode; /*<! DXF 70, default 0 */ \
7696
  BITCODE_BD rotation;    /*!< DXF 50, default 0.0 or 90.0 */ \
7697
  BITCODE_2RD ins_pt;     /*!< DXF 10-20 */ \
7698
  BITCODE_2RD alignment_pt  /*!< DXF 11-21 */
7699
7700
/**
7701
 * R2010+
7702
 */
7703
typedef struct _dwg_object_TEXTOBJECTCONTEXTDATA
7704
{
7705
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7706
  TEXTOBJECTCONTEXTDATA_fields;
7707
} Dwg_Object_TEXTOBJECTCONTEXTDATA;
7708
7709
/**
7710
 * R2010+
7711
 */
7712
typedef struct _dwg_object_MTEXTOBJECTCONTEXTDATA
7713
{
7714
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7715
  // AcDbMTextObjectContextData_fields:
7716
  BITCODE_BL attachment;        /*<! DXF 70 */
7717
  BITCODE_3BD ins_pt;     /*!< DXF 10 */
7718
  BITCODE_3BD x_axis_dir;   /*!< DXF 11 */
7719
  BITCODE_BD rect_height; /*!< DXF 40 */
7720
  BITCODE_BD rect_width;  /*!< DXF 41 */
7721
  BITCODE_BD extents_width; /*!< DXF 42 */
7722
  BITCODE_BD extents_height;  /*!< DXF 43 */
7723
  BITCODE_BL column_type;       /*!< DXF 71 0: none, 1: static, 2: dynamic.
7724
                                     Note: BS in MTEXT! */
7725
  BITCODE_BD column_width;      /*!< DXF 44 */
7726
  BITCODE_BD gutter;            /*!< DXF 45 */
7727
  BITCODE_B auto_height;        /*!< DXF 73 */
7728
  BITCODE_B flow_reversed;      /*!< DXF 74 */
7729
  BITCODE_BL num_column_heights;/*!< DXF 72 or numfragments */
7730
  BITCODE_BD *column_heights;   /*!< DXF 46 if dynamic and not auto_height */
7731
} Dwg_Object_MTEXTOBJECTCONTEXTDATA;
7732
7733
// subclass AcDbDimensionObjectContextData
7734
typedef struct _dwg_OCD_Dimension
7735
{
7736
  BITCODE_B b293;   /*!< DXF 293 */
7737
  BITCODE_2RD def_pt;     /*!< DXF 10-30 */
7738
  BITCODE_B is_def_textloc; /*<! DXF 294 if def_pt is default */
7739
  BITCODE_BD text_rotation; /*!< DXF 140 */
7740
  BITCODE_H block;    /*!< DXF 2 */
7741
  BITCODE_B dimtofl;    /*!< DXF 298 */
7742
  BITCODE_B dimosxd;    /*!< DXF 291 */
7743
  BITCODE_B dimatfit;   /*!< DXF 70  */
7744
  BITCODE_B dimtix;   /*!< DXF 292 */
7745
  BITCODE_B dimtmove;   /*!< DXF 71  */
7746
  BITCODE_RC override_code; /*!< DXF 280 */
7747
  BITCODE_B has_arrow2;   /*!< DXF 295 */
7748
  BITCODE_B flip_arrow2;  /*!< DXF 296 */
7749
  BITCODE_B flip_arrow1;  /*!< DXF 297 */
7750
} Dwg_OCD_Dimension;
7751
7752
/**
7753
 * for ALDIM (AlignedDimension)
7754
 * R2010+
7755
 */
7756
typedef struct _dwg_object_ALDIMOBJECTCONTEXTDATA
7757
{
7758
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7759
  Dwg_OCD_Dimension dimension;
7760
  // AcDbAlignedDimensionObjectContextData
7761
  BITCODE_3BD dimline_pt; /*!< DXF 11-31 */
7762
} Dwg_Object_ALDIMOBJECTCONTEXTDATA;
7763
7764
/**
7765
 * for ANGDIM (AngularDimension)
7766
 * R2010+
7767
 */
7768
typedef struct _dwg_object_ANGDIMOBJECTCONTEXTDATA
7769
{
7770
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7771
  Dwg_OCD_Dimension dimension;
7772
  // AcDbAngularDimensionObjectContextData
7773
  BITCODE_3BD arc_pt; /*!< DXF 11-31 */
7774
} Dwg_Object_ANGDIMOBJECTCONTEXTDATA;
7775
7776
/**
7777
 * for DMDIM (DiametricDimension)
7778
 * R2010+
7779
 */
7780
typedef struct _dwg_object_DMDIMOBJECTCONTEXTDATA
7781
{
7782
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7783
  Dwg_OCD_Dimension dimension;
7784
  // AcDbDiametricDimensionObjectContextData
7785
  BITCODE_3BD first_arc_pt; /*!< DXF 11-31 */
7786
  BITCODE_3BD def_pt;   /*!< DXF 12-32 */
7787
} Dwg_Object_DMDIMOBJECTCONTEXTDATA;
7788
7789
/**
7790
 * for ORDDIM (OrdinateDimension)
7791
 * R2010+
7792
 */
7793
typedef struct _dwg_object_ORDDIMOBJECTCONTEXTDATA
7794
{
7795
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7796
  Dwg_OCD_Dimension dimension;
7797
  // AcDbOrdinateDimensionObjectContextData
7798
  BITCODE_3BD feature_location_pt;  /*!< DXF 11-31 = origin */
7799
  BITCODE_3BD leader_endpt;   /*!< DXF 12-32 */
7800
} Dwg_Object_ORDDIMOBJECTCONTEXTDATA;
7801
7802
/**
7803
 * for RADIM (Radial Dimension)
7804
 * R2010+
7805
 */
7806
typedef struct _dwg_object_RADIMOBJECTCONTEXTDATA
7807
{
7808
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7809
  Dwg_OCD_Dimension dimension;
7810
  // AcDbRadialDimensionObjectContextData
7811
  BITCODE_3BD first_arc_pt;   /*!< DXF 11-31 */
7812
} Dwg_Object_RADIMOBJECTCONTEXTDATA;
7813
7814
/**
7815
 * for RADIMLG (Large Radial Dimension)
7816
 * R2010+
7817
 */
7818
typedef struct _dwg_object_RADIMLGOBJECTCONTEXTDATA
7819
{
7820
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7821
  Dwg_OCD_Dimension dimension;
7822
  // AcDbRadialDimensionLargeObjectContextData
7823
  BITCODE_3BD ovr_center;   /*!< DXF 12-32 */
7824
  BITCODE_3BD jog_point;    /*!< DXF 13-33 */
7825
} Dwg_Object_RADIMLGOBJECTCONTEXTDATA;
7826
7827
typedef struct _dwg_object_MTEXTATTRIBUTEOBJECTCONTEXTDATA
7828
{
7829
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7830
  TEXTOBJECTCONTEXTDATA_fields;
7831
  // MTEXTATTR
7832
  BITCODE_B enable_context;
7833
  Dwg_Object_SCALE context;
7834
} Dwg_Object_MTEXTATTRIBUTEOBJECTCONTEXTDATA;
7835
7836
typedef struct _dwg_object_MLEADEROBJECTCONTEXTDATA
7837
{
7838
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7839
  // ...??
7840
} Dwg_Object_MLEADEROBJECTCONTEXTDATA;
7841
7842
typedef struct _dwg_object_LEADEROBJECTCONTEXTDATA
7843
{
7844
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7845
  BITCODE_BL num_points;  /*< DXF 70 */
7846
  BITCODE_3DPOINT* points;  /*!< DXF 10 */
7847
  BITCODE_B b290;   /*!< DXF 290 */
7848
  BITCODE_3DPOINT x_direction;  /*!< DXF 11 */
7849
  BITCODE_3DPOINT inspt_offset; /*!< DXF 12 */
7850
  BITCODE_3DPOINT endptproj;  /*!< DXF 13 */
7851
} Dwg_Object_LEADEROBJECTCONTEXTDATA;
7852
7853
typedef struct _dwg_object_BLKREFOBJECTCONTEXTDATA
7854
{
7855
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7856
  BITCODE_BD rotation;           /* 50 */
7857
  BITCODE_3BD ins_pt;        /* 10 */
7858
  BITCODE_3BD scale_factor;      /* 42-44 */
7859
} Dwg_Object_BLKREFOBJECTCONTEXTDATA;
7860
7861
typedef struct _dwg_object_FCFOBJECTCONTEXTDATA
7862
{
7863
  ANNOTSCALEOBJECTCONTEXTDATA_fields;
7864
  BITCODE_3BD location;   /*!< DXF 10-30 */
7865
  BITCODE_3BD horiz_dir;  /*!< DXF 11-31 */
7866
} Dwg_Object_FCFOBJECTCONTEXTDATA;
7867
7868
typedef struct _dwg_object_DETAILVIEWSTYLE
7869
{
7870
  struct _dwg_object_object *parent;
7871
  // AcDbModelDocViewStyle
7872
  BITCODE_BS mdoc_class_version; /*!< DXF 70 0 */
7873
  BITCODE_T desc;
7874
  BITCODE_B is_modified_for_recompute;
7875
  BITCODE_T display_name;
7876
  BITCODE_BL viewstyle_flags; /* DXF 90. 1: cannot_rename */
7877
  // AcDbDetailViewStyle
7878
  BITCODE_BS class_version; /*!< DXF 70 0 */
7879
  BITCODE_BL flags;
7880
  BITCODE_H identifier_style;
7881
  BITCODE_CMC identifier_color;
7882
  BITCODE_BD identifier_height;
7883
  BITCODE_T identifier_exclude_characters;
7884
  BITCODE_BD identifier_offset;
7885
  BITCODE_RC identifier_placement;
7886
  BITCODE_H arrow_symbol;
7887
  BITCODE_CMC arrow_symbol_color;
7888
  BITCODE_BD arrow_symbol_size;
7889
  BITCODE_H boundary_ltype;
7890
  BITCODE_BLd boundary_linewt;
7891
  BITCODE_CMC boundary_line_color;
7892
  BITCODE_H viewlabel_text_style;
7893
  BITCODE_CMC viewlabel_text_color;
7894
  BITCODE_BD viewlabel_text_height;
7895
  BITCODE_BL viewlabel_attachment;
7896
  BITCODE_BD viewlabel_offset;
7897
  BITCODE_BL viewlabel_alignment;
7898
  BITCODE_T viewlabel_pattern;
7899
  BITCODE_H connection_ltype;
7900
  BITCODE_BLd connection_linewt;
7901
  BITCODE_CMC connection_line_color;
7902
  BITCODE_H borderline_ltype;
7903
  BITCODE_BLd borderline_linewt;
7904
  BITCODE_CMC borderline_color;
7905
  BITCODE_RC model_edge;
7906
} Dwg_Object_DETAILVIEWSTYLE;
7907
7908
typedef struct _dwg_object_SECTIONVIEWSTYLE
7909
{
7910
  struct _dwg_object_object *parent;
7911
7912
  // AcDbModelDocViewStyle
7913
  BITCODE_BS mdoc_class_version; /*!< DXF 70 0 */
7914
  BITCODE_T desc;
7915
  BITCODE_B is_modified_for_recompute;
7916
  BITCODE_T display_name;
7917
  BITCODE_BL viewstyle_flags; /* DXF 90. 1: cannot_rename */
7918
  // AcDbSectionViewStyle
7919
  BITCODE_BS class_version; /*!< DXF 70 0 */
7920
  BITCODE_BL flags; /* DXF 90. 1: is_continuous_labeling, 2: show_arrowheads,
7921
                       4: show_viewlabel,  8: show_all_plane_lines,
7922
                       0x10: show_all_bend_identifiers,
7923
                       0x20 show_end_and_bend_lines, 0x40: show_hatching ... */
7924
  BITCODE_H identifier_style;
7925
  BITCODE_CMC identifier_color;
7926
  BITCODE_BD identifier_height;
7927
  BITCODE_H arrow_start_symbol;
7928
  BITCODE_H arrow_end_symbol;
7929
  BITCODE_CMC arrow_symbol_color;
7930
  BITCODE_BD arrow_symbol_size;
7931
  BITCODE_T identifier_exclude_characters;
7932
  BITCODE_BLd identifier_position;
7933
  BITCODE_BD identifier_offset;
7934
  BITCODE_BLd arrow_position;
7935
  BITCODE_BD arrow_symbol_extension_length;
7936
  BITCODE_H plane_ltype;
7937
  BITCODE_BLd plane_linewt;
7938
  BITCODE_CMC plane_line_color;
7939
  BITCODE_H bend_ltype;
7940
  BITCODE_BLd bend_linewt;
7941
  BITCODE_CMC bend_line_color;
7942
  BITCODE_BD bend_line_length;
7943
  BITCODE_BD end_line_overshoot;
7944
  BITCODE_BD end_line_length;
7945
  BITCODE_H viewlabel_text_style;
7946
  BITCODE_CMC viewlabel_text_color;
7947
  BITCODE_BD viewlabel_text_height;
7948
  BITCODE_BL viewlabel_attachment;
7949
  BITCODE_BD viewlabel_offset;
7950
  BITCODE_BL viewlabel_alignment;
7951
  BITCODE_T viewlabel_pattern;
7952
  BITCODE_CMC hatch_color;
7953
  BITCODE_CMC hatch_bg_color;
7954
  BITCODE_T hatch_pattern;
7955
  BITCODE_BD hatch_scale;
7956
  BITCODE_BLd hatch_transparency;
7957
  // see flags:
7958
  //BITCODE_B is_continuous_labeling;
7959
  //BITCODE_B show_arrowheads;
7960
  //BITCODE_B show_viewlabel;
7961
  //BITCODE_B show_end_and_bend_lines;
7962
  //BITCODE_B show_hatching;
7963
  BITCODE_B unknown_b1;
7964
  BITCODE_B unknown_b2;
7965
  BITCODE_BL num_hatch_angles;
7966
  BITCODE_BD *hatch_angles;
7967
} Dwg_Object_SECTIONVIEWSTYLE;
7968
7969
typedef struct _dwg_object_SECTION_MANAGER
7970
{
7971
  struct _dwg_object_object *parent;
7972
  BITCODE_B is_live;    /*!< DXF 70 */
7973
  BITCODE_BS num_sections;  /*!< DXF 90 */
7974
  BITCODE_H *sections;    /*!< DXF 330 */
7975
} Dwg_Object_SECTION_MANAGER;
7976
7977
typedef struct _dwg_SECTION_geometrysettings
7978
{
7979
  struct _dwg_SECTION_typesettings *parent;
7980
  BITCODE_BL num_geoms;         /* DXF 90 */
7981
  BITCODE_BL hexindex;          /* DXF 91 */
7982
  BITCODE_BL flags;     /* DXF 92. 2: hatchvisible, 4: is_hiddenline, 8: has_division_lines */
7983
  BITCODE_CMC color;    /* DXF 62 */
7984
  BITCODE_T layer;    /* DXF 8 Default: 0 */
7985
  BITCODE_T ltype;    /* DXF 6 Default: Continuous */
7986
  BITCODE_BD ltype_scale; /* DXF 40 */
7987
  BITCODE_T plotstyle;          /* DXF 1 Default: ByColor */
7988
  BITCODE_BLd linewt;   /* DXF 370 */
7989
  BITCODE_BS face_transparency; /* DXF 70 */
7990
  BITCODE_BS edge_transparency; /* DXF 71 */
7991
  BITCODE_BS hatch_type;  /* DXF 72 */
7992
  BITCODE_T hatch_pattern;  /* DXF 2 */
7993
  BITCODE_BD hatch_angle; /* DXF 41 */
7994
  BITCODE_BD hatch_spacing; /* DXF 42 */
7995
  BITCODE_BD hatch_scale; /* DXF 43 */
7996
} Dwg_SECTION_geometrysettings;
7997
7998
typedef struct _dwg_SECTION_typesettings
7999
{
8000
  struct _dwg_object_SECTION_SETTINGS *parent;
8001
  BITCODE_BS type;        /*!< DXF 90: type: live=1, 2d=2, 3d=4 */
8002
  BITCODE_BS generation;    /*!< DXF 91: source and destination flags.
8003
                                     sourceall=1, sourceselected=2.
8004
                                     destnewblock=16, destreplaceblock=32, destfile=64
8005
                                 */
8006
  /* or geometry: intersectionboundary=1, intersectionfill=2, fg_geom=4, bg_geom=8
8007
                  curvetangencylines=16 */
8008
  BITCODE_BL num_sources;
8009
  BITCODE_H *sources;
8010
  BITCODE_H destblock;
8011
  BITCODE_T destfile;
8012
  BITCODE_BL num_geom;
8013
  Dwg_SECTION_geometrysettings *geom;
8014
} Dwg_SECTION_typesettings;
8015
8016
// Unstable
8017
typedef struct _dwg_object_SECTION_SETTINGS
8018
{
8019
  struct _dwg_object_object *parent;
8020
  BITCODE_BS curr_type;       /* DXF 90 */
8021
  BITCODE_BL num_types;       /* DXF 91 */
8022
  Dwg_SECTION_typesettings *types;
8023
} Dwg_Object_SECTION_SETTINGS;
8024
8025
typedef struct _dwg_object_LAYERFILTER
8026
{
8027
  struct _dwg_object_object *parent;
8028
  BITCODE_BL num_names;
8029
  BITCODE_T *names;
8030
} Dwg_Object_LAYERFILTER;
8031
8032
typedef struct _dwg_entity_ARCALIGNEDTEXT
8033
{
8034
  struct _dwg_object_entity *parent;
8035
  BITCODE_D2T text_size;  /*!< DXF 42 */
8036
  BITCODE_D2T xscale;   /*!< DXF 41 */
8037
  BITCODE_D2T char_spacing; /*!< DXF 43 */
8038
  BITCODE_T style;    /*!< DXF 7 */
8039
  BITCODE_T text_value;   /*!< DXF 1 */
8040
  BITCODE_T font_name;    /*!< DXF 2 */
8041
  BITCODE_T bigfont_name; /*!< DXF 3 */
8042
  BITCODE_D2T offset_from_arc;  /*!< DXF 44 */
8043
  BITCODE_D2T right_offset; /*!< DXF 45 */
8044
  BITCODE_D2T left_offset;  /*!< DXF 46 */
8045
  BITCODE_3BD center;   /*!< DXF 10 */
8046
  BITCODE_BD radius;    /*!< DXF 40 */
8047
  BITCODE_BD start_angle; /*!< DXF 50 */
8048
  BITCODE_BD end_angle;   /*!< DXF 51 */
8049
  BITCODE_3BD extrusion;        /*!< DXF 210 */
8050
  BITCODE_BL color;             /*!< DXF 90 */
8051
  BITCODE_BS is_reverse;  /*!< DXF 70 */
8052
  BITCODE_BS text_direction;  /*!< DXF 71, OutwardFromCenter=1, InwardToCenter=2 */
8053
  BITCODE_BS alignment;   /*!< DXF 72, 1-4 */
8054
  BITCODE_BS text_position; /*!< DXF 73, side_flag. OnConvexSide=1, OnConcaveSide=2 */
8055
  BITCODE_BS is_bold;   /*!< DXF 74 */
8056
  BITCODE_BS is_italic;   /*!< DXF 75 */
8057
  BITCODE_BS is_underlined; /*!< DXF 76 */
8058
  BITCODE_BS character_set;   /*!< DXF 77 */
8059
  BITCODE_BS pitch_and_family;  /*!< DXF 78 */
8060
  BITCODE_BS is_shx;    /*!< DXF 79, font_type. */
8061
  BITCODE_BS wizard_flag; /*!< DXF 280 */
8062
  BITCODE_H arc_handle;   /*!< DXF 330 */
8063
} Dwg_Entity_ARCALIGNEDTEXT;
8064
8065
// Remote Text with external src or Diesel expr
8066
typedef struct _dwg_entity_RTEXT
8067
{
8068
  struct _dwg_object_entity *parent;
8069
  BITCODE_3BD pt; /*!< DXF 10 */
8070
  BITCODE_BE extrusion; /*!< DXF 210 */
8071
  BITCODE_BD rotation;  /*!< DXF 50 */
8072
  BITCODE_BD height;  /*!< DXF 50 */
8073
  BITCODE_BS flags; /*!< DXF 70 */
8074
  BITCODE_T text_value; /*!< DXF 1 */
8075
  BITCODE_H style;  /*!< DXF 7 */
8076
} Dwg_Entity_RTEXT;
8077
8078
typedef struct _dwg_entity_LAYOUTPRINTCONFIG
8079
{
8080
  struct _dwg_object_entity *parent;
8081
  BITCODE_BS class_version; /* 2 */
8082
  // ...
8083
  BITCODE_BS flag; /*!< DXF 93 0 */
8084
} Dwg_Entity_LAYOUTPRINTCONFIG;
8085
8086
typedef struct _dwg_object_ACMECOMMANDHISTORY
8087
{
8088
  struct _dwg_object_object *parent;
8089
  BITCODE_BS class_version;
8090
  //?
8091
} Dwg_Object_ACMECOMMANDHISTORY;
8092
8093
typedef struct _dwg_object_ACMESCOPE
8094
{
8095
  struct _dwg_object_object *parent;
8096
  BITCODE_BS class_version;
8097
  //?
8098
} Dwg_Object_ACMESCOPE;
8099
8100
typedef struct _dwg_object_ACMESTATEMGR
8101
{
8102
  struct _dwg_object_object *parent;
8103
  BITCODE_BS class_version;
8104
  //?
8105
} Dwg_Object_ACMESTATEMGR;
8106
8107
typedef struct _dwg_object_CSACDOCUMENTOPTIONS
8108
{
8109
  struct _dwg_object_object *parent;
8110
  BITCODE_BS class_version;
8111
  //?
8112
} Dwg_Object_CSACDOCUMENTOPTIONS;
8113
8114
8115
// dynamic blocks:
8116
8117
#define BLOCKELEMENT_fields                     \
8118
  Dwg_EvalExpr evalexpr;                        \
8119
  BITCODE_T name;                               \
8120
  BITCODE_BL be_major;                          \
8121
  BITCODE_BL be_minor;                          \
8122
  BITCODE_BL eed1071
8123
8124
#define BLOCKPARAMETER_fields               \
8125
  BLOCKELEMENT_fields;                      \
8126
  BITCODE_B show_properties; /* DXF 280 */  \
8127
  BITCODE_B chain_actions    /* DXF 281 */
8128
8129
#define BLOCKACTION_fields                      \
8130
  BLOCKELEMENT_fields;                          \
8131
  BITCODE_3BD display_location;                 \
8132
  BITCODE_BL num_actions;                       \
8133
  BITCODE_BL *actions;                          \
8134
  BITCODE_BL num_deps;                          \
8135
  BITCODE_H *deps
8136
8137
// XY action params
8138
#define BLOCKACTION_doubles_fields              \
8139
  BITCODE_BD action_offset_x;                   \
8140
  BITCODE_BD action_offset_y;                   \
8141
  BITCODE_BD angle_offset
8142
8143
#define BLOCKGRIP_fields                        \
8144
  BLOCKELEMENT_fields;                          \
8145
  BITCODE_BL bg_bl91;                           \
8146
  BITCODE_BL bg_bl92;                           \
8147
  BITCODE_3BD bg_location;                      \
8148
  BITCODE_B bg_insert_cycling;                  \
8149
  BITCODE_BLd bg_insert_cycling_weight
8150
8151
// same as BLOCKACTION_connectionpts
8152
typedef struct _dwg_BLOCKPARAMETER_connection {
8153
  BITCODE_BL code;
8154
  BITCODE_T name;
8155
} Dwg_BLOCKPARAMETER_connection;
8156
8157
typedef  struct _dwg_BLOCKPARAMETER_PropInfo {
8158
  BITCODE_BL num_connections;
8159
  Dwg_BLOCKPARAMETER_connection *connections;
8160
} Dwg_BLOCKPARAMETER_PropInfo;
8161
8162
typedef  struct _dwg_BLOCKPARAMVALUESET {
8163
  BITCODE_T desc;
8164
  BITCODE_BL flags;
8165
  BITCODE_BD minimum;
8166
  BITCODE_BD maximum;
8167
  BITCODE_BD increment;
8168
  BITCODE_BS num_valuelist;
8169
  BITCODE_BD *valuelist;
8170
} Dwg_BLOCKPARAMVALUESET;
8171
8172
#define BLOCK1PTPARAMETER_fields                  \
8173
  BLOCKPARAMETER_fields;                          \
8174
  BITCODE_3BD def_pt;                             \
8175
  BITCODE_BL num_propinfos; /* 2 */               \
8176
  Dwg_BLOCKPARAMETER_PropInfo prop1;              \
8177
  Dwg_BLOCKPARAMETER_PropInfo prop2
8178
8179
#define BLOCK2PTPARAMETER_fields                  \
8180
  BLOCKPARAMETER_fields;                          \
8181
  BITCODE_3BD def_basept;                         \
8182
  BITCODE_3BD def_endpt;                          \
8183
  Dwg_BLOCKPARAMETER_PropInfo prop1;              \
8184
  Dwg_BLOCKPARAMETER_PropInfo prop2;              \
8185
  Dwg_BLOCKPARAMETER_PropInfo prop3;              \
8186
  Dwg_BLOCKPARAMETER_PropInfo prop4;              \
8187
  BITCODE_BL *prop_states;                        \
8188
  BITCODE_BS parameter_base_location;             \
8189
  BITCODE_3BD upd_basept;                         \
8190
  BITCODE_3BD basept;                             \
8191
  BITCODE_3BD upd_endpt;                          \
8192
  BITCODE_3BD endpt
8193
8194
typedef  struct _dwg_BLOCKACTION_connectionpts
8195
{
8196
  BITCODE_BL code;
8197
  BITCODE_T name;
8198
} Dwg_BLOCKACTION_connectionpts;
8199
8200
#define BLOCKACTION_WITHBASEPT_fields(n)        \
8201
  BLOCKACTION_fields;                           \
8202
  BITCODE_3BD offset;                           \
8203
  Dwg_BLOCKACTION_connectionpts conn_pts[n];    \
8204
  BITCODE_B dependent;                          \
8205
  BITCODE_3BD base_pt
8206
  /* BITCODE_3BD stretch_pt */
8207
8208
#define BLOCKPARAMVALUESET_fields               \
8209
  Dwg_BLOCKPARAMVALUESET value_set
8210
8211
#define BLOCKCONSTRAINTPARAMETER_fields         \
8212
  BLOCK2PTPARAMETER_fields;                     \
8213
  BITCODE_H dependency
8214
8215
#define BLOCKLINEARCONSTRAINTPARAMETER_fields    \
8216
  BLOCKCONSTRAINTPARAMETER_fields;               \
8217
  BITCODE_T expr_name;                           \
8218
  BITCODE_T expr_description;                    \
8219
  BITCODE_BD value;                              \
8220
  BLOCKPARAMVALUESET_fields
8221
8222
typedef struct _dwg_BLOCKVISIBILITYPARAMETER_state
8223
{
8224
  struct _dwg_object_BLOCKVISIBILITYPARAMETER *parent;
8225
  BITCODE_T name;            /* DXF 301 */
8226
  BITCODE_BL num_blocks;     /* DXF 94 */
8227
  BITCODE_H *blocks;         /* DXF 332 */
8228
  BITCODE_BL num_params;     /* DXF 95 */
8229
  BITCODE_H *params;         /* DXF 333 BLOCKVISIBILITYPARAMETER objects */
8230
} Dwg_BLOCKVISIBILITYPARAMETER_state;
8231
8232
typedef struct _dwg_object_BLOCKVISIBILITYPARAMETER
8233
{
8234
  struct _dwg_object_object *parent;
8235
  BLOCK1PTPARAMETER_fields;
8236
  BITCODE_B is_initialized; // DXF 281
8237
  BITCODE_B unknown_bool;   // DXF 91, history_compression, history_required or is_visible?
8238
  BITCODE_T blockvisi_name;     // DXF 301
8239
  BITCODE_T blockvisi_desc; // DXF 302
8240
  BITCODE_BL num_blocks;  // DXF 93
8241
  BITCODE_H *blocks;    // DXF 331
8242
  BITCODE_BL num_states;  // DXF 92
8243
  Dwg_BLOCKVISIBILITYPARAMETER_state *states;
8244
  //BITCODE_T cur_state_name;
8245
  //BITCODE_BL cur_state;
8246
} Dwg_Object_BLOCKVISIBILITYPARAMETER;
8247
8248
typedef struct _dwg_object_BLOCKVISIBILITYGRIP
8249
{
8250
  struct _dwg_object_object *parent;
8251
  BLOCKGRIP_fields;
8252
  // AcDbBlockVisibilityGrip
8253
} Dwg_Object_BLOCKVISIBILITYGRIP;
8254
8255
typedef struct _dwg_object_BLOCKGRIPLOCATIONCOMPONENT
8256
{
8257
  struct _dwg_object_object *parent;
8258
  Dwg_EvalExpr evalexpr;
8259
  // AcDbBlockGripExpr
8260
  BITCODE_BL grip_type;
8261
  BITCODE_T grip_expr;  // one of: X Y UpdatedX UpdatedY DisplacementX DisplacementY
8262
} Dwg_Object_BLOCKGRIPLOCATIONCOMPONENT;
8263
8264
typedef struct _dwg_object_BREAKDATA
8265
{
8266
  struct _dwg_object_object *parent;
8267
  BITCODE_BL num_pointrefs;
8268
  BITCODE_H *pointrefs;
8269
  BITCODE_H dimref;
8270
} Dwg_Object_BREAKDATA;
8271
8272
typedef struct _dwg_object_BREAKPOINTREF
8273
{
8274
  struct _dwg_object_object *parent;
8275
  // XrefFullSubendPath ??
8276
} Dwg_Object_BREAKPOINTREF;
8277
8278
typedef struct _dwg_entity_FLIPGRIPENTITY
8279
{
8280
  struct _dwg_object_entity *parent;
8281
  //BLOCKGRIP_fields;
8282
  // ??
8283
} Dwg_Entity_FLIPGRIPENTITY;
8284
8285
typedef struct _dwg_entity_LINEARGRIPENTITY
8286
{
8287
  struct _dwg_object_entity *parent;
8288
  //BLOCKGRIP_fields;
8289
  // ??
8290
} Dwg_Entity_LINEARGRIPENTITY;
8291
8292
typedef struct _dwg_entity_POLARGRIPENTITY
8293
{
8294
  struct _dwg_object_entity *parent;
8295
  //BLOCKGRIP_fields;
8296
  // ??
8297
} Dwg_Entity_POLARGRIPENTITY;
8298
8299
typedef struct _dwg_entity_ROTATIONGRIPENTITY
8300
{
8301
  struct _dwg_object_entity *parent;
8302
  //BLOCKGRIP_fields;
8303
  // ??
8304
} Dwg_Entity_ROTATIONGRIPENTITY;
8305
8306
typedef struct _dwg_entity_VISIBILITYGRIPENTITY
8307
{
8308
  struct _dwg_object_entity *parent;
8309
  //BLOCKGRIP_fields;
8310
  // ??
8311
} Dwg_Entity_VISIBILITYGRIPENTITY;
8312
8313
typedef struct _dwg_entity_XYGRIPENTITY
8314
{
8315
  struct _dwg_object_entity *parent;
8316
  //BLOCKGRIP_fields;
8317
  // ??
8318
} Dwg_Entity_XYGRIPENTITY;
8319
8320
typedef struct _dwg_entity_ALIGNMENTPARAMETERENTITY
8321
{
8322
  struct _dwg_object_entity *parent;
8323
  // ??
8324
} Dwg_Entity_ALIGNMENTPARAMETERENTITY;
8325
8326
typedef struct _dwg_entity_BASEPOINTPARAMETERENTITY
8327
{
8328
  struct _dwg_object_entity *parent;
8329
  // ??
8330
} Dwg_Entity_BASEPOINTPARAMETERENTITY;
8331
8332
typedef struct _dwg_entity_FLIPPARAMETERENTITY
8333
{
8334
  struct _dwg_object_entity *parent;
8335
  // ??
8336
} Dwg_Entity_FLIPPARAMETERENTITY;
8337
8338
typedef struct _dwg_entity_LINEARPARAMETERENTITY
8339
{
8340
  struct _dwg_object_entity *parent;
8341
  // ??
8342
} Dwg_Entity_LINEARPARAMETERENTITY;
8343
8344
typedef struct _dwg_entity_POINTPARAMETERENTITY
8345
{
8346
  struct _dwg_object_entity *parent;
8347
  // ??
8348
} Dwg_Entity_POINTPARAMETERENTITY;
8349
8350
typedef struct _dwg_entity_ROTATIONPARAMETERENTITY
8351
{
8352
  struct _dwg_object_entity *parent;
8353
  // ??
8354
} Dwg_Entity_ROTATIONPARAMETERENTITY;
8355
8356
typedef struct _dwg_entity_VISIBILITYPARAMETERENTITY
8357
{
8358
  struct _dwg_object_entity *parent;
8359
  // ??
8360
} Dwg_Entity_VISIBILITYPARAMETERENTITY;
8361
8362
typedef struct _dwg_entity_XYPARAMETERENTITY
8363
{
8364
  struct _dwg_object_entity *parent;
8365
  // ??
8366
} Dwg_Entity_XYPARAMETERENTITY;
8367
8368
typedef struct _dwg_object_BLOCKALIGNMENTGRIP
8369
{
8370
  struct _dwg_object_object *parent;
8371
  BLOCKGRIP_fields;
8372
  BITCODE_3BD orientation;
8373
} Dwg_Object_BLOCKALIGNMENTGRIP;
8374
8375
typedef struct _dwg_object_BLOCKALIGNMENTPARAMETER
8376
{
8377
  struct _dwg_object_object *parent;
8378
  BLOCK2PTPARAMETER_fields;
8379
  BITCODE_B align_perpendicular;  /* DXF 280 */
8380
} Dwg_Object_BLOCKALIGNMENTPARAMETER;
8381
8382
typedef struct _dwg_object_BLOCKANGULARCONSTRAINTPARAMETER
8383
{
8384
  struct _dwg_object_object *parent;
8385
  BLOCKCONSTRAINTPARAMETER_fields;
8386
  BITCODE_3BD center_pt;  /* DXF 1011 */
8387
  BITCODE_3BD end_pt;   /* DXF 1012 */
8388
  BITCODE_T expr_name;    /* DXF 305 */
8389
  BITCODE_T expr_description; /* DXF 306 */
8390
  BITCODE_BD angle;   /* DXF 140, offset is the result */
8391
  BITCODE_B orientation_on_both_grips;  /* DXF 280 */
8392
  BLOCKPARAMVALUESET_fields;
8393
} Dwg_Object_BLOCKANGULARCONSTRAINTPARAMETER;
8394
8395
typedef struct _dwg_object_BLOCKDIAMETRICCONSTRAINTPARAMETER
8396
{
8397
  struct _dwg_object_object *parent;
8398
  BLOCKCONSTRAINTPARAMETER_fields;
8399
  BITCODE_T expr_name;    /* DXF 305, a copy of the EvalExpr name */
8400
  BITCODE_T expr_description; /* DXF 306 */
8401
  BITCODE_BD distance;    /* DXF 140 */
8402
  BITCODE_B orientation_on_both_grips;  /* DXF 280 */
8403
  BLOCKPARAMVALUESET_fields;
8404
} Dwg_Object_BLOCKDIAMETRICCONSTRAINTPARAMETER;
8405
8406
typedef struct _dwg_object_BLOCKRADIALCONSTRAINTPARAMETER
8407
{
8408
  struct _dwg_object_object *parent;
8409
  BLOCKCONSTRAINTPARAMETER_fields;
8410
  BITCODE_T expr_name;    /* DXF 305, a copy of the EvalExpr name */
8411
  BITCODE_T expr_description; /* DXF 306 */
8412
  BITCODE_BD distance;    /* DXF 140 */
8413
  BLOCKPARAMVALUESET_fields;
8414
} Dwg_Object_BLOCKRADIALCONSTRAINTPARAMETER;
8415
8416
typedef struct _dwg_object_BLOCKARRAYACTION
8417
{
8418
  struct _dwg_object_object *parent;
8419
  BLOCKACTION_fields;
8420
  Dwg_BLOCKACTION_connectionpts conn_pts[4]; /*!< DXF 92-95, 301-304 */
8421
  BITCODE_BD column_offset; /*!< DXF 140 */
8422
  BITCODE_BD row_offset;    /*!< DXF 141 */
8423
} Dwg_Object_BLOCKARRAYACTION;
8424
8425
typedef struct _dwg_object_BLOCKBASEPOINTPARAMETER
8426
{
8427
  struct _dwg_object_object *parent;
8428
  BLOCK1PTPARAMETER_fields;
8429
  BITCODE_3BD pt; /* DXF 1011 */
8430
  BITCODE_3BD base_pt;  /* DXF 1012 */
8431
} Dwg_Object_BLOCKBASEPOINTPARAMETER;
8432
8433
typedef struct _dwg_object_BLOCKFLIPACTION
8434
{
8435
  struct _dwg_object_object *parent;
8436
  BLOCKACTION_fields;
8437
  Dwg_BLOCKACTION_connectionpts conn_pts[4]; /*!< DXF 92-95, 301-304 */
8438
  BLOCKACTION_doubles_fields;
8439
} Dwg_Object_BLOCKFLIPACTION;
8440
8441
typedef struct _dwg_object_BLOCKFLIPGRIP
8442
{
8443
  struct _dwg_object_object *parent;
8444
  BLOCKGRIP_fields;
8445
  BITCODE_BL combined_state;
8446
  BITCODE_3BD orientation;
8447
  BITCODE_BS upd_state;
8448
  BITCODE_BS state;
8449
} Dwg_Object_BLOCKFLIPGRIP;
8450
8451
typedef struct _dwg_object_BLOCKFLIPPARAMETER
8452
{
8453
  struct _dwg_object_object *parent;
8454
  BLOCK2PTPARAMETER_fields;
8455
  BITCODE_T flip_label;   /*!< DXF 305 */
8456
  BITCODE_T flip_label_desc;  /*!< DXF 306 */
8457
  BITCODE_T base_state_label; /*!< DXF 307 */
8458
  BITCODE_T flipped_state_label;/*!< DXF 308 */
8459
  BITCODE_3BD def_label_pt; /*!< DXF 1012 */
8460
  BITCODE_BL bl96;    /*!< DXF 96 */
8461
  BITCODE_T tooltip;    /*!< DXF 309 */
8462
} Dwg_Object_BLOCKFLIPPARAMETER;
8463
8464
typedef struct _dwg_object_BLOCKALIGNEDCONSTRAINTPARAMETER
8465
{
8466
  struct _dwg_object_object *parent;
8467
  BLOCKLINEARCONSTRAINTPARAMETER_fields;
8468
} Dwg_Object_BLOCKALIGNEDCONSTRAINTPARAMETER;
8469
8470
typedef struct _dwg_object_BLOCKLINEARCONSTRAINTPARAMETER
8471
{
8472
  struct _dwg_object_object *parent;
8473
  BLOCKLINEARCONSTRAINTPARAMETER_fields;
8474
} Dwg_Object_BLOCKLINEARCONSTRAINTPARAMETER;
8475
8476
typedef struct _dwg_object_BLOCKHORIZONTALCONSTRAINTPARAMETER
8477
{
8478
  struct _dwg_object_object *parent;
8479
  BLOCKLINEARCONSTRAINTPARAMETER_fields;
8480
} Dwg_Object_BLOCKHORIZONTALCONSTRAINTPARAMETER;
8481
8482
typedef struct _dwg_object_BLOCKVERTICALCONSTRAINTPARAMETER
8483
{
8484
  struct _dwg_object_object *parent;
8485
  BLOCKLINEARCONSTRAINTPARAMETER_fields;
8486
} Dwg_Object_BLOCKVERTICALCONSTRAINTPARAMETER;
8487
8488
typedef struct _dwg_object_BLOCKLINEARGRIP
8489
{
8490
  struct _dwg_object_object *parent;
8491
  BLOCKGRIP_fields;
8492
  BITCODE_3BD orientation; /* DXF 140,141,142 */
8493
} Dwg_Object_BLOCKLINEARGRIP;
8494
8495
typedef struct _dwg_object_BLOCKLINEARPARAMETER
8496
{
8497
  struct _dwg_object_object *parent;
8498
  BLOCK2PTPARAMETER_fields;
8499
  BITCODE_T distance_name;  /*!< DXF 305 */
8500
  BITCODE_T distance_desc;  /*!< DXF 306 */
8501
  BITCODE_BD distance;    /*!< DXF 306 */
8502
  BLOCKPARAMVALUESET_fields;
8503
} Dwg_Object_BLOCKLINEARPARAMETER;
8504
8505
typedef struct _dwg_BLOCKLOOKUPACTION_lut
8506
{
8507
  struct _dwg_object_BLOCKLOOKUPACTION *parent;
8508
  Dwg_BLOCKACTION_connectionpts conn_pts[3]; /*!< DXF 94-96, 303-305*/
8509
  BITCODE_B b282;
8510
  BITCODE_B b281;
8511
} Dwg_BLOCKLOOKUPACTION_lut;
8512
8513
typedef struct _dwg_object_BLOCKLOOKUPACTION
8514
{
8515
  struct _dwg_object_object *parent;
8516
  BLOCKACTION_fields;
8517
  BITCODE_BL numelems; /* computed */
8518
  BITCODE_BL numrows; /* DXF 92 */
8519
  BITCODE_BL numcols; /* DXF 93 */
8520
  Dwg_BLOCKLOOKUPACTION_lut *lut;
8521
  BITCODE_T *exprs;
8522
  BITCODE_B b280;
8523
} Dwg_Object_BLOCKLOOKUPACTION;
8524
8525
typedef struct _dwg_object_BLOCKLOOKUPGRIP
8526
{
8527
  struct _dwg_object_object *parent;
8528
  BLOCKGRIP_fields;
8529
} Dwg_Object_BLOCKLOOKUPGRIP;
8530
8531
typedef struct _dwg_object_BLOCKLOOKUPPARAMETER
8532
{
8533
  struct _dwg_object_object *parent;
8534
  BLOCK1PTPARAMETER_fields;
8535
  BITCODE_T lookup_name;  /*!< DXF 303 */
8536
  BITCODE_T lookup_desc;  /*!< DXF 304 */
8537
  BITCODE_BL index;   /*!< DXF 94 ?? */
8538
  BITCODE_T unknown_t;
8539
} Dwg_Object_BLOCKLOOKUPPARAMETER;
8540
8541
typedef struct _dwg_object_BLOCKMOVEACTION
8542
{
8543
  struct _dwg_object_object *parent;
8544
  BLOCKACTION_fields;
8545
  Dwg_BLOCKACTION_connectionpts conn_pts[2]; /*!< DXF 92-93, 301-302 */
8546
  BLOCKACTION_doubles_fields;
8547
} Dwg_Object_BLOCKMOVEACTION;
8548
8549
typedef struct _dwg_object_BLOCKPOINTPARAMETER
8550
{
8551
  struct _dwg_object_object *parent;
8552
  BLOCK1PTPARAMETER_fields;
8553
  BITCODE_T position_name;  /* DXF 303 */
8554
  BITCODE_T position_desc;  /* DXF 304 */
8555
  BITCODE_3BD def_label_pt; /* DXF 1011 */
8556
} Dwg_Object_BLOCKPOINTPARAMETER;
8557
8558
typedef struct _dwg_object_BLOCKPOLARGRIP
8559
{
8560
  struct _dwg_object_object *parent;
8561
  BLOCKGRIP_fields;
8562
} Dwg_Object_BLOCKPOLARGRIP;
8563
8564
typedef struct _dwg_object_BLOCKPOLARPARAMETER
8565
{
8566
  struct _dwg_object_object *parent;
8567
  BLOCK2PTPARAMETER_fields;
8568
  BITCODE_T  angle_name;  /*!< DXF 305 */
8569
  BITCODE_T  angle_desc;  /*!< DXF 306 */
8570
  BITCODE_T  distance_name; /*!< DXF 305 */
8571
  BITCODE_T  distance_desc; /*!< DXF 306 */
8572
  BITCODE_BD  offset;   /*!< DXF 140 */
8573
  Dwg_BLOCKPARAMVALUESET angle_value_set;
8574
  Dwg_BLOCKPARAMVALUESET distance_value_set;
8575
  //BITCODE_3BD base_angle_pt;
8576
} Dwg_Object_BLOCKPOLARPARAMETER;
8577
8578
typedef struct _dwg_object_BLOCKPOLARSTRETCHACTION
8579
{
8580
  struct _dwg_object_object *parent;
8581
  BLOCKACTION_fields;
8582
  Dwg_BLOCKACTION_connectionpts conn_pts[6]; /*!< DXF 92-97, 301-306 */
8583
  BITCODE_BL num_pts;   // 72
8584
  BITCODE_2RD *pts;     // 10
8585
  BITCODE_BL num_hdls;  // 72
8586
  BITCODE_H *hdls;      // 331
8587
  BITCODE_BS *shorts;   // 74
8588
  BITCODE_BL num_codes; // 75
8589
  BITCODE_BL *codes;    // 76
8590
  // ??
8591
} Dwg_Object_BLOCKPOLARSTRETCHACTION;
8592
8593
typedef struct _dwg_object_BLOCKPROPERTIESTABLE
8594
{
8595
  struct _dwg_object_object *parent;
8596
  // ??
8597
} Dwg_Object_BLOCKPROPERTIESTABLE;
8598
8599
typedef struct _dwg_object_BLOCKPROPERTIESTABLEGRIP
8600
{
8601
  struct _dwg_object_object *parent;
8602
  BLOCKGRIP_fields;
8603
} Dwg_Object_BLOCKPROPERTIESTABLEGRIP;
8604
8605
typedef struct _dwg_object_BLOCKREPRESENTATION
8606
{
8607
  struct _dwg_object_object *parent;
8608
  BITCODE_BS flag;
8609
  BITCODE_H block;
8610
} Dwg_Object_BLOCKREPRESENTATION;
8611
8612
typedef struct _dwg_object_BLOCKROTATEACTION
8613
{
8614
  struct _dwg_object_object *parent;
8615
  BLOCKACTION_WITHBASEPT_fields(3);
8616
} Dwg_Object_BLOCKROTATEACTION;
8617
8618
typedef struct _dwg_object_BLOCKROTATIONGRIP
8619
{
8620
  struct _dwg_object_object *parent;
8621
  BLOCKGRIP_fields;
8622
} Dwg_Object_BLOCKROTATIONGRIP;
8623
8624
typedef struct _dwg_object_BLOCKROTATIONPARAMETER
8625
{
8626
  struct _dwg_object_object *parent;
8627
  BLOCK2PTPARAMETER_fields;
8628
  BITCODE_3BD def_base_angle_pt;
8629
  BITCODE_T angle_name; /*!< DXF 305 */
8630
  BITCODE_T angle_desc; /*!< DXF 306 */
8631
  BITCODE_BD angle;   /*!< DXF 306 */
8632
  Dwg_BLOCKPARAMVALUESET angle_value_set;
8633
  //BITCODE_3BD base_angle_pt;
8634
} Dwg_Object_BLOCKROTATIONPARAMETER;
8635
8636
typedef struct _dwg_object_BLOCKSCALEACTION
8637
{
8638
  struct _dwg_object_object *parent;
8639
  BLOCKACTION_WITHBASEPT_fields(5);
8640
} Dwg_Object_BLOCKSCALEACTION;
8641
8642
typedef struct _dwg_BLOCKSTRETCHACTION_handles {
8643
  struct _dwg_object_BLOCKSTRETCHACTION *parent;
8644
  BITCODE_H hdl;            // 331
8645
  BITCODE_BS num_indexes;   // 74
8646
  BITCODE_BL *indexes;      // 94
8647
} Dwg_BLOCKSTRETCHACTION_handles;
8648
8649
typedef struct _dwg_BLOCKSTRETCHACTION_codes {
8650
  struct _dwg_object_BLOCKSTRETCHACTION *parent;
8651
  BITCODE_BL bl95;         // 95
8652
  BITCODE_BS num_indexes;  // 76
8653
  BITCODE_BL *indexes;     // 94
8654
} Dwg_BLOCKSTRETCHACTION_codes;
8655
8656
typedef struct _dwg_object_BLOCKSTRETCHACTION
8657
{
8658
  struct _dwg_object_object *parent;
8659
  BLOCKACTION_fields;
8660
  Dwg_BLOCKACTION_connectionpts conn_pts[2]; /*!< DXF 92-93, 301-302 */
8661
  BITCODE_BL num_pts;   // 72
8662
  BITCODE_2RD *pts;     // 10
8663
  BITCODE_BL num_hdls;  // 72
8664
  Dwg_BLOCKSTRETCHACTION_handles *hdls; /*!< DXF 331, 74, 94 */
8665
  BITCODE_BL num_codes; // 75
8666
  Dwg_BLOCKSTRETCHACTION_codes *codes;  /*!< DXF 95, 76, 94 */
8667
  BLOCKACTION_doubles_fields;
8668
} Dwg_Object_BLOCKSTRETCHACTION;
8669
8670
typedef struct _dwg_object_BLOCKUSERPARAMETER
8671
{
8672
  struct _dwg_object_object *parent;
8673
  BLOCK1PTPARAMETER_fields;
8674
  BITCODE_BS flag;    /*!< DXF 90 */
8675
  BITCODE_H assocvariable;  /*!< DXF 305 */
8676
  BITCODE_T expr;   /*!< DXF 301 */
8677
  Dwg_EvalVariant value;
8678
  BITCODE_BS type;    /*!< DXF 170 (already value.code)? */
8679
} Dwg_Object_BLOCKUSERPARAMETER;
8680
8681
typedef struct _dwg_object_BLOCKXYGRIP
8682
{
8683
  struct _dwg_object_object *parent;
8684
  BLOCKGRIP_fields;
8685
} Dwg_Object_BLOCKXYGRIP;
8686
8687
typedef struct _dwg_object_BLOCKXYPARAMETER
8688
{
8689
  struct _dwg_object_object *parent;
8690
  BLOCK2PTPARAMETER_fields;
8691
  BITCODE_T x_label;    // DXF 305
8692
  BITCODE_T x_label_desc; // DXF 306
8693
  BITCODE_T y_label;    // DXF 307
8694
  BITCODE_T y_label_desc; // DXF 308
8695
  BITCODE_BD x_value;   // DXF 141
8696
  BITCODE_BD y_value;   // DXF 142
8697
  Dwg_BLOCKPARAMVALUESET x_value_set;
8698
  Dwg_BLOCKPARAMVALUESET y_value_set;
8699
} Dwg_Object_BLOCKXYPARAMETER;
8700
8701
typedef struct _dwg_object_DYNAMICBLOCKPROXYNODE
8702
{
8703
  struct _dwg_object_object *parent;
8704
  Dwg_EvalExpr evalexpr;
8705
  // ??
8706
} Dwg_Object_DYNAMICBLOCKPROXYNODE;
8707
8708
typedef struct _dwg_POINTCLOUD_IntensityStyle
8709
{
8710
  struct _dwg_entity_POINTCLOUD *parent;
8711
  BITCODE_BD min_intensity;   /* DXF 40 */
8712
  BITCODE_BD max_intensity;   /* DXF 41 */
8713
  BITCODE_BD intensity_low_treshold;  /* DXF 42 */
8714
  BITCODE_BD intensity_high_treshold; /* DXF 43 */
8715
} Dwg_POINTCLOUD_IntensityStyle;
8716
8717
typedef struct _dwg_POINTCLOUD_Clippings
8718
{
8719
  struct _dwg_entity_POINTCLOUD *parent;
8720
  BITCODE_B is_inverted;
8721
  BITCODE_BS type;
8722
  BITCODE_BL num_vertices;
8723
  BITCODE_2RD *vertices;
8724
  BITCODE_BD z_min;
8725
  BITCODE_BD z_max;
8726
} Dwg_POINTCLOUD_Clippings;
8727
8728
typedef struct _dwg_POINTCLOUDEX_Croppings
8729
{
8730
  struct _dwg_entity_POINTCLOUDEX *parent;
8731
  BITCODE_BS type;
8732
  BITCODE_B is_inside;
8733
  BITCODE_B is_inverted;
8734
  BITCODE_3BD crop_plane;
8735
  BITCODE_3BD crop_x_dir;
8736
  BITCODE_3BD crop_y_dir;
8737
  BITCODE_BL num_pts;
8738
  BITCODE_3BD *pts;
8739
} Dwg_POINTCLOUDEX_Croppings;
8740
8741
typedef struct _dwg_entity_POINTCLOUD
8742
{
8743
  struct _dwg_object_entity *parent;
8744
  BITCODE_BS class_version;   // 1 or 2 r2013+, DXF 70
8745
  BITCODE_3BD origin;   /*!< DXF 10 */
8746
  BITCODE_T saved_filename;   /* DXF 1 */
8747
  BITCODE_BL num_source_files;  /* DXF 90 */
8748
  BITCODE_T *source_files;  /*!< DXF 2 */
8749
  BITCODE_3BD extents_min;  /*!< DXF 11 */
8750
  BITCODE_3BD extents_max;  /*!< DXF 12 */
8751
  BITCODE_RLL numpoints;  /*!< DXF 92 */
8752
  BITCODE_T  ucs_name;    /*!< DXF 3 */
8753
  BITCODE_3BD ucs_origin; /*!< DXF 13 */
8754
  BITCODE_3BD ucs_x_dir;  /*!< DXF 210 */
8755
  BITCODE_3BD ucs_y_dir;  /*!< DXF 211 */
8756
  BITCODE_3BD ucs_z_dir;  /*!< DXF 212 */
8757
  // r2013+:
8758
  BITCODE_H pointclouddef;  /*!< DXF 330 */
8759
  BITCODE_H reactor;    /*!< DXF 360 */
8760
  BITCODE_B show_intensity; /*!< DXF ? */
8761
  BITCODE_BS intensity_scheme;  /*!< DXF 71 */
8762
  Dwg_POINTCLOUD_IntensityStyle intensity_style;
8763
  BITCODE_B show_clipping;  /*!< DXF ? */
8764
  BITCODE_BL num_clippings; /*!< DXF ? */
8765
  Dwg_POINTCLOUD_Clippings *clippings;
8766
} Dwg_Entity_POINTCLOUD;
8767
8768
typedef struct _dwg_entity_POINTCLOUDEX
8769
{
8770
  struct _dwg_object_entity *parent;
8771
  BITCODE_BS class_version;   // 1, DXF 70
8772
  BITCODE_3BD extents_min;  /*!< DXF 10 */
8773
  BITCODE_3BD extents_max;  /*!< DXF 11 */
8774
  BITCODE_3BD ucs_origin; /*!< DXF 13 */
8775
  BITCODE_3BD ucs_x_dir;  /*!< DXF 210 */
8776
  BITCODE_3BD ucs_y_dir;  /*!< DXF 211 */
8777
  BITCODE_3BD ucs_z_dir;  /*!< DXF 212 */
8778
  BITCODE_B is_locked;    /*!< DXF 290 */
8779
  BITCODE_H pointclouddefex;  /*!< DXF 330 */
8780
  BITCODE_H reactor;    /*!< DXF 360 */
8781
  BITCODE_T name;     /* DXF 1 */
8782
  BITCODE_B show_intensity; /*!< DXF 291 */
8783
8784
  BITCODE_BS stylization_type;  /*!< DXF 71 */
8785
  BITCODE_T intensity_colorscheme;  /*!< ? DXF 1 */
8786
  BITCODE_T cur_colorscheme;  /*!< DXF 1 */
8787
  BITCODE_T classification_colorscheme; /*!< ? DXF 1 */
8788
  BITCODE_BD elevation_min; /* DXF 40 */
8789
  BITCODE_BD elevation_max; /* DXF 41 */
8790
  BITCODE_BL intensity_min; /* DXF 90 */
8791
  BITCODE_BL intensity_max; /* DXF 91 */
8792
  BITCODE_BS intensity_out_of_range_behavior; /* DXF 70 */
8793
  BITCODE_BS elevation_out_of_range_behavior; /* DXF 71 */
8794
  BITCODE_B elevation_apply_to_fixed_range; /* DXF 292 */
8795
  BITCODE_B intensity_as_gradient;  /* DXF 293 */
8796
  BITCODE_B elevation_as_gradient;  /* DXF 294 */
8797
  BITCODE_B show_cropping;  /*!< DXF 295 */
8798
  BITCODE_BL unknown_bl0; /*!< ? DXF 93 */
8799
  BITCODE_BL unknown_bl1; /*!< ? DXF 93 */
8800
  BITCODE_BL num_croppings; /*!< DXF 92 */
8801
  Dwg_POINTCLOUDEX_Croppings *croppings;
8802
} Dwg_Entity_POINTCLOUDEX;
8803
8804
typedef struct _dwg_object_POINTCLOUDDEF
8805
{
8806
  struct _dwg_object_object *parent;
8807
  BITCODE_BL class_version;   // 1 or 2 r2013+, DXF 90
8808
  BITCODE_T source_filename;  /* DXF 1 */
8809
  BITCODE_B is_loaded;    /* DXF 280 */
8810
  BITCODE_RLL numpoints;  /*!< DXF 91 (hi) + 92 (lo) / 160 */
8811
  BITCODE_3BD extents_min;  /*!< DXF 10 */
8812
  BITCODE_3BD extents_max;  /*!< DXF 11 */
8813
} Dwg_Object_POINTCLOUDDEF;
8814
8815
typedef struct _dwg_object_POINTCLOUDDEFEX
8816
{
8817
  struct _dwg_object_object *parent;
8818
  BITCODE_BL class_version;   // 1 or 2 r2013+, DXF 90
8819
  BITCODE_T source_filename;  /* DXF 1 */
8820
  BITCODE_B is_loaded;    /* DXF 280 */
8821
  BITCODE_RLL numpoints;  /*!< DXF 169 */
8822
  BITCODE_3BD extents_min;  /*!< DXF 10 */
8823
  BITCODE_3BD extents_max;  /*!< DXF 11 */
8824
} Dwg_Object_POINTCLOUDDEFEX;
8825
8826
typedef struct _dwg_object_POINTCLOUDDEF_REACTOR
8827
{
8828
  struct _dwg_object_object *parent;
8829
  BITCODE_BL class_version; // 1
8830
} Dwg_Object_POINTCLOUDDEF_REACTOR;
8831
8832
typedef struct _dwg_object_POINTCLOUDDEF_REACTOR_EX
8833
{
8834
  struct _dwg_object_object *parent;
8835
  BITCODE_BL class_version; // 1
8836
} Dwg_Object_POINTCLOUDDEF_REACTOR_EX;
8837
8838
typedef struct _dwg_ColorRamp
8839
{
8840
  struct _dwg_POINTCLOUDCOLORMAP_Ramp *parent;
8841
  // FIXME either
8842
  BITCODE_T colorscheme;  // DXF 1
8843
  /// or
8844
  BITCODE_BL unknown_bl;  // DXF 91
8845
  BITCODE_B unknown_b;    // DXF 290
8846
} Dwg_ColorRamp;
8847
8848
typedef struct _dwg_POINTCLOUDCOLORMAP_Ramp
8849
{
8850
  struct _dwg_object_POINTCLOUDCOLORMAP *parent;
8851
  BITCODE_BS class_version; // DXF 70: 1
8852
  BITCODE_BL num_ramps;   // DXF 90
8853
  Dwg_ColorRamp *ramps;
8854
} Dwg_POINTCLOUDCOLORMAP_Ramp;
8855
8856
typedef struct _dwg_object_POINTCLOUDCOLORMAP
8857
{
8858
  struct _dwg_object_object *parent;
8859
  BITCODE_BS class_version;
8860
  BITCODE_T def_intensity_colorscheme;  /*!< DXF 1 */
8861
  BITCODE_T def_elevation_colorscheme;  /*!< DXF 1 */
8862
  BITCODE_T def_classification_colorscheme; /*!< DXF 1 */
8863
  BITCODE_BL num_colorramps;
8864
  Dwg_POINTCLOUDCOLORMAP_Ramp *colorramps;
8865
  BITCODE_BL num_classification_colorramps;
8866
  Dwg_POINTCLOUDCOLORMAP_Ramp *classification_colorramps;
8867
} Dwg_Object_POINTCLOUDCOLORMAP;
8868
8869
// unhandled. some subclass
8870
typedef struct _dwg_COMPOUNDOBJECTID
8871
{
8872
  struct _dwg_object_object *parent;
8873
  BITCODE_B has_object;
8874
  BITCODE_T name;
8875
  BITCODE_H object;
8876
} Dwg_COMPOUNDOBJECTID;
8877
8878
// ODA Arx
8879
//typedef Dwg_Object_LAYERFILTER Dwg_Object_PARTIAL_VIEWING_FILTER;
8880
8881
typedef struct _dwg_PARTIAL_VIEWING_INDEX_Entry
8882
{
8883
  struct _dwg_object_PARTIAL_VIEWING_INDEX *parent;
8884
  BITCODE_3BD extents_min;
8885
  BITCODE_3BD extents_max;
8886
  BITCODE_H object;
8887
} Dwg_PARTIAL_VIEWING_INDEX_Entry;
8888
8889
typedef struct _dwg_object_PARTIAL_VIEWING_INDEX
8890
{
8891
  struct _dwg_object_object *parent;
8892
  BITCODE_BL num_entries;
8893
  BITCODE_B has_entries;
8894
  Dwg_PARTIAL_VIEWING_INDEX_Entry *entries;
8895
} Dwg_Object_PARTIAL_VIEWING_INDEX;
8896
8897
8898
/**
8899
 -----------------------------------
8900
 */
8901
8902
/**
8903
 Unknown Class entity, a blob
8904
 */
8905
typedef struct _dwg_entity_UNKNOWN_ENT
8906
{
8907
  struct _dwg_object_entity *parent;
8908
} Dwg_Entity_UNKNOWN_ENT;
8909
8910
/**
8911
 Unknown Class object, a blob
8912
 */
8913
typedef struct _dwg_object_UNKNOWN_OBJ
8914
{
8915
  struct _dwg_object_object *parent;
8916
} Dwg_Object_UNKNOWN_OBJ;
8917
8918
/**
8919
 REPEAT (none/5) entity
8920
 */
8921
typedef struct _dwg_entity_REPEAT
8922
{
8923
  struct _dwg_object_entity *parent;
8924
} Dwg_Entity_REPEAT;
8925
8926
/**
8927
 ENDREP (none/6) entity
8928
 */
8929
typedef struct _dwg_entity_ENDREP
8930
{
8931
  struct _dwg_object_entity *parent;
8932
8933
  BITCODE_RS numcols;      // DXF 70
8934
  BITCODE_RS numrows;      // DXF 71
8935
  BITCODE_RD colspacing;   // DXF 40
8936
  BITCODE_RD rowspacing;   // DXF 41
8937
} Dwg_Entity_ENDREP;
8938
8939
/**
8940
 LOAD (none/10) entity
8941
 */
8942
typedef struct _dwg_entity_LOAD
8943
{
8944
  struct _dwg_object_entity *parent;
8945
8946
  BITCODE_TV file_name;
8947
} Dwg_Entity_LOAD;
8948
8949
/**
8950
 JUMP (none/18) entity
8951
 */
8952
typedef struct _dwg_entity_JUMP
8953
{
8954
  struct _dwg_object_entity *parent;
8955
8956
  BITCODE_RL jump_address_raw;
8957
  BITCODE_RL jump_address;
8958
  Dwg_Entity_Sections jump_entity_section;
8959
} Dwg_Entity_JUMP;
8960
8961
/**
8962
 3DLINE (none/21) entity
8963
 */
8964
typedef struct _dwg_entity_3DLINE
8965
{
8966
  struct _dwg_object_entity *parent;
8967
8968
  BITCODE_3RD start;     // DXF 10|20|30
8969
  BITCODE_3RD end;       // DXF 11|21|31
8970
  BITCODE_3RD extrusion; // DXF 210
8971
  BITCODE_RD thickness;  // DXF 39
8972
} Dwg_Entity__3DLINE;
8973
8974
/* OBJECTS - END ************************************************************/
8975
8976
/**
8977
 Extended entity data: dxf group - value pairs, similar to xdata
8978
 */
8979
#pragma pack(1)
8980
typedef struct _dwg_entity_eed_data
8981
{
8982
  BITCODE_RC code;
8983
  union eed_data_t {
8984
    struct { /* 0 (1000) string */
8985
      BITCODE_RS length;          /* RC */
8986
      unsigned short codepage:15; /* RS_LE */
8987
      unsigned short is_tu:1;
8988
#ifndef SWIG
8989
      // TODO broken gcc-15 optimization
8990
      char string[] /*__counted_by(length)*/;      /* inlined */
8991
#else
8992
      char string[0]; // swig limitation https://github.com/swig/swig/issues/1699
8993
#endif
8994
    } eed_0;
8995
    struct { /* R2007+ 0 (1000) string */
8996
      BITCODE_RS length;
8997
      unsigned short _padding:15;
8998
      unsigned short is_tu:1;
8999
#ifndef SWIG
9000
      DWGCHAR string[] /*__counted_by(length)*/; /* inlined */
9001
#else
9002
      DWGCHAR string[0];
9003
#endif
9004
    } eed_0_r2007;
9005
    struct { /* 1 (1001) handle, not in data */
9006
      BITCODE_RS appid_index;
9007
#ifndef SWIG
9008
      char invalid[]; // set the eed[0].handle to the used APPID instead
9009
#else
9010
      char invalid[0];
9011
#endif
9012
    } eed_1;
9013
    struct { /* 2 (1002) "{" => 0 open, or "}" => 1 close */
9014
      BITCODE_RC close;
9015
    } eed_2;
9016
    struct { /* 3 (1003) layer (8-byte handle value) */
9017
      BITCODE_RLL layer;
9018
    } eed_3;
9019
    struct { /* 4 (1004) binary */
9020
      BITCODE_RC length;
9021
      unsigned char data[] __counted_by(length); // inlined
9022
    } eed_4;
9023
    struct { /* 5 (1005) entity */
9024
      BITCODE_RLL entity;
9025
    } eed_5;
9026
    struct { /* 10-13 point */
9027
      BITCODE_3RD point;
9028
    } eed_10;
9029
    struct { /* 40-42 real */
9030
      BITCODE_RD real;
9031
    } eed_40;
9032
    struct { /* 70 short int */
9033
      BITCODE_RS rs;
9034
    } eed_70;
9035
    struct { /* 71 long int */
9036
      BITCODE_RL rl;
9037
    } eed_71;
9038
  } u;
9039
} Dwg_Eed_Data;
9040
#pragma pack()
9041
9042
/**
9043
 Extended entity data
9044
 */
9045
typedef struct _dwg_entity_eed
9046
{
9047
  BITCODE_BS size;
9048
  Dwg_Handle handle;
9049
  Dwg_Eed_Data *data;
9050
  BITCODE_TF raw; /* a binary copy of the data */
9051
} Dwg_Eed;
9052
9053
enum {
9054
  EXTRA_R11_UNKNOWN_1 = 1,
9055
  EXTRA_R11_HAS_EED = 2,
9056
  EXTRA_R11_HAS_VIEWPORT = 4,
9057
  EXTRA_R11_UNKNOWN_8 = 8,
9058
  EXTRA_R11_UNKNOWN_16 = 16,
9059
  EXTRA_R11_UNKNOWN_32 = 32,
9060
  EXTRA_R11_UNKNOWN_64 = 64,
9061
  EXTRA_R11_UNKNOWN_128 = 128,
9062
};
9063
9064
enum {
9065
  FLAG_R11_HAS_COLOR = 1,
9066
  FLAG_R11_HAS_LTYPE = 2,
9067
  FLAG_R11_HAS_ELEVATION = 4,
9068
  FLAG_R11_HAS_THICKNESS = 8,
9069
  FLAG_R11_HAS_UNKNOWN_16 = 16,
9070
  FLAG_R11_HAS_HANDLING = 32,  // 0x20
9071
  FLAG_R11_HAS_PSPACE = 64,    // 0x40
9072
  FLAG_R11_HAS_ATTRIBS = 128,
9073
};
9074
9075
enum {
9076
  FLAG_R11_DIMENSION_LINEAR = 0, // ie rotated, horizontal or vertical
9077
  FLAG_R11_DIMENSION_ALIGNED = 1,
9078
  FLAG_R11_DIMENSION_ANG2LN = 2,
9079
  FLAG_R11_DIMENSION_DIAMETER = 3,
9080
  FLAG_R11_DIMENSION_RADIUS = 4,
9081
  FLAG_R11_DIMENSION_ANG3PT = 5,
9082
  FLAG_R11_DIMENSION_ORDINATE = 6,
9083
  FLAG_R11_DIMENSION_ORDINATE_TYPE = 64, // x-type if set, else y
9084
  FLAG_R11_DIMENSION_TEXT_POSITIONED = 128, // text not at default position
9085
};
9086
9087
enum {
9088
  // 1
9089
  // 2
9090
  // 4
9091
  // 8
9092
  OPTS_R11_XREF_DEP = 16,
9093
  OPTS_R11_XREF_REF = 32,
9094
  OPTS_R11_XREF_RESOLVED = 64,
9095
  OPTS_R11_XDATA = 128, //?
9096
};
9097
9098
enum {
9099
  OPTS_R11_3DFACE_HAS_Z_FIRST = 1,
9100
  OPTS_R11_3DFACE_HAS_Z_SECOND = 2,
9101
  OPTS_R11_3DFACE_HAS_Z_THIRD = 4,
9102
  OPTS_R11_3DFACE_HAS_Z_FOURTH = 8,
9103
};
9104
9105
enum {
9106
  OPTS_R11_3DLINE_HAS_Z_FIRST = 1,
9107
  OPTS_R11_3DLINE_HAS_Z_SECOND = 2,
9108
};
9109
9110
enum {
9111
  OPTS_R11_ARC_HAS_EXTRUSION = 1,
9112
};
9113
9114
enum {
9115
  OPTS_R11_ATTDEF_UNKNOWN_1 = 1,
9116
  OPTS_R11_ATTDEF_HAS_ROTATION = 2,
9117
  OPTS_R11_ATTDEF_HAS_WIDTH_FACTOR = 4,
9118
  OPTS_R11_ATTDEF_HAS_OBLIQUE_ANGLE = 8,
9119
  OPTS_R11_ATTDEF_HAS_STYLE = 16,
9120
  OPTS_R11_ATTDEF_HAS_GENERATION = 32,
9121
  OPTS_R11_ATTDEF_HAS_HORIZ_ALIGNMENT = 64,
9122
  OPTS_R11_ATTDEF_HAS_ALIGNMENT_POINT = 128,
9123
  OPTS_R11_ATTDEF_HAS_EXTRUSION = 0x100,
9124
  OPTS_R11_ATTDEF_HAS_VERT_ALIGNMENT = 0x200,
9125
};
9126
9127
enum {
9128
  OPTS_R11_ATTRIB_UNKNOWN_1 = 1,
9129
  OPTS_R11_ATTRIB_HAS_ROTATION = 2,
9130
  OPTS_R11_ATTRIB_HAS_WIDTH_FACTOR = 4,
9131
  OPTS_R11_ATTRIB_HAS_OBLIQUE_ANGLE = 8,
9132
  OPTS_R11_ATTRIB_HAS_STYLE = 16,
9133
  OPTS_R11_ATTRIB_HAS_GENERATION = 32,
9134
  OPTS_R11_ATTRIB_HAS_HORIZ_ALIGNMENT = 64,
9135
  OPTS_R11_ATTRIB_HAS_ALIGNMENT_POINT = 128,
9136
  OPTS_R11_ATTRIB_HAS_EXTRUSION = 0x100,
9137
  OPTS_R11_ATTRIB_HAS_VERT_ALIGNMENT = 0x200,
9138
};
9139
9140
enum {
9141
  OPTS_R11_BLOCK_UNKNOWN_1 = 1,
9142
  OPTS_R11_BLOCK_HAS_XREF_PNAME = 2,
9143
  OPTS_R11_BLOCK_HAS_BLOCK_NAME = 4,
9144
};
9145
9146
enum {
9147
  OPTS_R11_CIRCLE_HAS_EXTRUSION = 1,
9148
};
9149
9150
enum {
9151
  OPTS_R11_DIMENSION_HAS_DXF12 = 1,   // Baseline, continue: clone ins_pt
9152
  OPTS_R11_DIMENSION_HAS_FLAG = 2,
9153
  OPTS_R11_DIMENSION_HAS_TEXT = 4,
9154
  OPTS_R11_DIMENSION_HAS_DXF13 = 8,   // Ordinate: leader_start_pt
9155
  OPTS_R11_DIMENSION_HAS_DXF14 = 16,  // Ordinate: leader_end_pt
9156
  OPTS_R11_DIMENSION_HAS_DXF15 = 32,
9157
  OPTS_R11_DIMENSION_HAS_ANGLES = 64, // Angular: line arc
9158
  OPTS_R11_DIMENSION_HAS_DXF40 = 128, // leader_len
9159
  OPTS_R11_DIMENSION_HAS_ROTATION = 256,
9160
  OPTS_R11_DIMENSION_UNKNOWN_512 = 0x200,
9161
  OPTS_R11_DIMENSION_HAS_DXF53 = 0x400, // text rotation
9162
  OPTS_R11_DIMENSION_UNKNOWN_2048 = 0x800,
9163
  OPTS_R11_DIMENSION_UNKNOWN_4096 = 0x1000,
9164
  OPTS_R11_DIMENSION_UNKNOWN_8192 = 0x2000,
9165
  OPTS_R11_DIMENSION_HAS_EXTRUSION = 0x4000,
9166
  OPTS_R11_DIMENSION_HAS_DIMSTYLE = 0x8000
9167
};
9168
9169
enum {
9170
  OPTS_R11_INSERT_HAS_SCALE_X = 1,
9171
  OPTS_R11_INSERT_HAS_SCALE_Y = 2,
9172
  OPTS_R11_INSERT_HAS_ROTATION = 4,
9173
  OPTS_R11_INSERT_HAS_SCALE_Z = 8,
9174
  OPTS_R11_INSERT_HAS_NUM_COLS = 16,
9175
  OPTS_R11_INSERT_HAS_NUM_ROWS = 32,
9176
  OPTS_R11_INSERT_HAS_COL_SPACING = 64,
9177
  OPTS_R11_INSERT_HAS_ROW_SPACING = 128,
9178
  OPTS_R11_INSERT_HAS_EXTRUSION = 256,
9179
};
9180
9181
enum {
9182
  OPTS_R11_LINE_HAS_EXTRUSION = 1,
9183
};
9184
9185
enum {
9186
  OPTS_R11_POINT_HAS_EXTRUSION = 1,
9187
  OPTS_R11_POINT_HAS_X_ANG = 2,
9188
};
9189
9190
enum {
9191
  OPTS_R11_POLYLINE_HAS_FLAG = 1,
9192
  OPTS_R11_POLYLINE_HAS_START_WIDTH = 2,
9193
  OPTS_R11_POLYLINE_HAS_END_WIDTH = 4,
9194
  OPTS_R11_POLYLINE_HAS_EXTRUSION = 8,
9195
  OPTS_R11_POLYLINE_HAS_M_VERTS = 16,
9196
  OPTS_R11_POLYLINE_HAS_N_VERTS = 32,
9197
  OPTS_R11_POLYLINE_HAS_M_DENSITY = 64,
9198
  OPTS_R11_POLYLINE_HAS_N_DENSITY = 128,
9199
  OPTS_R11_POLYLINE_HAS_CURVETYPE = 256,
9200
  OPTS_R11_POLYLINE_IN_EXTRA = 0x8000,
9201
};
9202
9203
enum {
9204
  OPTS_R11_SHAPE_HAS_ROTATION = 1,
9205
  OPTS_R11_SHAPE_HAS_LOAD_NUM = 2,
9206
  OPTS_R11_SHAPE_HAS_WIDTH_FACTOR = 4,
9207
  OPTS_R11_SHAPE_HAS_OBLIQUE_ANGLE = 8,
9208
};
9209
9210
enum {
9211
  OPTS_R11_SOLID_HAS_EXTRUSION = 1,
9212
};
9213
9214
enum {
9215
  OPTS_R11_TEXT_HAS_ROTATION = 1,
9216
  OPTS_R11_TEXT_HAS_WIDTH_FACTOR = 2,
9217
  OPTS_R11_TEXT_HAS_OBLIQUE_ANGLE = 4,
9218
  OPTS_R11_TEXT_HAS_STYLE = 8,
9219
  OPTS_R11_TEXT_HAS_GENERATION = 16,
9220
  OPTS_R11_TEXT_HAS_HORIZ_ALIGNMENT = 32,
9221
  OPTS_R11_TEXT_HAS_ALIGNMENT_POINT = 64,
9222
  OPTS_R11_TEXT_HAS_EXTRUSION = 128,
9223
  OPTS_R11_TEXT_ALIGNED_VERT_TO = 256,
9224
};
9225
9226
enum {
9227
  OPTS_R11_VERTEX_HAS_START_WIDTH = 1,
9228
  OPTS_R11_VERTEX_HAS_END_WIDTH = 2,
9229
  OPTS_R11_VERTEX_HAS_BULGE = 4,
9230
  OPTS_R11_VERTEX_HAS_FLAG = 8,
9231
  OPTS_R11_VERTEX_HAS_TANGENT_DIR = 16,
9232
  OPTS_R11_VERTEX_HAS_INDEX1 = 0x20,
9233
  OPTS_R11_VERTEX_HAS_INDEX2 = 0x40,
9234
  OPTS_R11_VERTEX_HAS_INDEX3 = 0x80,
9235
  OPTS_R11_VERTEX_HAS_INDEX4 = 0x100,
9236
  OPTS_R11_VERTEX_UNKNOWN_512 = 0x200,
9237
  OPTS_R11_VERTEX_UNKNOWN_1024 = 0x400,
9238
  OPTS_R11_VERTEX_UNKNOWN_2048 = 0x800,
9239
  OPTS_R11_VERTEX_UNKNOWN_4096 = 0x1000,
9240
  OPTS_R11_VERTEX_UNKNOWN_8192 = 0x2000,
9241
  OPTS_R11_VERTEX_HAS_NOT_X_Y = 0x4000, // only seen with n-mesh
9242
};
9243
9244
enum {
9245
  FLAG_TABLE_IS_XREF_REF = 16, // is externally dependent
9246
  FLAG_TABLE_IS_XREF_RESOLVED = 32,
9247
  FLAG_TABLE_IS_XREF_DEP = 64, // is referenced (used)
9248
  FLAG_TABLE_IS_REMOVED = 128,
9249
};
9250
9251
enum {
9252
  FLAG_BLOCK_ANONYMOUS = 1,
9253
  FLAG_BLOCK_HAS_ATTRIBS = 2,
9254
  FLAG_BLOCK_IS_EXT_REF = 4,
9255
  FLAG_BLOCK_IS_XREF_OVERLAY = 8,
9256
};
9257
9258
enum {
9259
  FLAG_ATTDEF_INVISIBLE = 1,
9260
  FLAG_ATTDEF_CONSTANT = 2,
9261
  FLAG_ATTDEF_VERIFY = 4,
9262
  FLAG_ATTDEF_PRESET = 8, // no prompt during insert
9263
};
9264
9265
enum {
9266
  FLAG_ATTRIB_INVISIBLE = 1,
9267
  FLAG_ATTRIB_CONSTANT = 2,
9268
  FLAG_ATTRIB_VERIFY = 4,
9269
  FLAG_ATTRIB_PRESET = 8, // no prompt during insert
9270
};
9271
9272
enum {
9273
  FLAG_POLYLINE_CLOSED = 1, // or polygon mesh closed in the M direction
9274
  FLAG_POLYLINE_CURVE_FIT = 2,
9275
  FLAG_POLYLINE_SPLINE_FIT = 4,
9276
  FLAG_POLYLINE_3D = 8,
9277
  FLAG_POLYLINE_MESH = 16,
9278
  FLAG_POLYLINE_MESH_CLOSED = 32, // closed in the N direction
9279
  FLAG_POLYLINE_PFACE_MESH = 64,
9280
  FLAG_POLYLINE_LT_PATTERN_CONTINUES = 128,
9281
};
9282
9283
enum {
9284
  LTYPE_SHAPE_FLAG_ABS_ROTATION = 1,
9285
  LTYPE_SHAPE_FLAG_IS_TEXT = 2,
9286
  LTYPE_SHAPE_FLAG_IS_SHAPE = 4,
9287
};
9288
9289
enum {
9290
  FLAG_LAYER_FROZEN = 1,
9291
  FLAG_LAYER_FROZEN_IN_NEW = 2,
9292
  FLAG_LAYER_LOCKED = 4,
9293
  FLAG_LAYER_PLOTFLAG = 8,
9294
};
9295
9296
enum {
9297
  FLAG_STYLE_SHAPE = 1,
9298
  FLAG_STYLE_VERTICAL_TEXT = 4,
9299
};
9300
9301
enum {
9302
  FLAG_VIEW_PSPACE = 1,
9303
};
9304
9305
enum {
9306
  FLAG_VX_IS_ON = 1,
9307
};
9308
9309
enum {
9310
  FLAG_LWPOLYLINE_HAS_EXTRUSION = 1,
9311
  FLAG_LWPOLYLINE_HAS_THICKNESS = 2,
9312
  FLAG_LWPOLYLINE_HAS_CONSTWIDTH = 4,
9313
  FLAG_LWPOLYLINE_HAS_ELEVATION = 8,
9314
  FLAG_LWPOLYLINE_HAS_NUM_BULGES = 16,
9315
  FLAG_LWPOLYLINE_HAS_NUM_WIDTHS = 32,
9316
  FLAG_LWPOLYLINE_UNKNOWN_64 = 64,
9317
  FLAG_LWPOLYLINE_UNKNOWN_128 = 128,
9318
  FLAG_LWPOLYLINE_PLINEGEN = 256,
9319
  FLAG_LWPOLYLINE_CLOSED = 512,
9320
  FLAG_LWPOLYLINE_VERTEXIDCOUNT = 1024,
9321
};
9322
9323
enum {
9324
  FLAG_VERTEX_EXTRA_VERTEX = 1,
9325
  FLAG_VERTEX_CURVE_FIT = 2,
9326
  FLAG_VERTEX_UNUSED_4 = 4, // never set
9327
  FLAG_VERTEX_SPLINE_FIT = 8,
9328
  FLAG_VERTEX_SPLINE_FRAME_CONTROL_POINT = 16,
9329
  FLAG_VERTEX_3D = 32,
9330
  FLAG_VERTEX_MESH = 64,
9331
  FLAG_VERTEX_PFACE_MESH = 128,
9332
};
9333
9334
enum {
9335
  TEXT_GENERATION_BACKWARDS = 2,   // mirrored in X
9336
  TEXT_GENERATION_UPSIDE_DOWN = 4, // mirrored in Y
9337
};
9338
9339
enum {
9340
  HORIZ_ALIGNMENT_LEFT = 0,
9341
  HORIZ_ALIGNMENT_CENTER = 1,
9342
  HORIZ_ALIGNMENT_RIGHT = 2,
9343
  HORIZ_ALIGNMENT_ALIGNED = 3,
9344
  HORIZ_ALIGNMENT_MIDDLE = 4,
9345
  HORIZ_ALIGNMENT_FIT = 5,
9346
};
9347
9348
enum {
9349
  VERT_ALIGNMENT_BASELINE = 0,
9350
  VERT_ALIGNMENT_BOTTOM = 1,
9351
  VERT_ALIGNMENT_MIDDLE = 2,
9352
  VERT_ALIGNMENT_TOP = 3,
9353
};
9354
9355
enum {
9356
  MLINE_JUSTIFICATION_TOP = 0,
9357
  MLINE_JUSTIFICATION_MIDDLE = 1,
9358
  MLINE_JUSTIFICATION_BOTTOM = 2,
9359
};
9360
9361
9362
enum {
9363
  POLYLINE_CURVETYPE_DEFAULT = 0,
9364
  // 1 with a POLYLINE_3D (undocumented)
9365
  POLYLINE_CURVETYPE_QUADR_BSPLINE = 5,
9366
  POLYLINE_CURVETYPE_CUBIC_BSPLINE = 6,
9367
  POLYLINE_CURVETYPE_BEZIER_SURFACE = 8,
9368
};
9369
9370
enum {
9371
  LEADER_PATHTYPE_STRAIGHT = 0,
9372
  LEADER_PATHTYPE_SPLINE = 1,
9373
};
9374
enum {
9375
  LEADER_ANNOTTYPE_MTEXT = 0,
9376
  LEADER_ANNOTTYPE_TOLERANCE = 1,
9377
  LEADER_ANNOTTYPE_INSERT = 2,
9378
  LEADER_ANNOTTYPE_NO_ANNOT = 3, // default
9379
};
9380
9381
enum {
9382
  MLINE_FLAGS_HAS_VERTEX = 1,
9383
  MLINE_FLAGS_CLOSED = 2,
9384
  MLINE_FLAGS_SUPPRESS_START_CAPS = 4,
9385
  MLINE_FLAGS_SUPPRESS_END_CAPS = 8,
9386
};
9387
9388
enum {
9389
  MLINESTYLE_FLAG_FILL = 1,
9390
  MLINESTYLE_FLAG_MITERS = 2,
9391
  MLINESTYLE_FLAG_UNKNOWN_4 = 4,
9392
  MLINESTYLE_FLAG_UNKNOWN_8 = 8,
9393
  MLINESTYLE_FLAG_START_SQUARE_END = 16,
9394
  MLINESTYLE_FLAG_START_INNER_ARC = 32,
9395
  MLINESTYLE_FLAG_START_ROUND = 64,
9396
  MLINESTYLE_FLAG_UNKNOWN_128 = 128,
9397
  MLINESTYLE_FLAG_END_SQUARE = 256,
9398
  MLINESTYLE_FLAG_END_INNER_ARC = 512,
9399
  MLINESTYLE_FLAG_END_ROUND = 1024,
9400
};
9401
9402
enum {
9403
  LIGHT_TYPE_DISTANT = 1,
9404
  LIGHT_TYPE_POINT = 2,
9405
  LIGHT_TYPE_SPOT = 3,
9406
};
9407
enum {
9408
  LIGHT_ATTENUATION_TYPE_NONE = 0,
9409
  LIGHT_ATTENUATION_TYPE_INV_LINEAR = 1,
9410
  LIGHT_ATTENUATION_TYPE_INV_SQUARE = 2,
9411
};
9412
enum {
9413
  LIGHT_EXTLIGHT_SHAPE_LINEAR = 0,
9414
  LIGHT_EXTLIGHT_SHAPE_RECT = 1,
9415
  LIGHT_EXTLIGHT_SHAPE_DISK = 2,
9416
  LIGHT_EXTLIGHT_SHAPE_CYLINDER = 3,
9417
  LIGHT_EXTLIGHT_SHAPE_SPHERE = 4,
9418
};
9419
9420
enum {
9421
  _3DFACE_INVISIBLE_EDGE1 = 1,
9422
  _3DFACE_INVISIBLE_EDGE2 = 2,
9423
  _3DFACE_INVISIBLE_EDGE3 = 4,
9424
  _3DFACE_INVISIBLE_EDGE4 = 8,
9425
};
9426
9427
/**
9428
 Common entity attributes
9429
 */
9430
typedef struct _dwg_object_entity
9431
{
9432
  BITCODE_BL objid; /*!< link to the parent */
9433
  union
9434
  {
9435
    Dwg_Entity_UNUSED *UNUSED;
9436
    Dwg_DIMENSION_common *DIMENSION_common;
9437
    // clang-format off
9438
    /* Start auto-generated entity-union. Do not touch. */
9439
    // clang-format: off
9440
    Dwg_Entity__3DFACE *_3DFACE;
9441
    Dwg_Entity__3DSOLID *_3DSOLID;
9442
    Dwg_Entity_ARC *ARC;
9443
    Dwg_Entity_ATTDEF *ATTDEF;
9444
    Dwg_Entity_ATTRIB *ATTRIB;
9445
    Dwg_Entity_BLOCK *BLOCK;
9446
    Dwg_Entity_BODY *BODY;
9447
    Dwg_Entity_CIRCLE *CIRCLE;
9448
    Dwg_Entity_DIMENSION_ALIGNED *DIMENSION_ALIGNED;
9449
    Dwg_Entity_DIMENSION_ANG2LN *DIMENSION_ANG2LN;
9450
    Dwg_Entity_DIMENSION_ANG3PT *DIMENSION_ANG3PT;
9451
    Dwg_Entity_DIMENSION_DIAMETER *DIMENSION_DIAMETER;
9452
    Dwg_Entity_DIMENSION_LINEAR *DIMENSION_LINEAR;
9453
    Dwg_Entity_DIMENSION_ORDINATE *DIMENSION_ORDINATE;
9454
    Dwg_Entity_DIMENSION_RADIUS *DIMENSION_RADIUS;
9455
    Dwg_Entity_ELLIPSE *ELLIPSE;
9456
    Dwg_Entity_ENDBLK *ENDBLK;
9457
    Dwg_Entity_INSERT *INSERT;
9458
    Dwg_Entity_LEADER *LEADER;
9459
    Dwg_Entity_LINE *LINE;
9460
    Dwg_Entity_LOAD *LOAD;
9461
    Dwg_Entity_MINSERT *MINSERT;
9462
    Dwg_Entity_MLINE *MLINE;
9463
    Dwg_Entity_MTEXT *MTEXT;
9464
    Dwg_Entity_OLEFRAME *OLEFRAME;
9465
    Dwg_Entity_POINT *POINT;
9466
    Dwg_Entity_POLYLINE_2D *POLYLINE_2D;
9467
    Dwg_Entity_POLYLINE_3D *POLYLINE_3D;
9468
    Dwg_Entity_POLYLINE_MESH *POLYLINE_MESH;
9469
    Dwg_Entity_POLYLINE_PFACE *POLYLINE_PFACE;
9470
    Dwg_Entity_PROXY_ENTITY *PROXY_ENTITY;
9471
    Dwg_Entity_RAY *RAY;
9472
    Dwg_Entity_REGION *REGION;
9473
    Dwg_Entity_SEQEND *SEQEND;
9474
    Dwg_Entity_SHAPE *SHAPE;
9475
    Dwg_Entity_SOLID *SOLID;
9476
    Dwg_Entity_SPLINE *SPLINE;
9477
    Dwg_Entity_TEXT *TEXT;
9478
    Dwg_Entity_TOLERANCE *TOLERANCE;
9479
    Dwg_Entity_TRACE *TRACE;
9480
    Dwg_Entity_UNKNOWN_ENT *UNKNOWN_ENT;
9481
    Dwg_Entity_VERTEX_2D *VERTEX_2D;
9482
    Dwg_Entity_VERTEX_3D *VERTEX_3D;
9483
    Dwg_Entity_VERTEX_MESH *VERTEX_MESH;
9484
    Dwg_Entity_VERTEX_PFACE *VERTEX_PFACE;
9485
    Dwg_Entity_VERTEX_PFACE_FACE *VERTEX_PFACE_FACE;
9486
    Dwg_Entity_VIEWPORT *VIEWPORT;
9487
    Dwg_Entity_XLINE *XLINE;
9488
    /* untyped > 500 */
9489
    Dwg_Entity__3DLINE *_3DLINE;
9490
    Dwg_Entity_CAMERA *CAMERA;
9491
    Dwg_Entity_DGNUNDERLAY *DGNUNDERLAY;
9492
    Dwg_Entity_DWFUNDERLAY *DWFUNDERLAY;
9493
    Dwg_Entity_ENDREP *ENDREP;
9494
    Dwg_Entity_HATCH *HATCH;
9495
    Dwg_Entity_IMAGE *IMAGE;
9496
    Dwg_Entity_JUMP *JUMP;
9497
    Dwg_Entity_LIGHT *LIGHT;
9498
    Dwg_Entity_LWPOLYLINE *LWPOLYLINE;
9499
    Dwg_Entity_MESH *MESH;
9500
    Dwg_Entity_MULTILEADER *MULTILEADER;
9501
    Dwg_Entity_OLE2FRAME *OLE2FRAME;
9502
    Dwg_Entity_PDFUNDERLAY *PDFUNDERLAY;
9503
    Dwg_Entity_REPEAT *REPEAT;
9504
    Dwg_Entity_SECTIONOBJECT *SECTIONOBJECT;
9505
    Dwg_Entity_WIPEOUT *WIPEOUT;
9506
    /* unstable */
9507
    Dwg_Entity_ARC_DIMENSION *ARC_DIMENSION;
9508
    Dwg_Entity_HELIX *HELIX;
9509
    Dwg_Entity_LARGE_RADIAL_DIMENSION *LARGE_RADIAL_DIMENSION;
9510
    Dwg_Entity_LAYOUTPRINTCONFIG *LAYOUTPRINTCONFIG;
9511
    Dwg_Entity_PLANESURFACE *PLANESURFACE;
9512
    Dwg_Entity_POINTCLOUD *POINTCLOUD;
9513
    Dwg_Entity_POINTCLOUDEX *POINTCLOUDEX;
9514
    /* debugging */
9515
      Dwg_Entity_ALIGNMENTPARAMETERENTITY *ALIGNMENTPARAMETERENTITY;
9516
      Dwg_Entity_ARCALIGNEDTEXT *ARCALIGNEDTEXT;
9517
      Dwg_Entity_BASEPOINTPARAMETERENTITY *BASEPOINTPARAMETERENTITY;
9518
      Dwg_Entity_EXTRUDEDSURFACE *EXTRUDEDSURFACE;
9519
      Dwg_Entity_FLIPGRIPENTITY *FLIPGRIPENTITY;
9520
      Dwg_Entity_FLIPPARAMETERENTITY *FLIPPARAMETERENTITY;
9521
      Dwg_Entity_GEOPOSITIONMARKER *GEOPOSITIONMARKER;
9522
      Dwg_Entity_LINEARGRIPENTITY *LINEARGRIPENTITY;
9523
      Dwg_Entity_LINEARPARAMETERENTITY *LINEARPARAMETERENTITY;
9524
      Dwg_Entity_LOFTEDSURFACE *LOFTEDSURFACE;
9525
      Dwg_Entity_MPOLYGON *MPOLYGON;
9526
      Dwg_Entity_NAVISWORKSMODEL *NAVISWORKSMODEL;
9527
      Dwg_Entity_NURBSURFACE *NURBSURFACE;
9528
      Dwg_Entity_POINTPARAMETERENTITY *POINTPARAMETERENTITY;
9529
      Dwg_Entity_POLARGRIPENTITY *POLARGRIPENTITY;
9530
      Dwg_Entity_REVOLVEDSURFACE *REVOLVEDSURFACE;
9531
      Dwg_Entity_ROTATIONGRIPENTITY *ROTATIONGRIPENTITY;
9532
      Dwg_Entity_ROTATIONPARAMETERENTITY *ROTATIONPARAMETERENTITY;
9533
      Dwg_Entity_RTEXT *RTEXT;
9534
      Dwg_Entity_SWEPTSURFACE *SWEPTSURFACE;
9535
      Dwg_Entity_TABLE *TABLE;
9536
      Dwg_Entity_VISIBILITYGRIPENTITY *VISIBILITYGRIPENTITY;
9537
      Dwg_Entity_VISIBILITYPARAMETERENTITY *VISIBILITYPARAMETERENTITY;
9538
      Dwg_Entity_XYGRIPENTITY *XYGRIPENTITY;
9539
      Dwg_Entity_XYPARAMETERENTITY *XYPARAMETERENTITY;
9540
    // clang-format: on
9541
    /* End auto-generated entity-union */
9542
    // clang-format on
9543
  } tio;
9544
9545
  struct _dwg_struct *dwg;
9546
  BITCODE_BL num_eed;
9547
  Dwg_Eed *eed; /* see also Dwg_Resbuf* xdata */
9548
9549
  /* Common Entity Data */
9550
  BITCODE_B   preview_exists;
9551
  BITCODE_B   preview_is_proxy; /* calculated */
9552
  BITCODE_BLL preview_size;     /*!< DXF 160 for bitmaps, DXF 92 for PROXY vector data.
9553
                                  e.g. INSERT, MULTILEADER */
9554
  BITCODE_TF preview;           /*!< DXF 310 */
9555
  BITCODE_BB entmode;           /*!< has no owner handle:
9556
                                  0 has no ownerhandle, 1 is PSPACE, 2 is MSPACE
9557
                                  3 has ownerhandle. */
9558
  BITCODE_BL num_reactors;
9559
  BITCODE_B is_xdic_missing;    /*!< r2004+ */
9560
  BITCODE_B isbylayerlt;        /*!< r13-r14 */
9561
  BITCODE_B nolinks;            /*!< r13-r2000 */
9562
  BITCODE_B has_ds_data;        /*!< r2013+ AcDs datastore */
9563
  BITCODE_CMC color;
9564
  BITCODE_BD ltype_scale;
9565
  BITCODE_BB ltype_flags;       /*!< r2000+ */
9566
  BITCODE_BB plotstyle_flags;   /*!< r2000+ */
9567
  BITCODE_BB material_flags;    /*!< r2007+ */
9568
  BITCODE_RC shadow_flags;      /*!< r2007+: 0 both, 1 casts, 2, receives,
9569
                                  3 has handle. DXF 284 */
9570
  BITCODE_B has_full_visualstyle; /*!< r2010+ */
9571
  BITCODE_B has_face_visualstyle; /*!< r2010+ */
9572
  BITCODE_B has_edge_visualstyle; /*!< r2010+ */
9573
  BITCODE_BS invisible;
9574
  BITCODE_RC linewt;              /*!< r2000+, see dxf_cvt_lweight() */
9575
9576
  /* preR13 entity fields. TODO a union with above */
9577
  BITCODE_RC flag_r11;
9578
  BITCODE_RS opts_r11;
9579
  BITCODE_RS extra_r11;
9580
  BITCODE_RCd color_r11;
9581
  BITCODE_RD elevation_r11; // TODO: move to the entities
9582
  BITCODE_RD thickness_r11; // TODO: move to the entities
9583
  BITCODE_H viewport; // if in paperspace
9584
  /* preR13 in the obj: eed, elevation/pt.z, thickness, paper */
9585
9586
  /* Common Entity Handle Data */
9587
  BITCODE_BL __iterator;
9588
  BITCODE_H ownerhandle;   /*!< code 5, DXF 330 mspace, pspace or owner of subentity */
9589
  BITCODE_H* reactors;     /*!< r13+ code 4, DXF 102 {ACAD_XDICTIONARY, 330 */
9590
  BITCODE_H xdicobjhandle; /*!< r13+ code 3, DXF 102 {ACAD_REACTORS, 360 */
9591
  BITCODE_H prev_entity;  /*!< r13-r2000 code 4 */
9592
  BITCODE_H next_entity;  /*!< r13-r2000 code 4 */
9593
  BITCODE_H layer;        /*!< code 5, DXF 8 */
9594
  BITCODE_H ltype;        /*!< code 5, DXF 6 */
9595
  BITCODE_H material;     /*!< r2007+ code 5, DXF 347 */
9596
  BITCODE_H shadow;       /*!< r2007+ code 5 no DXF */
9597
  BITCODE_H plotstyle;    /*!< r2000+ code 5, DXF 390 */
9598
  BITCODE_H full_visualstyle; /*!< r2010+ code 5, DXF 348 */
9599
  BITCODE_H face_visualstyle;
9600
  BITCODE_H edge_visualstyle;
9601
} Dwg_Object_Entity;
9602
9603
/**
9604
 Ordinary object attributes
9605
 */
9606
typedef struct _dwg_object_object
9607
{
9608
  BITCODE_BL objid; /*!< link to the parent */
9609
  union
9610
  {
9611
    // clang-format off
9612
    /* Start auto-generated object-union. Do not touch. */
9613
    // clang-format: off
9614
    Dwg_Object_APPID *APPID;
9615
    Dwg_Object_APPID_CONTROL *APPID_CONTROL;
9616
    Dwg_Object_BLOCK_CONTROL *BLOCK_CONTROL;
9617
    Dwg_Object_BLOCK_HEADER *BLOCK_HEADER;
9618
    Dwg_Object_DICTIONARY *DICTIONARY;
9619
    Dwg_Object_DIMSTYLE *DIMSTYLE;
9620
    Dwg_Object_DIMSTYLE_CONTROL *DIMSTYLE_CONTROL;
9621
    Dwg_Object_DUMMY *DUMMY;
9622
    Dwg_Object_LAYER *LAYER;
9623
    Dwg_Object_LAYER_CONTROL *LAYER_CONTROL;
9624
    Dwg_Object_LONG_TRANSACTION *LONG_TRANSACTION;
9625
    Dwg_Object_LTYPE *LTYPE;
9626
    Dwg_Object_LTYPE_CONTROL *LTYPE_CONTROL;
9627
    Dwg_Object_MLINESTYLE *MLINESTYLE;
9628
    Dwg_Object_STYLE *STYLE;
9629
    Dwg_Object_STYLE_CONTROL *STYLE_CONTROL;
9630
    Dwg_Object_UCS *UCS;
9631
    Dwg_Object_UCS_CONTROL *UCS_CONTROL;
9632
    Dwg_Object_UNKNOWN_OBJ *UNKNOWN_OBJ;
9633
    Dwg_Object_VIEW *VIEW;
9634
    Dwg_Object_VIEW_CONTROL *VIEW_CONTROL;
9635
    Dwg_Object_VPORT *VPORT;
9636
    Dwg_Object_VPORT_CONTROL *VPORT_CONTROL;
9637
    Dwg_Object_VX_CONTROL *VX_CONTROL;
9638
    Dwg_Object_VX_TABLE_RECORD *VX_TABLE_RECORD;
9639
    /* untyped > 500 */
9640
    Dwg_Object_ACSH_BOOLEAN_CLASS *ACSH_BOOLEAN_CLASS;
9641
    Dwg_Object_ACSH_BOX_CLASS *ACSH_BOX_CLASS;
9642
    Dwg_Object_ACSH_CONE_CLASS *ACSH_CONE_CLASS;
9643
    Dwg_Object_ACSH_CYLINDER_CLASS *ACSH_CYLINDER_CLASS;
9644
    Dwg_Object_ACSH_FILLET_CLASS *ACSH_FILLET_CLASS;
9645
    Dwg_Object_ACSH_HISTORY_CLASS *ACSH_HISTORY_CLASS;
9646
    Dwg_Object_ACSH_SPHERE_CLASS *ACSH_SPHERE_CLASS;
9647
    Dwg_Object_ACSH_TORUS_CLASS *ACSH_TORUS_CLASS;
9648
    Dwg_Object_ACSH_WEDGE_CLASS *ACSH_WEDGE_CLASS;
9649
    Dwg_Object_ASSOCGEOMDEPENDENCY *ASSOCGEOMDEPENDENCY;
9650
    Dwg_Object_ASSOCNETWORK *ASSOCNETWORK;
9651
    Dwg_Object_BLOCKALIGNMENTGRIP *BLOCKALIGNMENTGRIP;
9652
    Dwg_Object_BLOCKALIGNMENTPARAMETER *BLOCKALIGNMENTPARAMETER;
9653
    Dwg_Object_BLOCKBASEPOINTPARAMETER *BLOCKBASEPOINTPARAMETER;
9654
    Dwg_Object_BLOCKFLIPACTION *BLOCKFLIPACTION;
9655
    Dwg_Object_BLOCKFLIPGRIP *BLOCKFLIPGRIP;
9656
    Dwg_Object_BLOCKFLIPPARAMETER *BLOCKFLIPPARAMETER;
9657
    Dwg_Object_BLOCKGRIPLOCATIONCOMPONENT *BLOCKGRIPLOCATIONCOMPONENT;
9658
    Dwg_Object_BLOCKLINEARGRIP *BLOCKLINEARGRIP;
9659
    Dwg_Object_BLOCKLOOKUPGRIP *BLOCKLOOKUPGRIP;
9660
    Dwg_Object_BLOCKMOVEACTION *BLOCKMOVEACTION;
9661
    Dwg_Object_BLOCKROTATEACTION *BLOCKROTATEACTION;
9662
    Dwg_Object_BLOCKROTATIONGRIP *BLOCKROTATIONGRIP;
9663
    Dwg_Object_BLOCKSCALEACTION *BLOCKSCALEACTION;
9664
    Dwg_Object_BLOCKVISIBILITYGRIP *BLOCKVISIBILITYGRIP;
9665
    Dwg_Object_CELLSTYLEMAP *CELLSTYLEMAP;
9666
    Dwg_Object_DETAILVIEWSTYLE *DETAILVIEWSTYLE;
9667
    Dwg_Object_DICTIONARYVAR *DICTIONARYVAR;
9668
    Dwg_Object_DICTIONARYWDFLT *DICTIONARYWDFLT;
9669
    Dwg_Object_DYNAMICBLOCKPURGEPREVENTER *DYNAMICBLOCKPURGEPREVENTER;
9670
    Dwg_Object_FIELD *FIELD;
9671
    Dwg_Object_FIELDLIST *FIELDLIST;
9672
    Dwg_Object_GEODATA *GEODATA;
9673
    Dwg_Object_GROUP *GROUP;
9674
    Dwg_Object_IDBUFFER *IDBUFFER;
9675
    Dwg_Object_IMAGEDEF *IMAGEDEF;
9676
    Dwg_Object_IMAGEDEF_REACTOR *IMAGEDEF_REACTOR;
9677
    Dwg_Object_INDEX *INDEX;
9678
    Dwg_Object_LAYERFILTER *LAYERFILTER;
9679
    Dwg_Object_LAYER_INDEX *LAYER_INDEX;
9680
    Dwg_Object_LAYOUT *LAYOUT;
9681
    Dwg_Object_PLACEHOLDER *PLACEHOLDER;
9682
    Dwg_Object_PLOTSETTINGS *PLOTSETTINGS;
9683
    Dwg_Object_RASTERVARIABLES *RASTERVARIABLES;
9684
    Dwg_Object_RENDERENVIRONMENT *RENDERENVIRONMENT;
9685
    Dwg_Object_SCALE *SCALE;
9686
    Dwg_Object_SECTIONVIEWSTYLE *SECTIONVIEWSTYLE;
9687
    Dwg_Object_SECTION_MANAGER *SECTION_MANAGER;
9688
    Dwg_Object_SORTENTSTABLE *SORTENTSTABLE;
9689
    Dwg_Object_SPATIAL_FILTER *SPATIAL_FILTER;
9690
    Dwg_Object_SUN *SUN;
9691
    Dwg_Object_TABLEGEOMETRY *TABLEGEOMETRY;
9692
    Dwg_Object_VBA_PROJECT *VBA_PROJECT;
9693
    Dwg_Object_VISUALSTYLE *VISUALSTYLE;
9694
    Dwg_Object_WIPEOUTVARIABLES *WIPEOUTVARIABLES;
9695
    Dwg_Object_XRECORD *XRECORD;
9696
    Dwg_Object_PDFDEFINITION *PDFDEFINITION;
9697
    Dwg_Object_DGNDEFINITION *DGNDEFINITION;
9698
    Dwg_Object_DWFDEFINITION *DWFDEFINITION;
9699
    /* unstable */
9700
    Dwg_Object_ACSH_BREP_CLASS *ACSH_BREP_CLASS;
9701
    Dwg_Object_ACSH_CHAMFER_CLASS *ACSH_CHAMFER_CLASS;
9702
    Dwg_Object_ACSH_PYRAMID_CLASS *ACSH_PYRAMID_CLASS;
9703
    Dwg_Object_ALDIMOBJECTCONTEXTDATA *ALDIMOBJECTCONTEXTDATA;
9704
    Dwg_Object_ASSOC2DCONSTRAINTGROUP *ASSOC2DCONSTRAINTGROUP;
9705
    Dwg_Object_ASSOCACTION *ASSOCACTION;
9706
    Dwg_Object_ASSOCACTIONPARAM *ASSOCACTIONPARAM;
9707
    Dwg_Object_ASSOCARRAYACTIONBODY *ASSOCARRAYACTIONBODY;
9708
    Dwg_Object_ASSOCASMBODYACTIONPARAM *ASSOCASMBODYACTIONPARAM;
9709
    Dwg_Object_ASSOCBLENDSURFACEACTIONBODY *ASSOCBLENDSURFACEACTIONBODY;
9710
    Dwg_Object_ASSOCCOMPOUNDACTIONPARAM *ASSOCCOMPOUNDACTIONPARAM;
9711
    Dwg_Object_ASSOCDEPENDENCY *ASSOCDEPENDENCY;
9712
    Dwg_Object_ASSOCDIMDEPENDENCYBODY *ASSOCDIMDEPENDENCYBODY;
9713
    Dwg_Object_ASSOCEXTENDSURFACEACTIONBODY *ASSOCEXTENDSURFACEACTIONBODY;
9714
    Dwg_Object_ASSOCEXTRUDEDSURFACEACTIONBODY *ASSOCEXTRUDEDSURFACEACTIONBODY;
9715
    Dwg_Object_ASSOCFACEACTIONPARAM *ASSOCFACEACTIONPARAM;
9716
    Dwg_Object_ASSOCFILLETSURFACEACTIONBODY *ASSOCFILLETSURFACEACTIONBODY;
9717
    Dwg_Object_ASSOCLOFTEDSURFACEACTIONBODY *ASSOCLOFTEDSURFACEACTIONBODY;
9718
    Dwg_Object_ASSOCNETWORKSURFACEACTIONBODY *ASSOCNETWORKSURFACEACTIONBODY;
9719
    Dwg_Object_ASSOCOBJECTACTIONPARAM *ASSOCOBJECTACTIONPARAM;
9720
    Dwg_Object_ASSOCOFFSETSURFACEACTIONBODY *ASSOCOFFSETSURFACEACTIONBODY;
9721
    Dwg_Object_ASSOCOSNAPPOINTREFACTIONPARAM *ASSOCOSNAPPOINTREFACTIONPARAM;
9722
    Dwg_Object_ASSOCPATCHSURFACEACTIONBODY *ASSOCPATCHSURFACEACTIONBODY;
9723
    Dwg_Object_ASSOCPATHACTIONPARAM *ASSOCPATHACTIONPARAM;
9724
    Dwg_Object_ASSOCPLANESURFACEACTIONBODY *ASSOCPLANESURFACEACTIONBODY;
9725
    Dwg_Object_ASSOCPOINTREFACTIONPARAM *ASSOCPOINTREFACTIONPARAM;
9726
    Dwg_Object_ASSOCREVOLVEDSURFACEACTIONBODY *ASSOCREVOLVEDSURFACEACTIONBODY;
9727
    Dwg_Object_ASSOCTRIMSURFACEACTIONBODY *ASSOCTRIMSURFACEACTIONBODY;
9728
    Dwg_Object_ASSOCVALUEDEPENDENCY *ASSOCVALUEDEPENDENCY;
9729
    Dwg_Object_ASSOCVARIABLE *ASSOCVARIABLE;
9730
    Dwg_Object_ASSOCVERTEXACTIONPARAM *ASSOCVERTEXACTIONPARAM;
9731
    Dwg_Object_BLKREFOBJECTCONTEXTDATA *BLKREFOBJECTCONTEXTDATA;
9732
    Dwg_Object_BLOCKALIGNEDCONSTRAINTPARAMETER *BLOCKALIGNEDCONSTRAINTPARAMETER;
9733
    Dwg_Object_BLOCKANGULARCONSTRAINTPARAMETER *BLOCKANGULARCONSTRAINTPARAMETER;
9734
    Dwg_Object_BLOCKARRAYACTION *BLOCKARRAYACTION;
9735
    Dwg_Object_BLOCKDIAMETRICCONSTRAINTPARAMETER *BLOCKDIAMETRICCONSTRAINTPARAMETER;
9736
    Dwg_Object_BLOCKHORIZONTALCONSTRAINTPARAMETER *BLOCKHORIZONTALCONSTRAINTPARAMETER;
9737
    Dwg_Object_BLOCKLINEARCONSTRAINTPARAMETER *BLOCKLINEARCONSTRAINTPARAMETER;
9738
    Dwg_Object_BLOCKLINEARPARAMETER *BLOCKLINEARPARAMETER;
9739
    Dwg_Object_BLOCKLOOKUPACTION *BLOCKLOOKUPACTION;
9740
    Dwg_Object_BLOCKLOOKUPPARAMETER *BLOCKLOOKUPPARAMETER;
9741
    Dwg_Object_BLOCKPARAMDEPENDENCYBODY *BLOCKPARAMDEPENDENCYBODY;
9742
    Dwg_Object_BLOCKPOINTPARAMETER *BLOCKPOINTPARAMETER;
9743
    Dwg_Object_BLOCKPOLARGRIP *BLOCKPOLARGRIP;
9744
    Dwg_Object_BLOCKPOLARPARAMETER *BLOCKPOLARPARAMETER;
9745
    Dwg_Object_BLOCKPOLARSTRETCHACTION *BLOCKPOLARSTRETCHACTION;
9746
    Dwg_Object_BLOCKRADIALCONSTRAINTPARAMETER *BLOCKRADIALCONSTRAINTPARAMETER;
9747
    Dwg_Object_BLOCKREPRESENTATION *BLOCKREPRESENTATION;
9748
    Dwg_Object_BLOCKROTATIONPARAMETER *BLOCKROTATIONPARAMETER;
9749
    Dwg_Object_BLOCKSTRETCHACTION *BLOCKSTRETCHACTION;
9750
    Dwg_Object_BLOCKUSERPARAMETER *BLOCKUSERPARAMETER;
9751
    Dwg_Object_BLOCKVERTICALCONSTRAINTPARAMETER *BLOCKVERTICALCONSTRAINTPARAMETER;
9752
    Dwg_Object_BLOCKVISIBILITYPARAMETER *BLOCKVISIBILITYPARAMETER;
9753
    Dwg_Object_BLOCKXYGRIP *BLOCKXYGRIP;
9754
    Dwg_Object_BLOCKXYPARAMETER *BLOCKXYPARAMETER;
9755
    Dwg_Object_DATALINK *DATALINK;
9756
    Dwg_Object_DBCOLOR *DBCOLOR;
9757
    Dwg_Object_EVALUATION_GRAPH *EVALUATION_GRAPH;
9758
    Dwg_Object_FCFOBJECTCONTEXTDATA *FCFOBJECTCONTEXTDATA;
9759
    Dwg_Object_GRADIENT_BACKGROUND *GRADIENT_BACKGROUND;
9760
    Dwg_Object_GROUND_PLANE_BACKGROUND *GROUND_PLANE_BACKGROUND;
9761
    Dwg_Object_IBL_BACKGROUND *IBL_BACKGROUND;
9762
    Dwg_Object_IMAGE_BACKGROUND *IMAGE_BACKGROUND;
9763
    Dwg_Object_LEADEROBJECTCONTEXTDATA *LEADEROBJECTCONTEXTDATA;
9764
    Dwg_Object_LIGHTLIST *LIGHTLIST;
9765
    Dwg_Object_MATERIAL *MATERIAL;
9766
    Dwg_Object_MENTALRAYRENDERSETTINGS *MENTALRAYRENDERSETTINGS;
9767
    Dwg_Object_MLEADERSTYLE *MLEADERSTYLE;
9768
    Dwg_Object_MTEXTOBJECTCONTEXTDATA *MTEXTOBJECTCONTEXTDATA;
9769
    Dwg_Object_OBJECT_PTR *OBJECT_PTR;
9770
    Dwg_Object_PARTIAL_VIEWING_INDEX *PARTIAL_VIEWING_INDEX;
9771
    Dwg_Object_POINTCLOUDCOLORMAP *POINTCLOUDCOLORMAP;
9772
    Dwg_Object_POINTCLOUDDEF *POINTCLOUDDEF;
9773
    Dwg_Object_POINTCLOUDDEFEX *POINTCLOUDDEFEX;
9774
    Dwg_Object_POINTCLOUDDEF_REACTOR *POINTCLOUDDEF_REACTOR;
9775
    Dwg_Object_POINTCLOUDDEF_REACTOR_EX *POINTCLOUDDEF_REACTOR_EX;
9776
    Dwg_Object_PROXY_OBJECT *PROXY_OBJECT;
9777
    Dwg_Object_RAPIDRTRENDERSETTINGS *RAPIDRTRENDERSETTINGS;
9778
    Dwg_Object_RENDERENTRY *RENDERENTRY;
9779
    Dwg_Object_RENDERGLOBAL *RENDERGLOBAL;
9780
    Dwg_Object_RENDERSETTINGS *RENDERSETTINGS;
9781
    Dwg_Object_SECTION_SETTINGS *SECTION_SETTINGS;
9782
    Dwg_Object_SKYLIGHT_BACKGROUND *SKYLIGHT_BACKGROUND;
9783
    Dwg_Object_SOLID_BACKGROUND *SOLID_BACKGROUND;
9784
    Dwg_Object_SPATIAL_INDEX *SPATIAL_INDEX;
9785
    Dwg_Object_TABLESTYLE *TABLESTYLE;
9786
    Dwg_Object_TEXTOBJECTCONTEXTDATA *TEXTOBJECTCONTEXTDATA;
9787
    Dwg_Object_ASSOCARRAYMODIFYPARAMETERS *ASSOCARRAYMODIFYPARAMETERS;
9788
    Dwg_Object_ASSOCARRAYPATHPARAMETERS *ASSOCARRAYPATHPARAMETERS;
9789
    Dwg_Object_ASSOCARRAYPOLARPARAMETERS *ASSOCARRAYPOLARPARAMETERS;
9790
    Dwg_Object_ASSOCARRAYRECTANGULARPARAMETERS *ASSOCARRAYRECTANGULARPARAMETERS;
9791
    /* debugging */
9792
    Dwg_Object_ACMECOMMANDHISTORY *ACMECOMMANDHISTORY;
9793
    Dwg_Object_ACMESCOPE *ACMESCOPE;
9794
    Dwg_Object_ACMESTATEMGR *ACMESTATEMGR;
9795
    Dwg_Object_ACSH_EXTRUSION_CLASS *ACSH_EXTRUSION_CLASS;
9796
    Dwg_Object_ACSH_LOFT_CLASS *ACSH_LOFT_CLASS;
9797
    Dwg_Object_ACSH_REVOLVE_CLASS *ACSH_REVOLVE_CLASS;
9798
    Dwg_Object_ACSH_SWEEP_CLASS *ACSH_SWEEP_CLASS;
9799
    Dwg_Object_ANGDIMOBJECTCONTEXTDATA *ANGDIMOBJECTCONTEXTDATA;
9800
    Dwg_Object_ANNOTSCALEOBJECTCONTEXTDATA *ANNOTSCALEOBJECTCONTEXTDATA;
9801
    Dwg_Object_ASSOC3POINTANGULARDIMACTIONBODY *ASSOC3POINTANGULARDIMACTIONBODY;
9802
    Dwg_Object_ASSOCALIGNEDDIMACTIONBODY *ASSOCALIGNEDDIMACTIONBODY;
9803
    Dwg_Object_ASSOCARRAYMODIFYACTIONBODY *ASSOCARRAYMODIFYACTIONBODY;
9804
    Dwg_Object_ASSOCEDGEACTIONPARAM *ASSOCEDGEACTIONPARAM;
9805
    Dwg_Object_ASSOCEDGECHAMFERACTIONBODY *ASSOCEDGECHAMFERACTIONBODY;
9806
    Dwg_Object_ASSOCEDGEFILLETACTIONBODY *ASSOCEDGEFILLETACTIONBODY;
9807
    Dwg_Object_ASSOCMLEADERACTIONBODY *ASSOCMLEADERACTIONBODY;
9808
    Dwg_Object_ASSOCORDINATEDIMACTIONBODY *ASSOCORDINATEDIMACTIONBODY;
9809
    Dwg_Object_ASSOCPERSSUBENTMANAGER *ASSOCPERSSUBENTMANAGER;
9810
    Dwg_Object_ASSOCRESTOREENTITYSTATEACTIONBODY *ASSOCRESTOREENTITYSTATEACTIONBODY;
9811
    Dwg_Object_ASSOCROTATEDDIMACTIONBODY *ASSOCROTATEDDIMACTIONBODY;
9812
    Dwg_Object_ASSOCSWEPTSURFACEACTIONBODY *ASSOCSWEPTSURFACEACTIONBODY;
9813
    Dwg_Object_BLOCKPROPERTIESTABLE *BLOCKPROPERTIESTABLE;
9814
    Dwg_Object_BLOCKPROPERTIESTABLEGRIP *BLOCKPROPERTIESTABLEGRIP;
9815
    Dwg_Object_BREAKDATA *BREAKDATA;
9816
    Dwg_Object_BREAKPOINTREF *BREAKPOINTREF;
9817
    Dwg_Object_CONTEXTDATAMANAGER *CONTEXTDATAMANAGER;
9818
    Dwg_Object_CSACDOCUMENTOPTIONS *CSACDOCUMENTOPTIONS;
9819
    Dwg_Object_CURVEPATH *CURVEPATH;
9820
    Dwg_Object_DATATABLE *DATATABLE;
9821
    Dwg_Object_DIMASSOC *DIMASSOC;
9822
    Dwg_Object_DMDIMOBJECTCONTEXTDATA *DMDIMOBJECTCONTEXTDATA;
9823
    Dwg_Object_DYNAMICBLOCKPROXYNODE *DYNAMICBLOCKPROXYNODE;
9824
    Dwg_Object_GEOMAPIMAGE *GEOMAPIMAGE;
9825
    Dwg_Object_MLEADEROBJECTCONTEXTDATA *MLEADEROBJECTCONTEXTDATA;
9826
    Dwg_Object_MOTIONPATH *MOTIONPATH;
9827
    Dwg_Object_MTEXTATTRIBUTEOBJECTCONTEXTDATA *MTEXTATTRIBUTEOBJECTCONTEXTDATA;
9828
    Dwg_Object_NAVISWORKSMODELDEF *NAVISWORKSMODELDEF;
9829
    Dwg_Object_ORDDIMOBJECTCONTEXTDATA *ORDDIMOBJECTCONTEXTDATA;
9830
    Dwg_Object_PERSUBENTMGR *PERSUBENTMGR;
9831
    Dwg_Object_POINTPATH *POINTPATH;
9832
    Dwg_Object_RADIMLGOBJECTCONTEXTDATA *RADIMLGOBJECTCONTEXTDATA;
9833
    Dwg_Object_RADIMOBJECTCONTEXTDATA *RADIMOBJECTCONTEXTDATA;
9834
    Dwg_Object_SUNSTUDY *SUNSTUDY;
9835
    Dwg_Object_TABLECONTENT *TABLECONTENT;
9836
    Dwg_Object_TVDEVICEPROPERTIES *TVDEVICEPROPERTIES;
9837
//    Dwg_Object_ABSHDRAWINGSETTINGS *ABSHDRAWINGSETTINGS;
9838
//    Dwg_Object_ACAECUSTOBJ *ACAECUSTOBJ;
9839
//    Dwg_Object_ACAEEEMGROBJ *ACAEEEMGROBJ;
9840
//    Dwg_Object_ACAMCOMP *ACAMCOMP;
9841
//    Dwg_Object_ACAMCOMPDEF *ACAMCOMPDEF;
9842
//    Dwg_Object_ACAMCOMPDEFMGR *ACAMCOMPDEFMGR;
9843
//    Dwg_Object_ACAMCONTEXTMODELER *ACAMCONTEXTMODELER;
9844
//    Dwg_Object_ACAMGDIMSTD *ACAMGDIMSTD;
9845
//    Dwg_Object_ACAMGFILTERDAT *ACAMGFILTERDAT;
9846
//    Dwg_Object_ACAMGHOLECHARTSTDCSN *ACAMGHOLECHARTSTDCSN;
9847
//    Dwg_Object_ACAMGHOLECHARTSTDDIN *ACAMGHOLECHARTSTDDIN;
9848
//    Dwg_Object_ACAMGHOLECHARTSTDISO *ACAMGHOLECHARTSTDISO;
9849
//    Dwg_Object_ACAMGLAYSTD *ACAMGLAYSTD;
9850
//    Dwg_Object_ACAMGRCOMPDEF *ACAMGRCOMPDEF;
9851
//    Dwg_Object_ACAMGRCOMPDEFSET *ACAMGRCOMPDEFSET;
9852
//    Dwg_Object_ACAMGTITLESTD *ACAMGTITLESTD;
9853
//    Dwg_Object_ACAMMVDBACKUPOBJECT *ACAMMVDBACKUPOBJECT;
9854
//    Dwg_Object_ACAMPROJECT *ACAMPROJECT;
9855
//    Dwg_Object_ACAMSHAFTCOMPDEF *ACAMSHAFTCOMPDEF;
9856
//    Dwg_Object_ACAMSTDPCOMPDEF *ACAMSTDPCOMPDEF;
9857
//    Dwg_Object_ACAMWBLOCKTEMPENTS *ACAMWBLOCKTEMPENTS;
9858
//    Dwg_Object_ACARRAYJIGENTITY *ACARRAYJIGENTITY;
9859
//    Dwg_Object_ACCMCONTEXT *ACCMCONTEXT;
9860
//    Dwg_Object_ACDBCIRCARCRES *ACDBCIRCARCRES;
9861
//    Dwg_Object_ACDBDIMENSIONRES *ACDBDIMENSIONRES;
9862
//    Dwg_Object_ACDBENTITYCACHE *ACDBENTITYCACHE;
9863
//    Dwg_Object_ACDBLINERES *ACDBLINERES;
9864
//    Dwg_Object_ACDBSTDPARTRES_ARC *ACDBSTDPARTRES_ARC;
9865
//    Dwg_Object_ACDBSTDPARTRES_LINE *ACDBSTDPARTRES_LINE;
9866
//    Dwg_Object_ACDB_HATCHSCALECONTEXTDATA_CLASS *ACDB_HATCHSCALECONTEXTDATA_CLASS;
9867
//    Dwg_Object_ACDB_HATCHVIEWCONTEXTDATA_CLASS *ACDB_HATCHVIEWCONTEXTDATA_CLASS;
9868
//    Dwg_Object_ACDB_PROXY_ENTITY_DATA *ACDB_PROXY_ENTITY_DATA;
9869
//    Dwg_Object_ACDSRECORD *ACDSRECORD;
9870
//    Dwg_Object_ACDSSCHEMA *ACDSSCHEMA;
9871
//    Dwg_Object_ACGREFACADMASTER *ACGREFACADMASTER;
9872
//    Dwg_Object_ACGREFMASTER *ACGREFMASTER;
9873
//    Dwg_Object_ACIMINTSYSVAR *ACIMINTSYSVAR;
9874
//    Dwg_Object_ACIMREALSYSVAR *ACIMREALSYSVAR;
9875
//    Dwg_Object_ACIMSTRSYSVAR *ACIMSTRSYSVAR;
9876
//    Dwg_Object_ACIMSYSVARMAN *ACIMSYSVARMAN;
9877
//    Dwg_Object_ACMANOOTATIONVIEWSTANDARDANSI *ACMANOOTATIONVIEWSTANDARDANSI;
9878
//    Dwg_Object_ACMANOOTATIONVIEWSTANDARDCSN *ACMANOOTATIONVIEWSTANDARDCSN;
9879
//    Dwg_Object_ACMANOOTATIONVIEWSTANDARDDIN *ACMANOOTATIONVIEWSTANDARDDIN;
9880
//    Dwg_Object_ACMANOOTATIONVIEWSTANDARDISO *ACMANOOTATIONVIEWSTANDARDISO;
9881
//    Dwg_Object_ACMAPLEGENDDBOBJECT *ACMAPLEGENDDBOBJECT;
9882
//    Dwg_Object_ACMAPLEGENDITEMDBOBJECT *ACMAPLEGENDITEMDBOBJECT;
9883
//    Dwg_Object_ACMAPMAPVIEWPORTDBOBJECT *ACMAPMAPVIEWPORTDBOBJECT;
9884
//    Dwg_Object_ACMAPPRINTLAYOUTELEMENTDBOBJECTCONTAINER *ACMAPPRINTLAYOUTELEMENTDBOBJECTCONTAINER;
9885
//    Dwg_Object_ACMBALLOON *ACMBALLOON;
9886
//    Dwg_Object_ACMBOM *ACMBOM;
9887
//    Dwg_Object_ACMBOMROW *ACMBOMROW;
9888
//    Dwg_Object_ACMBOMROWSTRUCT *ACMBOMROWSTRUCT;
9889
//    Dwg_Object_ACMBOMSTANDARDANSI *ACMBOMSTANDARDANSI;
9890
//    Dwg_Object_ACMBOMSTANDARDCSN *ACMBOMSTANDARDCSN;
9891
//    Dwg_Object_ACMBOMSTANDARDDIN *ACMBOMSTANDARDDIN;
9892
//    Dwg_Object_ACMBOMSTANDARDISO *ACMBOMSTANDARDISO;
9893
//    Dwg_Object_ACMCENTERLINESTANDARDANSI *ACMCENTERLINESTANDARDANSI;
9894
//    Dwg_Object_ACMCENTERLINESTANDARDCSN *ACMCENTERLINESTANDARDCSN;
9895
//    Dwg_Object_ACMCENTERLINESTANDARDDIN *ACMCENTERLINESTANDARDDIN;
9896
//    Dwg_Object_ACMCENTERLINESTANDARDISO *ACMCENTERLINESTANDARDISO;
9897
//    Dwg_Object_ACMDATADICTIONARY *ACMDATADICTIONARY;
9898
//    Dwg_Object_ACMDATAENTRY *ACMDATAENTRY;
9899
//    Dwg_Object_ACMDATAENTRYBLOCK *ACMDATAENTRYBLOCK;
9900
//    Dwg_Object_ACMDATUMID *ACMDATUMID;
9901
//    Dwg_Object_ACMDATUMSTANDARDANSI *ACMDATUMSTANDARDANSI;
9902
//    Dwg_Object_ACMDATUMSTANDARDCSN *ACMDATUMSTANDARDCSN;
9903
//    Dwg_Object_ACMDATUMSTANDARDDIN *ACMDATUMSTANDARDDIN;
9904
//    Dwg_Object_ACMDATUMSTANDARDISO *ACMDATUMSTANDARDISO;
9905
//    Dwg_Object_ACMDATUMSTANDARDISO2012 *ACMDATUMSTANDARDISO2012;
9906
//    Dwg_Object_ACMDETAILSTANDARDANSI *ACMDETAILSTANDARDANSI;
9907
//    Dwg_Object_ACMDETAILSTANDARDCSN *ACMDETAILSTANDARDCSN;
9908
//    Dwg_Object_ACMDETAILSTANDARDDIN *ACMDETAILSTANDARDDIN;
9909
//    Dwg_Object_ACMDETAILSTANDARDISO *ACMDETAILSTANDARDISO;
9910
//    Dwg_Object_ACMDETAILTANDARDCUSTOM *ACMDETAILTANDARDCUSTOM;
9911
//    Dwg_Object_ACMDIMBREAKPERSREACTOR *ACMDIMBREAKPERSREACTOR;
9912
//    Dwg_Object_ACMEDRAWINGMAN *ACMEDRAWINGMAN;
9913
//    Dwg_Object_ACMEVIEW *ACMEVIEW;
9914
//    Dwg_Object_ACME_DATABASE *ACME_DATABASE;
9915
//    Dwg_Object_ACME_DOCUMENT *ACME_DOCUMENT;
9916
//    Dwg_Object_ACMFCFRAME *ACMFCFRAME;
9917
//    Dwg_Object_ACMFCFSTANDARDANSI *ACMFCFSTANDARDANSI;
9918
//    Dwg_Object_ACMFCFSTANDARDCSN *ACMFCFSTANDARDCSN;
9919
//    Dwg_Object_ACMFCFSTANDARDDIN *ACMFCFSTANDARDDIN;
9920
//    Dwg_Object_ACMFCFSTANDARDISO *ACMFCFSTANDARDISO;
9921
//    Dwg_Object_ACMFCFSTANDARDISO2004 *ACMFCFSTANDARDISO2004;
9922
//    Dwg_Object_ACMFCFSTANDARDISO2012 *ACMFCFSTANDARDISO2012;
9923
//    Dwg_Object_ACMIDSTANDARDANSI *ACMIDSTANDARDANSI;
9924
//    Dwg_Object_ACMIDSTANDARDCSN *ACMIDSTANDARDCSN;
9925
//    Dwg_Object_ACMIDSTANDARDDIN *ACMIDSTANDARDDIN;
9926
//    Dwg_Object_ACMIDSTANDARDISO *ACMIDSTANDARDISO;
9927
//    Dwg_Object_ACMIDSTANDARDISO2004 *ACMIDSTANDARDISO2004;
9928
//    Dwg_Object_ACMIDSTANDARDISO2012 *ACMIDSTANDARDISO2012;
9929
//    Dwg_Object_ACMNOTESTANDARDANSI *ACMNOTESTANDARDANSI;
9930
//    Dwg_Object_ACMNOTESTANDARDCSN *ACMNOTESTANDARDCSN;
9931
//    Dwg_Object_ACMNOTESTANDARDDIN *ACMNOTESTANDARDDIN;
9932
//    Dwg_Object_ACMNOTESTANDARDISO *ACMNOTESTANDARDISO;
9933
//    Dwg_Object_ACMPARTLIST *ACMPARTLIST;
9934
//    Dwg_Object_ACMPICKOBJ *ACMPICKOBJ;
9935
//    Dwg_Object_ACMSECTIONSTANDARDANSI *ACMSECTIONSTANDARDANSI;
9936
//    Dwg_Object_ACMSECTIONSTANDARDCSN2002 *ACMSECTIONSTANDARDCSN2002;
9937
//    Dwg_Object_ACMSECTIONSTANDARDCUSTOM *ACMSECTIONSTANDARDCUSTOM;
9938
//    Dwg_Object_ACMSECTIONSTANDARDDIN *ACMSECTIONSTANDARDDIN;
9939
//    Dwg_Object_ACMSECTIONSTANDARDISO *ACMSECTIONSTANDARDISO;
9940
//    Dwg_Object_ACMSECTIONSTANDARDISO2001 *ACMSECTIONSTANDARDISO2001;
9941
//    Dwg_Object_ACMSTANDARDANSI *ACMSTANDARDANSI;
9942
//    Dwg_Object_ACMSTANDARDCSN *ACMSTANDARDCSN;
9943
//    Dwg_Object_ACMSTANDARDDIN *ACMSTANDARDDIN;
9944
//    Dwg_Object_ACMSTANDARDISO *ACMSTANDARDISO;
9945
//    Dwg_Object_ACMSURFSTANDARDANSI *ACMSURFSTANDARDANSI;
9946
//    Dwg_Object_ACMSURFSTANDARDCSN *ACMSURFSTANDARDCSN;
9947
//    Dwg_Object_ACMSURFSTANDARDDIN *ACMSURFSTANDARDDIN;
9948
//    Dwg_Object_ACMSURFSTANDARDISO *ACMSURFSTANDARDISO;
9949
//    Dwg_Object_ACMSURFSTANDARDISO2002 *ACMSURFSTANDARDISO2002;
9950
//    Dwg_Object_ACMSURFSYM *ACMSURFSYM;
9951
//    Dwg_Object_ACMTAPERSTANDARDANSI *ACMTAPERSTANDARDANSI;
9952
//    Dwg_Object_ACMTAPERSTANDARDCSN *ACMTAPERSTANDARDCSN;
9953
//    Dwg_Object_ACMTAPERSTANDARDDIN *ACMTAPERSTANDARDDIN;
9954
//    Dwg_Object_ACMTAPERSTANDARDISO *ACMTAPERSTANDARDISO;
9955
//    Dwg_Object_ACMTHREADLINESTANDARDANSI *ACMTHREADLINESTANDARDANSI;
9956
//    Dwg_Object_ACMTHREADLINESTANDARDCSN *ACMTHREADLINESTANDARDCSN;
9957
//    Dwg_Object_ACMTHREADLINESTANDARDDIN *ACMTHREADLINESTANDARDDIN;
9958
//    Dwg_Object_ACMTHREADLINESTANDARDISO *ACMTHREADLINESTANDARDISO;
9959
//    Dwg_Object_ACMWELDSTANDARDANSI *ACMWELDSTANDARDANSI;
9960
//    Dwg_Object_ACMWELDSTANDARDCSN *ACMWELDSTANDARDCSN;
9961
//    Dwg_Object_ACMWELDSTANDARDDIN *ACMWELDSTANDARDDIN;
9962
//    Dwg_Object_ACMWELDSTANDARDISO *ACMWELDSTANDARDISO;
9963
//    Dwg_Object_ACMWELDSYM *ACMWELDSYM;
9964
//    Dwg_Object_ACRFATTGENMGR *ACRFATTGENMGR;
9965
//    Dwg_Object_ACRFINSADJ *ACRFINSADJ;
9966
//    Dwg_Object_ACRFINSADJUSTERMGR *ACRFINSADJUSTERMGR;
9967
//    Dwg_Object_ACRFMCADAPIATTHOLDER *ACRFMCADAPIATTHOLDER;
9968
//    Dwg_Object_ACRFOBJATTMGR *ACRFOBJATTMGR;
9969
//    Dwg_Object_ACSH_SUBENT_MATERIAL_CLASS *ACSH_SUBENT_MATERIAL_CLASS;
9970
//    Dwg_Object_AC_AM_2D_XREF_MGR *AC_AM_2D_XREF_MGR;
9971
//    Dwg_Object_AC_AM_BASIC_VIEW *AC_AM_BASIC_VIEW;
9972
//    Dwg_Object_AC_AM_BASIC_VIEW_DEF *AC_AM_BASIC_VIEW_DEF;
9973
//    Dwg_Object_AC_AM_COMPLEX_HIDE_SITUATION *AC_AM_COMPLEX_HIDE_SITUATION;
9974
//    Dwg_Object_AC_AM_COMP_VIEW_DEF *AC_AM_COMP_VIEW_DEF;
9975
//    Dwg_Object_AC_AM_COMP_VIEW_INST *AC_AM_COMP_VIEW_INST;
9976
//    Dwg_Object_AC_AM_DIRTY_NODES *AC_AM_DIRTY_NODES;
9977
//    Dwg_Object_AC_AM_HIDE_SITUATION *AC_AM_HIDE_SITUATION;
9978
//    Dwg_Object_AC_AM_MAPPER_CACHE *AC_AM_MAPPER_CACHE;
9979
//    Dwg_Object_AC_AM_MASTER_VIEW_DEF *AC_AM_MASTER_VIEW_DEF;
9980
//    Dwg_Object_AC_AM_MVD_DEP_MGR *AC_AM_MVD_DEP_MGR;
9981
//    Dwg_Object_AC_AM_OVERRIDE_FILTER *AC_AM_OVERRIDE_FILTER;
9982
//    Dwg_Object_AC_AM_PROPS_OVERRIDE *AC_AM_PROPS_OVERRIDE;
9983
//    Dwg_Object_AC_AM_SHAFT_HIDE_SITUATION *AC_AM_SHAFT_HIDE_SITUATION;
9984
//    Dwg_Object_AC_AM_STDP_VIEW_DEF *AC_AM_STDP_VIEW_DEF;
9985
//    Dwg_Object_AC_AM_TRANSFORM_GHOST *AC_AM_TRANSFORM_GHOST;
9986
//    Dwg_Object_ADAPPL *ADAPPL;
9987
//    Dwg_Object_AECC_ALIGNMENT_DESIGN_CHECK_SET *AECC_ALIGNMENT_DESIGN_CHECK_SET;
9988
//    Dwg_Object_AECC_ALIGNMENT_LABEL_SET *AECC_ALIGNMENT_LABEL_SET;
9989
//    Dwg_Object_AECC_ALIGNMENT_LABEL_SET_EXT *AECC_ALIGNMENT_LABEL_SET_EXT;
9990
//    Dwg_Object_AECC_ALIGNMENT_PARCEL_NODE *AECC_ALIGNMENT_PARCEL_NODE;
9991
//    Dwg_Object_AECC_ALIGNMENT_STYLE *AECC_ALIGNMENT_STYLE;
9992
//    Dwg_Object_AECC_APPURTENANCE_STYLE *AECC_APPURTENANCE_STYLE;
9993
//    Dwg_Object_AECC_ASSEMBLY_STYLE *AECC_ASSEMBLY_STYLE;
9994
//    Dwg_Object_AECC_BUILDING_SITE_STYLE *AECC_BUILDING_SITE_STYLE;
9995
//    Dwg_Object_AECC_CANT_DIAGRAM_VIEW_STYLE *AECC_CANT_DIAGRAM_VIEW_STYLE;
9996
//    Dwg_Object_AECC_CATCHMENT_STYLE *AECC_CATCHMENT_STYLE;
9997
//    Dwg_Object_AECC_CLASS_NODE *AECC_CLASS_NODE;
9998
//    Dwg_Object_AECC_CONTOURVIEW *AECC_CONTOURVIEW;
9999
//    Dwg_Object_AECC_CORRIDOR_STYLE *AECC_CORRIDOR_STYLE;
10000
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT *AECC_DISP_REP_ALIGNMENT;
10001
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_CANT_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_CANT_LABEL_GROUP;
10002
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_CSV *AECC_DISP_REP_ALIGNMENT_CSV;
10003
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_CURVE_LABEL *AECC_DISP_REP_ALIGNMENT_CURVE_LABEL;
10004
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_DESIGNSPEED_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_DESIGNSPEED_LABEL_GROUP;
10005
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_GEOMPT_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_GEOMPT_LABEL_GROUP;
10006
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_INDEXED_PI_LABEL *AECC_DISP_REP_ALIGNMENT_INDEXED_PI_LABEL;
10007
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_MINOR_STATION_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_MINOR_STATION_LABEL_GROUP;
10008
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_PI_LABEL *AECC_DISP_REP_ALIGNMENT_PI_LABEL;
10009
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_SPIRAL_LABEL *AECC_DISP_REP_ALIGNMENT_SPIRAL_LABEL;
10010
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_STAEQU_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_STAEQU_LABEL_GROUP;
10011
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_STATION_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_STATION_LABEL_GROUP;
10012
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_STATION_OFFSET_LABEL *AECC_DISP_REP_ALIGNMENT_STATION_OFFSET_LABEL;
10013
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_SUPERELEVATION_LABEL_GROUP *AECC_DISP_REP_ALIGNMENT_SUPERELEVATION_LABEL_GROUP;
10014
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_TABLE *AECC_DISP_REP_ALIGNMENT_TABLE;
10015
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_TANGENT_LABEL *AECC_DISP_REP_ALIGNMENT_TANGENT_LABEL;
10016
//    Dwg_Object_AECC_DISP_REP_ALIGNMENT_VERTICAL_GEOMPT_LABELING *AECC_DISP_REP_ALIGNMENT_VERTICAL_GEOMPT_LABELING;
10017
//    Dwg_Object_AECC_DISP_REP_APPURTENANCE *AECC_DISP_REP_APPURTENANCE;
10018
//    Dwg_Object_AECC_DISP_REP_APPURTENANCE_CSV *AECC_DISP_REP_APPURTENANCE_CSV;
10019
//    Dwg_Object_AECC_DISP_REP_APPURTENANCE_LABELING *AECC_DISP_REP_APPURTENANCE_LABELING;
10020
//    Dwg_Object_AECC_DISP_REP_APPURTENANCE_PROFILE_LABELING *AECC_DISP_REP_APPURTENANCE_PROFILE_LABELING;
10021
//    Dwg_Object_AECC_DISP_REP_ASSEMBLY *AECC_DISP_REP_ASSEMBLY;
10022
//    Dwg_Object_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE *AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE;
10023
//    Dwg_Object_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_PROFILE *AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_PROFILE;
10024
//    Dwg_Object_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_SECTION *AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_SECTION;
10025
//    Dwg_Object_AECC_DISP_REP_AUTO_FEATURE_LINE *AECC_DISP_REP_AUTO_FEATURE_LINE;
10026
//    Dwg_Object_AECC_DISP_REP_AUTO_FEATURE_LINE_CSV *AECC_DISP_REP_AUTO_FEATURE_LINE_CSV;
10027
//    Dwg_Object_AECC_DISP_REP_AUTO_FEATURE_LINE_PROFILE *AECC_DISP_REP_AUTO_FEATURE_LINE_PROFILE;
10028
//    Dwg_Object_AECC_DISP_REP_AUTO_FEATURE_LINE_SECTION *AECC_DISP_REP_AUTO_FEATURE_LINE_SECTION;
10029
//    Dwg_Object_AECC_DISP_REP_BUILDINGSITE *AECC_DISP_REP_BUILDINGSITE;
10030
//    Dwg_Object_AECC_DISP_REP_BUILDINGUTIL_CONNECTOR *AECC_DISP_REP_BUILDINGUTIL_CONNECTOR;
10031
//    Dwg_Object_AECC_DISP_REP_CANT_DIAGRAM_VIEW *AECC_DISP_REP_CANT_DIAGRAM_VIEW;
10032
//    Dwg_Object_AECC_DISP_REP_CATCHMENT_AREA *AECC_DISP_REP_CATCHMENT_AREA;
10033
//    Dwg_Object_AECC_DISP_REP_CATCHMENT_AREA_LABEL *AECC_DISP_REP_CATCHMENT_AREA_LABEL;
10034
//    Dwg_Object_AECC_DISP_REP_CORRIDOR *AECC_DISP_REP_CORRIDOR;
10035
//    Dwg_Object_AECC_DISP_REP_CROSSING_PIPE_PROFILE_LABELING *AECC_DISP_REP_CROSSING_PIPE_PROFILE_LABELING;
10036
//    Dwg_Object_AECC_DISP_REP_CROSSING_PRESSURE_PIPE_PROFILE_LABELING *AECC_DISP_REP_CROSSING_PRESSURE_PIPE_PROFILE_LABELING;
10037
//    Dwg_Object_AECC_DISP_REP_CSVSTATIONSLIDER *AECC_DISP_REP_CSVSTATIONSLIDER;
10038
//    Dwg_Object_AECC_DISP_REP_FACE *AECC_DISP_REP_FACE;
10039
//    Dwg_Object_AECC_DISP_REP_FEATURE *AECC_DISP_REP_FEATURE;
10040
//    Dwg_Object_AECC_DISP_REP_FEATURE_LABEL *AECC_DISP_REP_FEATURE_LABEL;
10041
//    Dwg_Object_AECC_DISP_REP_FEATURE_LINE *AECC_DISP_REP_FEATURE_LINE;
10042
//    Dwg_Object_AECC_DISP_REP_FEATURE_LINE_CSV *AECC_DISP_REP_FEATURE_LINE_CSV;
10043
//    Dwg_Object_AECC_DISP_REP_FEATURE_LINE_PROFILE *AECC_DISP_REP_FEATURE_LINE_PROFILE;
10044
//    Dwg_Object_AECC_DISP_REP_FEATURE_LINE_SECTION *AECC_DISP_REP_FEATURE_LINE_SECTION;
10045
//    Dwg_Object_AECC_DISP_REP_FITTING *AECC_DISP_REP_FITTING;
10046
//    Dwg_Object_AECC_DISP_REP_FITTING_CSV *AECC_DISP_REP_FITTING_CSV;
10047
//    Dwg_Object_AECC_DISP_REP_FITTING_LABELING *AECC_DISP_REP_FITTING_LABELING;
10048
//    Dwg_Object_AECC_DISP_REP_FITTING_PROFILE_LABELING *AECC_DISP_REP_FITTING_PROFILE_LABELING;
10049
//    Dwg_Object_AECC_DISP_REP_FLOW_SEGMENT_LABEL *AECC_DISP_REP_FLOW_SEGMENT_LABEL;
10050
//    Dwg_Object_AECC_DISP_REP_GENERAL_SEGMENT_LABEL *AECC_DISP_REP_GENERAL_SEGMENT_LABEL;
10051
//    Dwg_Object_AECC_DISP_REP_GRADING *AECC_DISP_REP_GRADING;
10052
//    Dwg_Object_AECC_DISP_REP_GRAPH *AECC_DISP_REP_GRAPH;
10053
//    Dwg_Object_AECC_DISP_REP_GRAPHPROFILE_NETWORKPART *AECC_DISP_REP_GRAPHPROFILE_NETWORKPART;
10054
//    Dwg_Object_AECC_DISP_REP_GRAPHPROFILE_PRESSUREPART *AECC_DISP_REP_GRAPHPROFILE_PRESSUREPART;
10055
//    Dwg_Object_AECC_DISP_REP_GRID_SURFACE *AECC_DISP_REP_GRID_SURFACE;
10056
//    Dwg_Object_AECC_DISP_REP_GRID_SURFACE_CSV *AECC_DISP_REP_GRID_SURFACE_CSV;
10057
//    Dwg_Object_AECC_DISP_REP_HORGEOMETRY_BAND_LABEL_GROUP *AECC_DISP_REP_HORGEOMETRY_BAND_LABEL_GROUP;
10058
//    Dwg_Object_AECC_DISP_REP_HYDRO_REGION *AECC_DISP_REP_HYDRO_REGION;
10059
//    Dwg_Object_AECC_DISP_REP_INTERFERENCE_CHECK *AECC_DISP_REP_INTERFERENCE_CHECK;
10060
//    Dwg_Object_AECC_DISP_REP_INTERFERENCE_PART *AECC_DISP_REP_INTERFERENCE_PART;
10061
//    Dwg_Object_AECC_DISP_REP_INTERFERENCE_PART_SECTION *AECC_DISP_REP_INTERFERENCE_PART_SECTION;
10062
//    Dwg_Object_AECC_DISP_REP_INTERSECTION *AECC_DISP_REP_INTERSECTION;
10063
//    Dwg_Object_AECC_DISP_REP_INTERSECTION_LOCATION_LABELING *AECC_DISP_REP_INTERSECTION_LOCATION_LABELING;
10064
//    Dwg_Object_AECC_DISP_REP_LABELING *AECC_DISP_REP_LABELING;
10065
//    Dwg_Object_AECC_DISP_REP_LEGEND_TABLE *AECC_DISP_REP_LEGEND_TABLE;
10066
//    Dwg_Object_AECC_DISP_REP_LINE_BETWEEN_POINTS_LABEL *AECC_DISP_REP_LINE_BETWEEN_POINTS_LABEL;
10067
//    Dwg_Object_AECC_DISP_REP_LOTLINE_CSV *AECC_DISP_REP_LOTLINE_CSV;
10068
//    Dwg_Object_AECC_DISP_REP_MASSHAULLINE *AECC_DISP_REP_MASSHAULLINE;
10069
//    Dwg_Object_AECC_DISP_REP_MASS_HAUL_VIEW *AECC_DISP_REP_MASS_HAUL_VIEW;
10070
//    Dwg_Object_AECC_DISP_REP_MATCHLINE_LABELING *AECC_DISP_REP_MATCHLINE_LABELING;
10071
//    Dwg_Object_AECC_DISP_REP_MATCH_LINE *AECC_DISP_REP_MATCH_LINE;
10072
//    Dwg_Object_AECC_DISP_REP_MATERIAL_SECTION *AECC_DISP_REP_MATERIAL_SECTION;
10073
//    Dwg_Object_AECC_DISP_REP_NETWORK *AECC_DISP_REP_NETWORK;
10074
//    Dwg_Object_AECC_DISP_REP_NOTE_LABEL *AECC_DISP_REP_NOTE_LABEL;
10075
//    Dwg_Object_AECC_DISP_REP_OFFSET_ELEV_LABEL *AECC_DISP_REP_OFFSET_ELEV_LABEL;
10076
//    Dwg_Object_AECC_DISP_REP_PARCEL_BOUNDARY *AECC_DISP_REP_PARCEL_BOUNDARY;
10077
//    Dwg_Object_AECC_DISP_REP_PARCEL_FACE_LABEL *AECC_DISP_REP_PARCEL_FACE_LABEL;
10078
//    Dwg_Object_AECC_DISP_REP_PARCEL_SEGMENT *AECC_DISP_REP_PARCEL_SEGMENT;
10079
//    Dwg_Object_AECC_DISP_REP_PARCEL_SEGMENT_LABEL *AECC_DISP_REP_PARCEL_SEGMENT_LABEL;
10080
//    Dwg_Object_AECC_DISP_REP_PARCEL_SEGMENT_TABLE *AECC_DISP_REP_PARCEL_SEGMENT_TABLE;
10081
//    Dwg_Object_AECC_DISP_REP_PARCEL_TABLE *AECC_DISP_REP_PARCEL_TABLE;
10082
//    Dwg_Object_AECC_DISP_REP_PIPE *AECC_DISP_REP_PIPE;
10083
//    Dwg_Object_AECC_DISP_REP_PIPENETWORK_BAND_LABEL_GROUP *AECC_DISP_REP_PIPENETWORK_BAND_LABEL_GROUP;
10084
//    Dwg_Object_AECC_DISP_REP_PIPE_CSV *AECC_DISP_REP_PIPE_CSV;
10085
//    Dwg_Object_AECC_DISP_REP_PIPE_LABELING *AECC_DISP_REP_PIPE_LABELING;
10086
//    Dwg_Object_AECC_DISP_REP_PIPE_PROFILE_LABELING *AECC_DISP_REP_PIPE_PROFILE_LABELING;
10087
//    Dwg_Object_AECC_DISP_REP_PIPE_SECTION_LABELING *AECC_DISP_REP_PIPE_SECTION_LABELING;
10088
//    Dwg_Object_AECC_DISP_REP_PIPE_TABLE *AECC_DISP_REP_PIPE_TABLE;
10089
//    Dwg_Object_AECC_DISP_REP_POINT_ENT *AECC_DISP_REP_POINT_ENT;
10090
//    Dwg_Object_AECC_DISP_REP_POINT_GROUP *AECC_DISP_REP_POINT_GROUP;
10091
//    Dwg_Object_AECC_DISP_REP_POINT_TABLE *AECC_DISP_REP_POINT_TABLE;
10092
//    Dwg_Object_AECC_DISP_REP_PRESSUREPIPENETWORK *AECC_DISP_REP_PRESSUREPIPENETWORK;
10093
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PART_TABLE *AECC_DISP_REP_PRESSURE_PART_TABLE;
10094
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PIPE *AECC_DISP_REP_PRESSURE_PIPE;
10095
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PIPE_CSV *AECC_DISP_REP_PRESSURE_PIPE_CSV;
10096
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PIPE_LABELING *AECC_DISP_REP_PRESSURE_PIPE_LABELING;
10097
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PIPE_PROFILE_LABELING *AECC_DISP_REP_PRESSURE_PIPE_PROFILE_LABELING;
10098
//    Dwg_Object_AECC_DISP_REP_PRESSURE_PIPE_SECTION_LABELING *AECC_DISP_REP_PRESSURE_PIPE_SECTION_LABELING;
10099
//    Dwg_Object_AECC_DISP_REP_PROFILE *AECC_DISP_REP_PROFILE;
10100
//    Dwg_Object_AECC_DISP_REP_PROFILEDATA_BAND_LABEL_GROUP *AECC_DISP_REP_PROFILEDATA_BAND_LABEL_GROUP;
10101
//    Dwg_Object_AECC_DISP_REP_PROFILE_PROJECTION *AECC_DISP_REP_PROFILE_PROJECTION;
10102
//    Dwg_Object_AECC_DISP_REP_PROFILE_PROJECTION_LABEL *AECC_DISP_REP_PROFILE_PROJECTION_LABEL;
10103
//    Dwg_Object_AECC_DISP_REP_PROFILE_VIEW *AECC_DISP_REP_PROFILE_VIEW;
10104
//    Dwg_Object_AECC_DISP_REP_PROFILE_VIEW_DEPTH_LABEL *AECC_DISP_REP_PROFILE_VIEW_DEPTH_LABEL;
10105
//    Dwg_Object_AECC_DISP_REP_QUANTITY_TAKEOFF_AGGREGATE_EARTHWORK_TABLE *AECC_DISP_REP_QUANTITY_TAKEOFF_AGGREGATE_EARTHWORK_TABLE;
10106
//    Dwg_Object_AECC_DISP_REP_RIGHT_OF_WAY *AECC_DISP_REP_RIGHT_OF_WAY;
10107
//    Dwg_Object_AECC_DISP_REP_SAMPLELINE_LABELING *AECC_DISP_REP_SAMPLELINE_LABELING;
10108
//    Dwg_Object_AECC_DISP_REP_SAMPLE_LINE *AECC_DISP_REP_SAMPLE_LINE;
10109
//    Dwg_Object_AECC_DISP_REP_SAMPLE_LINE_GROUP *AECC_DISP_REP_SAMPLE_LINE_GROUP;
10110
//    Dwg_Object_AECC_DISP_REP_SECTION *AECC_DISP_REP_SECTION;
10111
//    Dwg_Object_AECC_DISP_REP_SECTIONALDATA_BAND_LABEL_GROUP *AECC_DISP_REP_SECTIONALDATA_BAND_LABEL_GROUP;
10112
//    Dwg_Object_AECC_DISP_REP_SECTIONDATA_BAND_LABEL_GROUP *AECC_DISP_REP_SECTIONDATA_BAND_LABEL_GROUP;
10113
//    Dwg_Object_AECC_DISP_REP_SECTIONSEGMENT_BAND_LABEL_GROUP *AECC_DISP_REP_SECTIONSEGMENT_BAND_LABEL_GROUP;
10114
//    Dwg_Object_AECC_DISP_REP_SECTION_CORRIDOR *AECC_DISP_REP_SECTION_CORRIDOR;
10115
//    Dwg_Object_AECC_DISP_REP_SECTION_CORRIDOR_POINT_LABEL_GROUP *AECC_DISP_REP_SECTION_CORRIDOR_POINT_LABEL_GROUP;
10116
//    Dwg_Object_AECC_DISP_REP_SECTION_GRADEBREAK_LABEL_GROUP *AECC_DISP_REP_SECTION_GRADEBREAK_LABEL_GROUP;
10117
//    Dwg_Object_AECC_DISP_REP_SECTION_MINOR_OFFSET_LABEL_GROUP *AECC_DISP_REP_SECTION_MINOR_OFFSET_LABEL_GROUP;
10118
//    Dwg_Object_AECC_DISP_REP_SECTION_OFFSET_LABEL_GROUP *AECC_DISP_REP_SECTION_OFFSET_LABEL_GROUP;
10119
//    Dwg_Object_AECC_DISP_REP_SECTION_PIPENETWORK *AECC_DISP_REP_SECTION_PIPENETWORK;
10120
//    Dwg_Object_AECC_DISP_REP_SECTION_PRESSUREPIPENETWORK *AECC_DISP_REP_SECTION_PRESSUREPIPENETWORK;
10121
//    Dwg_Object_AECC_DISP_REP_SECTION_PROJECTION *AECC_DISP_REP_SECTION_PROJECTION;
10122
//    Dwg_Object_AECC_DISP_REP_SECTION_PROJECTION_LABEL *AECC_DISP_REP_SECTION_PROJECTION_LABEL;
10123
//    Dwg_Object_AECC_DISP_REP_SECTION_SEGMENT_LABEL_GROUP *AECC_DISP_REP_SECTION_SEGMENT_LABEL_GROUP;
10124
//    Dwg_Object_AECC_DISP_REP_SECTION_VIEW *AECC_DISP_REP_SECTION_VIEW;
10125
//    Dwg_Object_AECC_DISP_REP_SECTION_VIEW_DEPTH_LABEL *AECC_DISP_REP_SECTION_VIEW_DEPTH_LABEL;
10126
//    Dwg_Object_AECC_DISP_REP_SECTION_VIEW_QUANTITY_TAKEOFF_TABLE *AECC_DISP_REP_SECTION_VIEW_QUANTITY_TAKEOFF_TABLE;
10127
//    Dwg_Object_AECC_DISP_REP_SHEET *AECC_DISP_REP_SHEET;
10128
//    Dwg_Object_AECC_DISP_REP_SPANNING_PIPE_LABELING *AECC_DISP_REP_SPANNING_PIPE_LABELING;
10129
//    Dwg_Object_AECC_DISP_REP_SPANNING_PIPE_PROFILE_LABELING *AECC_DISP_REP_SPANNING_PIPE_PROFILE_LABELING;
10130
//    Dwg_Object_AECC_DISP_REP_STATION_ELEV_LABEL *AECC_DISP_REP_STATION_ELEV_LABEL;
10131
//    Dwg_Object_AECC_DISP_REP_STRUCTURE *AECC_DISP_REP_STRUCTURE;
10132
//    Dwg_Object_AECC_DISP_REP_STRUCTURE_CSV *AECC_DISP_REP_STRUCTURE_CSV;
10133
//    Dwg_Object_AECC_DISP_REP_STRUCTURE_LABELING *AECC_DISP_REP_STRUCTURE_LABELING;
10134
//    Dwg_Object_AECC_DISP_REP_STRUCTURE_PROFILE_LABELING *AECC_DISP_REP_STRUCTURE_PROFILE_LABELING;
10135
//    Dwg_Object_AECC_DISP_REP_STRUCTURE_SECTION_LABELING *AECC_DISP_REP_STRUCTURE_SECTION_LABELING;
10136
//    Dwg_Object_AECC_DISP_REP_SUBASSEMBLY *AECC_DISP_REP_SUBASSEMBLY;
10137
//    Dwg_Object_AECC_DISP_REP_SUPERELEVATION_BAND_LABEL_GROUP *AECC_DISP_REP_SUPERELEVATION_BAND_LABEL_GROUP;
10138
//    Dwg_Object_AECC_DISP_REP_SUPERELEVATION_DIAGRAM_VIEW *AECC_DISP_REP_SUPERELEVATION_DIAGRAM_VIEW;
10139
//    Dwg_Object_AECC_DISP_REP_SURFACE_CONTOUR_LABEL_GROUP *AECC_DISP_REP_SURFACE_CONTOUR_LABEL_GROUP;
10140
//    Dwg_Object_AECC_DISP_REP_SURFACE_ELEVATION_LABEL *AECC_DISP_REP_SURFACE_ELEVATION_LABEL;
10141
//    Dwg_Object_AECC_DISP_REP_SURFACE_SLOPE_LABEL *AECC_DISP_REP_SURFACE_SLOPE_LABEL;
10142
//    Dwg_Object_AECC_DISP_REP_SURVEY_FIGURE_LABEL_GROUP *AECC_DISP_REP_SURVEY_FIGURE_LABEL_GROUP;
10143
//    Dwg_Object_AECC_DISP_REP_SVFIGURE *AECC_DISP_REP_SVFIGURE;
10144
//    Dwg_Object_AECC_DISP_REP_SVFIGURE_CSV *AECC_DISP_REP_SVFIGURE_CSV;
10145
//    Dwg_Object_AECC_DISP_REP_SVFIGURE_PROFILE *AECC_DISP_REP_SVFIGURE_PROFILE;
10146
//    Dwg_Object_AECC_DISP_REP_SVFIGURE_SECTION *AECC_DISP_REP_SVFIGURE_SECTION;
10147
//    Dwg_Object_AECC_DISP_REP_SVFIGURE_SEGMENT_LABEL *AECC_DISP_REP_SVFIGURE_SEGMENT_LABEL;
10148
//    Dwg_Object_AECC_DISP_REP_SVNETWORK *AECC_DISP_REP_SVNETWORK;
10149
//    Dwg_Object_AECC_DISP_REP_TANGENT_INTERSECTION_TABLE *AECC_DISP_REP_TANGENT_INTERSECTION_TABLE;
10150
//    Dwg_Object_AECC_DISP_REP_TIN_SURFACE *AECC_DISP_REP_TIN_SURFACE;
10151
//    Dwg_Object_AECC_DISP_REP_TIN_SURFACE_CSV *AECC_DISP_REP_TIN_SURFACE_CSV;
10152
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_CRESTCURVE_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_CRESTCURVE_LABEL_GROUP;
10153
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_CSV *AECC_DISP_REP_VALIGNMENT_CSV;
10154
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_HAGEOMPT_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_HAGEOMPT_LABEL_GROUP;
10155
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_LINE_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_LINE_LABEL_GROUP;
10156
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_MINOR_STATION_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_MINOR_STATION_LABEL_GROUP;
10157
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_PVI_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_PVI_LABEL_GROUP;
10158
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_SAGCURVE_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_SAGCURVE_LABEL_GROUP;
10159
//    Dwg_Object_AECC_DISP_REP_VALIGNMENT_STATION_LABEL_GROUP *AECC_DISP_REP_VALIGNMENT_STATION_LABEL_GROUP;
10160
//    Dwg_Object_AECC_DISP_REP_VERTICALGEOMETRY_BAND_LABEL_GROUP *AECC_DISP_REP_VERTICALGEOMETRY_BAND_LABEL_GROUP;
10161
//    Dwg_Object_AECC_DISP_REP_VIEWFRAME_LABELING *AECC_DISP_REP_VIEWFRAME_LABELING;
10162
//    Dwg_Object_AECC_DISP_REP_VIEW_FRAME *AECC_DISP_REP_VIEW_FRAME;
10163
//    Dwg_Object_AECC_FEATURELINE_STYLE *AECC_FEATURELINE_STYLE;
10164
//    Dwg_Object_AECC_FEATURE_STYLE *AECC_FEATURE_STYLE;
10165
//    Dwg_Object_AECC_FITTING_STYLE *AECC_FITTING_STYLE;
10166
//    Dwg_Object_AECC_FORMAT_MANAGER_OBJECT *AECC_FORMAT_MANAGER_OBJECT;
10167
//    Dwg_Object_AECC_GRADEVIEW *AECC_GRADEVIEW;
10168
//    Dwg_Object_AECC_GRADING_CRITERIA *AECC_GRADING_CRITERIA;
10169
//    Dwg_Object_AECC_GRADING_CRITERIA_SET *AECC_GRADING_CRITERIA_SET;
10170
//    Dwg_Object_AECC_GRADING_GROUP *AECC_GRADING_GROUP;
10171
//    Dwg_Object_AECC_GRADING_STYLE *AECC_GRADING_STYLE;
10172
//    Dwg_Object_AECC_IMPORT_STORM_SEWER_DEFAULTS *AECC_IMPORT_STORM_SEWER_DEFAULTS;
10173
//    Dwg_Object_AECC_INTERFERENCE_STYLE *AECC_INTERFERENCE_STYLE;
10174
//    Dwg_Object_AECC_INTERSECTION_STYLE *AECC_INTERSECTION_STYLE;
10175
//    Dwg_Object_AECC_LABEL_COLLECTOR_STYLE *AECC_LABEL_COLLECTOR_STYLE;
10176
//    Dwg_Object_AECC_LABEL_NODE *AECC_LABEL_NODE;
10177
//    Dwg_Object_AECC_LABEL_RADIAL_LINE_STYLE *AECC_LABEL_RADIAL_LINE_STYLE;
10178
//    Dwg_Object_AECC_LABEL_TEXT_ITERATOR_CURVE_OR_SPIRAL_STYLE *AECC_LABEL_TEXT_ITERATOR_CURVE_OR_SPIRAL_STYLE;
10179
//    Dwg_Object_AECC_LABEL_TEXT_ITERATOR_STYLE *AECC_LABEL_TEXT_ITERATOR_STYLE;
10180
//    Dwg_Object_AECC_LABEL_TEXT_STYLE *AECC_LABEL_TEXT_STYLE;
10181
//    Dwg_Object_AECC_LABEL_VECTOR_ARROW_STYLE *AECC_LABEL_VECTOR_ARROW_STYLE;
10182
//    Dwg_Object_AECC_LEGEND_TABLE_STYLE *AECC_LEGEND_TABLE_STYLE;
10183
//    Dwg_Object_AECC_MASS_HAUL_LINE_STYLE *AECC_MASS_HAUL_LINE_STYLE;
10184
//    Dwg_Object_AECC_MASS_HAUL_VIEW_STYLE *AECC_MASS_HAUL_VIEW_STYLE;
10185
//    Dwg_Object_AECC_MATCHLINE_STYLE *AECC_MATCHLINE_STYLE;
10186
//    Dwg_Object_AECC_MATERIAL_STYLE *AECC_MATERIAL_STYLE;
10187
//    Dwg_Object_AECC_NETWORK_PART_CATALOG_DEF_NODE *AECC_NETWORK_PART_CATALOG_DEF_NODE;
10188
//    Dwg_Object_AECC_NETWORK_PART_FAMILY_ITEM *AECC_NETWORK_PART_FAMILY_ITEM;
10189
//    Dwg_Object_AECC_NETWORK_PART_LIST *AECC_NETWORK_PART_LIST;
10190
//    Dwg_Object_AECC_NETWORK_RULE *AECC_NETWORK_RULE;
10191
//    Dwg_Object_AECC_PARCEL_NODE *AECC_PARCEL_NODE;
10192
//    Dwg_Object_AECC_PARCEL_STYLE *AECC_PARCEL_STYLE;
10193
//    Dwg_Object_AECC_PART_SIZE_FILTER *AECC_PART_SIZE_FILTER;
10194
//    Dwg_Object_AECC_PIPE_RULES *AECC_PIPE_RULES;
10195
//    Dwg_Object_AECC_PIPE_STYLE *AECC_PIPE_STYLE;
10196
//    Dwg_Object_AECC_PIPE_STYLE_EXTENSION *AECC_PIPE_STYLE_EXTENSION;
10197
//    Dwg_Object_AECC_POINTCLOUD_STYLE *AECC_POINTCLOUD_STYLE;
10198
//    Dwg_Object_AECC_POINTVIEW *AECC_POINTVIEW;
10199
//    Dwg_Object_AECC_POINT_STYLE *AECC_POINT_STYLE;
10200
//    Dwg_Object_AECC_PRESSURE_PART_LIST *AECC_PRESSURE_PART_LIST;
10201
//    Dwg_Object_AECC_PRESSURE_PIPE_STYLE *AECC_PRESSURE_PIPE_STYLE;
10202
//    Dwg_Object_AECC_PROFILESECTIONENTITY_STYLE *AECC_PROFILESECTIONENTITY_STYLE;
10203
//    Dwg_Object_AECC_PROFILE_DESIGN_CHECK_SET *AECC_PROFILE_DESIGN_CHECK_SET;
10204
//    Dwg_Object_AECC_PROFILE_LABEL_SET *AECC_PROFILE_LABEL_SET;
10205
//    Dwg_Object_AECC_PROFILE_STYLE *AECC_PROFILE_STYLE;
10206
//    Dwg_Object_AECC_PROFILE_VIEW_BAND_STYLE_SET *AECC_PROFILE_VIEW_BAND_STYLE_SET;
10207
//    Dwg_Object_AECC_PROFILE_VIEW_DATA_BAND_STYLE *AECC_PROFILE_VIEW_DATA_BAND_STYLE;
10208
//    Dwg_Object_AECC_PROFILE_VIEW_HORIZONTAL_GEOMETRY_BAND_STYLE *AECC_PROFILE_VIEW_HORIZONTAL_GEOMETRY_BAND_STYLE;
10209
//    Dwg_Object_AECC_PROFILE_VIEW_PIPE_NETWORK_BAND_STYLE *AECC_PROFILE_VIEW_PIPE_NETWORK_BAND_STYLE;
10210
//    Dwg_Object_AECC_PROFILE_VIEW_SECTIONAL_DATA_BAND_STYLE *AECC_PROFILE_VIEW_SECTIONAL_DATA_BAND_STYLE;
10211
//    Dwg_Object_AECC_PROFILE_VIEW_STYLE *AECC_PROFILE_VIEW_STYLE;
10212
//    Dwg_Object_AECC_PROFILE_VIEW_SUPERELEVATION_DIAGRAM_BAND_STYLE *AECC_PROFILE_VIEW_SUPERELEVATION_DIAGRAM_BAND_STYLE;
10213
//    Dwg_Object_AECC_PROFILE_VIEW_VERTICAL_GEOMETRY_BAND_STYLE *AECC_PROFILE_VIEW_VERTICAL_GEOMETRY_BAND_STYLE;
10214
//    Dwg_Object_AECC_QUANTITY_TAKEOFF_CRITERIA *AECC_QUANTITY_TAKEOFF_CRITERIA;
10215
//    Dwg_Object_AECC_ROADWAYLINK_STYLE *AECC_ROADWAYLINK_STYLE;
10216
//    Dwg_Object_AECC_ROADWAYMARKER_STYLE *AECC_ROADWAYMARKER_STYLE;
10217
//    Dwg_Object_AECC_ROADWAYSHAPE_STYLE *AECC_ROADWAYSHAPE_STYLE;
10218
//    Dwg_Object_AECC_ROADWAY_STYLE_SET *AECC_ROADWAY_STYLE_SET;
10219
//    Dwg_Object_AECC_ROOT_SETTINGS_NODE *AECC_ROOT_SETTINGS_NODE;
10220
//    Dwg_Object_AECC_SAMPLE_LINE_GROUP_STYLE *AECC_SAMPLE_LINE_GROUP_STYLE;
10221
//    Dwg_Object_AECC_SAMPLE_LINE_STYLE *AECC_SAMPLE_LINE_STYLE;
10222
//    Dwg_Object_AECC_SECTION_LABEL_SET *AECC_SECTION_LABEL_SET;
10223
//    Dwg_Object_AECC_SECTION_STYLE *AECC_SECTION_STYLE;
10224
//    Dwg_Object_AECC_SECTION_VIEW_BAND_STYLE_SET *AECC_SECTION_VIEW_BAND_STYLE_SET;
10225
//    Dwg_Object_AECC_SECTION_VIEW_DATA_BAND_STYLE *AECC_SECTION_VIEW_DATA_BAND_STYLE;
10226
//    Dwg_Object_AECC_SECTION_VIEW_ROAD_SURFACE_BAND_STYLE *AECC_SECTION_VIEW_ROAD_SURFACE_BAND_STYLE;
10227
//    Dwg_Object_AECC_SECTION_VIEW_STYLE *AECC_SECTION_VIEW_STYLE;
10228
//    Dwg_Object_AECC_SETTINGS_NODE *AECC_SETTINGS_NODE;
10229
//    Dwg_Object_AECC_SHEET_STYLE *AECC_SHEET_STYLE;
10230
//    Dwg_Object_AECC_SLOPE_PATTERN_STYLE *AECC_SLOPE_PATTERN_STYLE;
10231
//    Dwg_Object_AECC_STATION_FORMAT_STYLE *AECC_STATION_FORMAT_STYLE;
10232
//    Dwg_Object_AECC_STRUCTURE_RULES *AECC_STRUCTURE_RULES;
10233
//    Dwg_Object_AECC_STUCTURE_STYLE *AECC_STUCTURE_STYLE;
10234
//    Dwg_Object_AECC_SUPERELEVATION_DIAGRAM_VIEW_STYLE *AECC_SUPERELEVATION_DIAGRAM_VIEW_STYLE;
10235
//    Dwg_Object_AECC_SURFACE_STYLE *AECC_SURFACE_STYLE;
10236
//    Dwg_Object_AECC_SVFIGURE_STYLE *AECC_SVFIGURE_STYLE;
10237
//    Dwg_Object_AECC_SVNETWORK_STYLE *AECC_SVNETWORK_STYLE;
10238
//    Dwg_Object_AECC_TABLE_STYLE *AECC_TABLE_STYLE;
10239
//    Dwg_Object_AECC_TAG_MANAGER *AECC_TAG_MANAGER;
10240
//    Dwg_Object_AECC_TREE_NODE *AECC_TREE_NODE;
10241
//    Dwg_Object_AECC_USER_DEFINED_ATTRIBUTE_CLASSIFICATION *AECC_USER_DEFINED_ATTRIBUTE_CLASSIFICATION;
10242
//    Dwg_Object_AECC_VALIGNMENT_STYLE_EXTENSION *AECC_VALIGNMENT_STYLE_EXTENSION;
10243
//    Dwg_Object_AECC_VIEW_FRAME_STYLE *AECC_VIEW_FRAME_STYLE;
10244
//    Dwg_Object_AECS_DISP_PROPS_MEMBER *AECS_DISP_PROPS_MEMBER;
10245
//    Dwg_Object_AECS_DISP_PROPS_MEMBER_LOGICAL *AECS_DISP_PROPS_MEMBER_LOGICAL;
10246
//    Dwg_Object_AECS_DISP_PROPS_MEMBER_PLAN *AECS_DISP_PROPS_MEMBER_PLAN;
10247
//    Dwg_Object_AECS_DISP_PROPS_MEMBER_PLAN_SKETCH *AECS_DISP_PROPS_MEMBER_PLAN_SKETCH;
10248
//    Dwg_Object_AECS_DISP_PROPS_MEMBER_PROJECTED *AECS_DISP_PROPS_MEMBER_PROJECTED;
10249
//    Dwg_Object_AECS_DISP_REP_MEMBER_ELEVATION_DESIGN *AECS_DISP_REP_MEMBER_ELEVATION_DESIGN;
10250
//    Dwg_Object_AECS_DISP_REP_MEMBER_ELEVATION_DETAIL *AECS_DISP_REP_MEMBER_ELEVATION_DETAIL;
10251
//    Dwg_Object_AECS_DISP_REP_MEMBER_LOGICAL *AECS_DISP_REP_MEMBER_LOGICAL;
10252
//    Dwg_Object_AECS_DISP_REP_MEMBER_MODEL_DESIGN *AECS_DISP_REP_MEMBER_MODEL_DESIGN;
10253
//    Dwg_Object_AECS_DISP_REP_MEMBER_MODEL_DETAIL *AECS_DISP_REP_MEMBER_MODEL_DETAIL;
10254
//    Dwg_Object_AECS_DISP_REP_MEMBER_PLAN_DESIGN *AECS_DISP_REP_MEMBER_PLAN_DESIGN;
10255
//    Dwg_Object_AECS_DISP_REP_MEMBER_PLAN_DETAIL *AECS_DISP_REP_MEMBER_PLAN_DETAIL;
10256
//    Dwg_Object_AECS_DISP_REP_MEMBER_PLAN_SKETCH *AECS_DISP_REP_MEMBER_PLAN_SKETCH;
10257
//    Dwg_Object_AECS_MEMBER_NODE_SHAPE *AECS_MEMBER_NODE_SHAPE;
10258
//    Dwg_Object_AECS_MEMBER_STYLE *AECS_MEMBER_STYLE;
10259
//    Dwg_Object_AEC_2DSECTION_STYLE *AEC_2DSECTION_STYLE;
10260
//    Dwg_Object_AEC_AECDBDISPREPBDGELEVLINEPLAN100 *AEC_AECDBDISPREPBDGELEVLINEPLAN100;
10261
//    Dwg_Object_AEC_AECDBDISPREPBDGELEVLINEPLAN50 *AEC_AECDBDISPREPBDGELEVLINEPLAN50;
10262
//    Dwg_Object_AEC_AECDBDISPREPBDGSECTIONLINEPLAN100 *AEC_AECDBDISPREPBDGSECTIONLINEPLAN100;
10263
//    Dwg_Object_AEC_AECDBDISPREPBDGSECTIONLINEPLAN50 *AEC_AECDBDISPREPBDGSECTIONLINEPLAN50;
10264
//    Dwg_Object_AEC_AECDBDISPREPCEILINGGRIDPLAN100 *AEC_AECDBDISPREPCEILINGGRIDPLAN100;
10265
//    Dwg_Object_AEC_AECDBDISPREPCEILINGGRIDPLAN50 *AEC_AECDBDISPREPCEILINGGRIDPLAN50;
10266
//    Dwg_Object_AEC_AECDBDISPREPCOLUMNGRIDPLAN100 *AEC_AECDBDISPREPCOLUMNGRIDPLAN100;
10267
//    Dwg_Object_AEC_AECDBDISPREPCOLUMNGRIDPLAN50 *AEC_AECDBDISPREPCOLUMNGRIDPLAN50;
10268
//    Dwg_Object_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN100 *AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN100;
10269
//    Dwg_Object_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN50 *AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN50;
10270
//    Dwg_Object_AEC_AECDBDISPREPCURTAINWALLUNITPLAN100 *AEC_AECDBDISPREPCURTAINWALLUNITPLAN100;
10271
//    Dwg_Object_AEC_AECDBDISPREPCURTAINWALLUNITPLAN50 *AEC_AECDBDISPREPCURTAINWALLUNITPLAN50;
10272
//    Dwg_Object_AEC_AECDBDISPREPMVBLOCKREFPLAN100 *AEC_AECDBDISPREPMVBLOCKREFPLAN100;
10273
//    Dwg_Object_AEC_AECDBDISPREPMVBLOCKREFPLAN50 *AEC_AECDBDISPREPMVBLOCKREFPLAN50;
10274
//    Dwg_Object_AEC_AECDBDISPREPROOFPLAN100 *AEC_AECDBDISPREPROOFPLAN100;
10275
//    Dwg_Object_AEC_AECDBDISPREPROOFPLAN50 *AEC_AECDBDISPREPROOFPLAN50;
10276
//    Dwg_Object_AEC_AECDBDISPREPROOFSLABPLAN100 *AEC_AECDBDISPREPROOFSLABPLAN100;
10277
//    Dwg_Object_AEC_AECDBDISPREPROOFSLABPLAN50 *AEC_AECDBDISPREPROOFSLABPLAN50;
10278
//    Dwg_Object_AEC_AECDBDISPREPSLABPLAN100 *AEC_AECDBDISPREPSLABPLAN100;
10279
//    Dwg_Object_AEC_AECDBDISPREPSLABPLAN50 *AEC_AECDBDISPREPSLABPLAN50;
10280
//    Dwg_Object_AEC_AECDBDISPREPSPACEPLAN100 *AEC_AECDBDISPREPSPACEPLAN100;
10281
//    Dwg_Object_AEC_AECDBDISPREPSPACEPLAN50 *AEC_AECDBDISPREPSPACEPLAN50;
10282
//    Dwg_Object_AEC_AECDBDISPREPWALLPLAN100 *AEC_AECDBDISPREPWALLPLAN100;
10283
//    Dwg_Object_AEC_AECDBDISPREPWALLPLAN50 *AEC_AECDBDISPREPWALLPLAN50;
10284
//    Dwg_Object_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN100 *AEC_AECDBDISPREPWINDOWASSEMBLYPLAN100;
10285
//    Dwg_Object_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN50 *AEC_AECDBDISPREPWINDOWASSEMBLYPLAN50;
10286
//    Dwg_Object_AEC_AECDBDISPREPZONE100 *AEC_AECDBDISPREPZONE100;
10287
//    Dwg_Object_AEC_AECDBDISPREPZONE50 *AEC_AECDBDISPREPZONE50;
10288
//    Dwg_Object_AEC_AECDBZONEDEF *AEC_AECDBZONEDEF;
10289
//    Dwg_Object_AEC_AECDBZONESTYLE *AEC_AECDBZONESTYLE;
10290
//    Dwg_Object_AEC_ANCHOR_OPENINGBASE_TO_WALL *AEC_ANCHOR_OPENINGBASE_TO_WALL;
10291
//    Dwg_Object_AEC_CLASSIFICATION_DEF *AEC_CLASSIFICATION_DEF;
10292
//    Dwg_Object_AEC_CLASSIFICATION_SYSTEM_DEF *AEC_CLASSIFICATION_SYSTEM_DEF;
10293
//    Dwg_Object_AEC_CLEANUP_GROUP_DEF *AEC_CLEANUP_GROUP_DEF;
10294
//    Dwg_Object_AEC_CURTAIN_WALL_LAYOUT_STYLE *AEC_CURTAIN_WALL_LAYOUT_STYLE;
10295
//    Dwg_Object_AEC_CURTAIN_WALL_UNIT_STYLE *AEC_CURTAIN_WALL_UNIT_STYLE;
10296
//    Dwg_Object_AEC_CVSECTIONVIEW *AEC_CVSECTIONVIEW;
10297
//    Dwg_Object_AEC_DB_DISP_REP_DIM_GROUP_PLAN *AEC_DB_DISP_REP_DIM_GROUP_PLAN;
10298
//    Dwg_Object_AEC_DB_DISP_REP_DIM_GROUP_PLAN100 *AEC_DB_DISP_REP_DIM_GROUP_PLAN100;
10299
//    Dwg_Object_AEC_DB_DISP_REP_DIM_GROUP_PLAN50 *AEC_DB_DISP_REP_DIM_GROUP_PLAN50;
10300
//    Dwg_Object_AEC_DIM_STYLE *AEC_DIM_STYLE;
10301
//    Dwg_Object_AEC_DISPLAYTHEME_STYLE *AEC_DISPLAYTHEME_STYLE;
10302
//    Dwg_Object_AEC_DISPREPAECDBDISPREPMASSELEMPLAN100 *AEC_DISPREPAECDBDISPREPMASSELEMPLAN100;
10303
//    Dwg_Object_AEC_DISPREPAECDBDISPREPMASSELEMPLAN50 *AEC_DISPREPAECDBDISPREPMASSELEMPLAN50;
10304
//    Dwg_Object_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN100 *AEC_DISPREPAECDBDISPREPMASSGROUPPLAN100;
10305
//    Dwg_Object_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN50 *AEC_DISPREPAECDBDISPREPMASSGROUPPLAN50;
10306
//    Dwg_Object_AEC_DISPREPAECDBDISPREPOPENINGPLAN100 *AEC_DISPREPAECDBDISPREPOPENINGPLAN100;
10307
//    Dwg_Object_AEC_DISPREPAECDBDISPREPOPENINGPLAN50 *AEC_DISPREPAECDBDISPREPOPENINGPLAN50;
10308
//    Dwg_Object_AEC_DISPREPAECDBDISPREPOPENINGPLANREFLECTED *AEC_DISPREPAECDBDISPREPOPENINGPLANREFLECTED;
10309
//    Dwg_Object_AEC_DISPREPAECDBDISPREPOPENINGSILLPLAN *AEC_DISPREPAECDBDISPREPOPENINGSILLPLAN;
10310
//    Dwg_Object_AEC_DISPROPSMASSELEMPLANCOMMON *AEC_DISPROPSMASSELEMPLANCOMMON;
10311
//    Dwg_Object_AEC_DISPROPSMASSGROUPPLANCOMMON *AEC_DISPROPSMASSGROUPPLANCOMMON;
10312
//    Dwg_Object_AEC_DISPROPSOPENINGPLANCOMMON *AEC_DISPROPSOPENINGPLANCOMMON;
10313
//    Dwg_Object_AEC_DISPROPSOPENINGPLANCOMMONHATCHED *AEC_DISPROPSOPENINGPLANCOMMONHATCHED;
10314
//    Dwg_Object_AEC_DISPROPSOPENINGSILLPLAN *AEC_DISPROPSOPENINGSILLPLAN;
10315
//    Dwg_Object_AEC_DISP_PROPS_2D_SECTION *AEC_DISP_PROPS_2D_SECTION;
10316
//    Dwg_Object_AEC_DISP_PROPS_CLIP_VOLUME *AEC_DISP_PROPS_CLIP_VOLUME;
10317
//    Dwg_Object_AEC_DISP_PROPS_CLIP_VOLUME_RESULT *AEC_DISP_PROPS_CLIP_VOLUME_RESULT;
10318
//    Dwg_Object_AEC_DISP_PROPS_DIM *AEC_DISP_PROPS_DIM;
10319
//    Dwg_Object_AEC_DISP_PROPS_DISPLAYTHEME *AEC_DISP_PROPS_DISPLAYTHEME;
10320
//    Dwg_Object_AEC_DISP_PROPS_DOOR *AEC_DISP_PROPS_DOOR;
10321
//    Dwg_Object_AEC_DISP_PROPS_DOOR_NOMINAL *AEC_DISP_PROPS_DOOR_NOMINAL;
10322
//    Dwg_Object_AEC_DISP_PROPS_DOOR_PLAN_100 *AEC_DISP_PROPS_DOOR_PLAN_100;
10323
//    Dwg_Object_AEC_DISP_PROPS_DOOR_PLAN_50 *AEC_DISP_PROPS_DOOR_PLAN_50;
10324
//    Dwg_Object_AEC_DISP_PROPS_DOOR_THRESHOLD_PLAN *AEC_DISP_PROPS_DOOR_THRESHOLD_PLAN;
10325
//    Dwg_Object_AEC_DISP_PROPS_DOOR_THRESHOLD_SYMBOL_PLAN *AEC_DISP_PROPS_DOOR_THRESHOLD_SYMBOL_PLAN;
10326
//    Dwg_Object_AEC_DISP_PROPS_EDITINPLACEPROFILE_MODEL *AEC_DISP_PROPS_EDITINPLACEPROFILE_MODEL;
10327
//    Dwg_Object_AEC_DISP_PROPS_ENT *AEC_DISP_PROPS_ENT;
10328
//    Dwg_Object_AEC_DISP_PROPS_ENT_REF *AEC_DISP_PROPS_ENT_REF;
10329
//    Dwg_Object_AEC_DISP_PROPS_GRID_ASSEMBLY_MODEL *AEC_DISP_PROPS_GRID_ASSEMBLY_MODEL;
10330
//    Dwg_Object_AEC_DISP_PROPS_GRID_ASSEMBLY_PLAN *AEC_DISP_PROPS_GRID_ASSEMBLY_PLAN;
10331
//    Dwg_Object_AEC_DISP_PROPS_LAYOUT_CURVE *AEC_DISP_PROPS_LAYOUT_CURVE;
10332
//    Dwg_Object_AEC_DISP_PROPS_LAYOUT_GRID2D *AEC_DISP_PROPS_LAYOUT_GRID2D;
10333
//    Dwg_Object_AEC_DISP_PROPS_LAYOUT_GRID3D *AEC_DISP_PROPS_LAYOUT_GRID3D;
10334
//    Dwg_Object_AEC_DISP_PROPS_MASKBLOCK *AEC_DISP_PROPS_MASKBLOCK;
10335
//    Dwg_Object_AEC_DISP_PROPS_MASS_ELEM_MODEL *AEC_DISP_PROPS_MASS_ELEM_MODEL;
10336
//    Dwg_Object_AEC_DISP_PROPS_MASS_GROUP *AEC_DISP_PROPS_MASS_GROUP;
10337
//    Dwg_Object_AEC_DISP_PROPS_MATERIAL *AEC_DISP_PROPS_MATERIAL;
10338
//    Dwg_Object_AEC_DISP_PROPS_OPENING *AEC_DISP_PROPS_OPENING;
10339
//    Dwg_Object_AEC_DISP_PROPS_POLYGON_MODEL *AEC_DISP_PROPS_POLYGON_MODEL;
10340
//    Dwg_Object_AEC_DISP_PROPS_POLYGON_TRUECOLOUR *AEC_DISP_PROPS_POLYGON_TRUECOLOUR;
10341
//    Dwg_Object_AEC_DISP_PROPS_RAILING_MODEL *AEC_DISP_PROPS_RAILING_MODEL;
10342
//    Dwg_Object_AEC_DISP_PROPS_RAILING_PLAN *AEC_DISP_PROPS_RAILING_PLAN;
10343
//    Dwg_Object_AEC_DISP_PROPS_ROOF *AEC_DISP_PROPS_ROOF;
10344
//    Dwg_Object_AEC_DISP_PROPS_ROOFSLAB *AEC_DISP_PROPS_ROOFSLAB;
10345
//    Dwg_Object_AEC_DISP_PROPS_ROOFSLAB_PLAN *AEC_DISP_PROPS_ROOFSLAB_PLAN;
10346
//    Dwg_Object_AEC_DISP_PROPS_SCHEDULE_TABLE *AEC_DISP_PROPS_SCHEDULE_TABLE;
10347
//    Dwg_Object_AEC_DISP_PROPS_SLAB *AEC_DISP_PROPS_SLAB;
10348
//    Dwg_Object_AEC_DISP_PROPS_SLAB_PLAN *AEC_DISP_PROPS_SLAB_PLAN;
10349
//    Dwg_Object_AEC_DISP_PROPS_SLICE *AEC_DISP_PROPS_SLICE;
10350
//    Dwg_Object_AEC_DISP_PROPS_SPACE_DECOMPOSED *AEC_DISP_PROPS_SPACE_DECOMPOSED;
10351
//    Dwg_Object_AEC_DISP_PROPS_SPACE_MODEL *AEC_DISP_PROPS_SPACE_MODEL;
10352
//    Dwg_Object_AEC_DISP_PROPS_SPACE_PLAN *AEC_DISP_PROPS_SPACE_PLAN;
10353
//    Dwg_Object_AEC_DISP_PROPS_STAIR_MODEL *AEC_DISP_PROPS_STAIR_MODEL;
10354
//    Dwg_Object_AEC_DISP_PROPS_STAIR_PLAN *AEC_DISP_PROPS_STAIR_PLAN;
10355
//    Dwg_Object_AEC_DISP_PROPS_STAIR_PLAN_OVERLAPPING *AEC_DISP_PROPS_STAIR_PLAN_OVERLAPPING;
10356
//    Dwg_Object_AEC_DISP_PROPS_WALL_GRAPH *AEC_DISP_PROPS_WALL_GRAPH;
10357
//    Dwg_Object_AEC_DISP_PROPS_WALL_MODEL *AEC_DISP_PROPS_WALL_MODEL;
10358
//    Dwg_Object_AEC_DISP_PROPS_WALL_PLAN *AEC_DISP_PROPS_WALL_PLAN;
10359
//    Dwg_Object_AEC_DISP_PROPS_WALL_SCHEM *AEC_DISP_PROPS_WALL_SCHEM;
10360
//    Dwg_Object_AEC_DISP_PROPS_WINDOW *AEC_DISP_PROPS_WINDOW;
10361
//    Dwg_Object_AEC_DISP_PROPS_WINDOW_ASSEMBLY_SILL_PLAN *AEC_DISP_PROPS_WINDOW_ASSEMBLY_SILL_PLAN;
10362
//    Dwg_Object_AEC_DISP_PROPS_WINDOW_NOMINAL *AEC_DISP_PROPS_WINDOW_NOMINAL;
10363
//    Dwg_Object_AEC_DISP_PROPS_WINDOW_PLAN_100 *AEC_DISP_PROPS_WINDOW_PLAN_100;
10364
//    Dwg_Object_AEC_DISP_PROPS_WINDOW_PLAN_50 *AEC_DISP_PROPS_WINDOW_PLAN_50;
10365
//    Dwg_Object_AEC_DISP_PROPS_WINDOW_SILL_PLAN *AEC_DISP_PROPS_WINDOW_SILL_PLAN;
10366
//    Dwg_Object_AEC_DISP_PROPS_ZONE *AEC_DISP_PROPS_ZONE;
10367
//    Dwg_Object_AEC_DISP_REP_2D_SECTION *AEC_DISP_REP_2D_SECTION;
10368
//    Dwg_Object_AEC_DISP_REP_ANCHOR *AEC_DISP_REP_ANCHOR;
10369
//    Dwg_Object_AEC_DISP_REP_ANCHOR_BUB_TO_GRID *AEC_DISP_REP_ANCHOR_BUB_TO_GRID;
10370
//    Dwg_Object_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_MODEL *AEC_DISP_REP_ANCHOR_BUB_TO_GRID_MODEL;
10371
//    Dwg_Object_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_RCP *AEC_DISP_REP_ANCHOR_BUB_TO_GRID_RCP;
10372
//    Dwg_Object_AEC_DISP_REP_ANCHOR_ENT_TO_NODE *AEC_DISP_REP_ANCHOR_ENT_TO_NODE;
10373
//    Dwg_Object_AEC_DISP_REP_ANCHOR_EXT_TAG_TO_ENT *AEC_DISP_REP_ANCHOR_EXT_TAG_TO_ENT;
10374
//    Dwg_Object_AEC_DISP_REP_ANCHOR_TAG_TO_ENT *AEC_DISP_REP_ANCHOR_TAG_TO_ENT;
10375
//    Dwg_Object_AEC_DISP_REP_BDG_ELEVLINE_MODEL *AEC_DISP_REP_BDG_ELEVLINE_MODEL;
10376
//    Dwg_Object_AEC_DISP_REP_BDG_ELEVLINE_PLAN *AEC_DISP_REP_BDG_ELEVLINE_PLAN;
10377
//    Dwg_Object_AEC_DISP_REP_BDG_ELEVLINE_RCP *AEC_DISP_REP_BDG_ELEVLINE_RCP;
10378
//    Dwg_Object_AEC_DISP_REP_BDG_SECTIONLINE_MODEL *AEC_DISP_REP_BDG_SECTIONLINE_MODEL;
10379
//    Dwg_Object_AEC_DISP_REP_BDG_SECTIONLINE_PLAN *AEC_DISP_REP_BDG_SECTIONLINE_PLAN;
10380
//    Dwg_Object_AEC_DISP_REP_BDG_SECTIONLINE_RCP *AEC_DISP_REP_BDG_SECTIONLINE_RCP;
10381
//    Dwg_Object_AEC_DISP_REP_BDG_SECTION_MODEL *AEC_DISP_REP_BDG_SECTION_MODEL;
10382
//    Dwg_Object_AEC_DISP_REP_BDG_SECTION_SUBDIV *AEC_DISP_REP_BDG_SECTION_SUBDIV;
10383
//    Dwg_Object_AEC_DISP_REP_CEILING_GRID *AEC_DISP_REP_CEILING_GRID;
10384
//    Dwg_Object_AEC_DISP_REP_CEILING_GRID_MODEL *AEC_DISP_REP_CEILING_GRID_MODEL;
10385
//    Dwg_Object_AEC_DISP_REP_CEILING_GRID_RCP *AEC_DISP_REP_CEILING_GRID_RCP;
10386
//    Dwg_Object_AEC_DISP_REP_CLIP_VOLUME_MODEL *AEC_DISP_REP_CLIP_VOLUME_MODEL;
10387
//    Dwg_Object_AEC_DISP_REP_CLIP_VOLUME_PLAN *AEC_DISP_REP_CLIP_VOLUME_PLAN;
10388
//    Dwg_Object_AEC_DISP_REP_CLIP_VOLUME_RESULT *AEC_DISP_REP_CLIP_VOLUME_RESULT;
10389
//    Dwg_Object_AEC_DISP_REP_CLIP_VOLUME_RESULT_SUBDIV *AEC_DISP_REP_CLIP_VOLUME_RESULT_SUBDIV;
10390
//    Dwg_Object_AEC_DISP_REP_COLUMN_GRID *AEC_DISP_REP_COLUMN_GRID;
10391
//    Dwg_Object_AEC_DISP_REP_COLUMN_GRID_MODEL *AEC_DISP_REP_COLUMN_GRID_MODEL;
10392
//    Dwg_Object_AEC_DISP_REP_COLUMN_GRID_RCP *AEC_DISP_REP_COLUMN_GRID_RCP;
10393
//    Dwg_Object_AEC_DISP_REP_COL_BLOCK *AEC_DISP_REP_COL_BLOCK;
10394
//    Dwg_Object_AEC_DISP_REP_COL_CIRCARC2D *AEC_DISP_REP_COL_CIRCARC2D;
10395
//    Dwg_Object_AEC_DISP_REP_COL_CONCOINCIDENT *AEC_DISP_REP_COL_CONCOINCIDENT;
10396
//    Dwg_Object_AEC_DISP_REP_COL_CONCONCENTRIC *AEC_DISP_REP_COL_CONCONCENTRIC;
10397
//    Dwg_Object_AEC_DISP_REP_COL_CONEQUALDISTANCE *AEC_DISP_REP_COL_CONEQUALDISTANCE;
10398
//    Dwg_Object_AEC_DISP_REP_COL_CONMIDPOINT *AEC_DISP_REP_COL_CONMIDPOINT;
10399
//    Dwg_Object_AEC_DISP_REP_COL_CONNECTOR *AEC_DISP_REP_COL_CONNECTOR;
10400
//    Dwg_Object_AEC_DISP_REP_COL_CONNORMAL *AEC_DISP_REP_COL_CONNORMAL;
10401
//    Dwg_Object_AEC_DISP_REP_COL_CONPARALLEL *AEC_DISP_REP_COL_CONPARALLEL;
10402
//    Dwg_Object_AEC_DISP_REP_COL_CONPERPENDICULAR *AEC_DISP_REP_COL_CONPERPENDICULAR;
10403
//    Dwg_Object_AEC_DISP_REP_COL_CONSYMMETRIC *AEC_DISP_REP_COL_CONSYMMETRIC;
10404
//    Dwg_Object_AEC_DISP_REP_COL_CONTANGENT *AEC_DISP_REP_COL_CONTANGENT;
10405
//    Dwg_Object_AEC_DISP_REP_COL_DIMANGLE *AEC_DISP_REP_COL_DIMANGLE;
10406
//    Dwg_Object_AEC_DISP_REP_COL_DIMDIAMETER *AEC_DISP_REP_COL_DIMDIAMETER;
10407
//    Dwg_Object_AEC_DISP_REP_COL_DIMDISTANCE *AEC_DISP_REP_COL_DIMDISTANCE;
10408
//    Dwg_Object_AEC_DISP_REP_COL_DIMLENGTH *AEC_DISP_REP_COL_DIMLENGTH;
10409
//    Dwg_Object_AEC_DISP_REP_COL_DIMMAJORRADIUS *AEC_DISP_REP_COL_DIMMAJORRADIUS;
10410
//    Dwg_Object_AEC_DISP_REP_COL_DIMMINORRADIUS *AEC_DISP_REP_COL_DIMMINORRADIUS;
10411
//    Dwg_Object_AEC_DISP_REP_COL_ELLIPARC2D *AEC_DISP_REP_COL_ELLIPARC2D;
10412
//    Dwg_Object_AEC_DISP_REP_COL_LAYOUTDATA *AEC_DISP_REP_COL_LAYOUTDATA;
10413
//    Dwg_Object_AEC_DISP_REP_COL_LINE2D *AEC_DISP_REP_COL_LINE2D;
10414
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_ADD *AEC_DISP_REP_COL_MODIFIER_ADD;
10415
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_CUTPLANE *AEC_DISP_REP_COL_MODIFIER_CUTPLANE;
10416
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_EXTRUSION *AEC_DISP_REP_COL_MODIFIER_EXTRUSION;
10417
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_GROUP *AEC_DISP_REP_COL_MODIFIER_GROUP;
10418
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_LOFT *AEC_DISP_REP_COL_MODIFIER_LOFT;
10419
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_PATH *AEC_DISP_REP_COL_MODIFIER_PATH;
10420
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_REVOLVE *AEC_DISP_REP_COL_MODIFIER_REVOLVE;
10421
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_SUBTRACT *AEC_DISP_REP_COL_MODIFIER_SUBTRACT;
10422
//    Dwg_Object_AEC_DISP_REP_COL_MODIFIER_TRANSITION *AEC_DISP_REP_COL_MODIFIER_TRANSITION;
10423
//    Dwg_Object_AEC_DISP_REP_COL_POINT2D *AEC_DISP_REP_COL_POINT2D;
10424
//    Dwg_Object_AEC_DISP_REP_COL_PROFILE *AEC_DISP_REP_COL_PROFILE;
10425
//    Dwg_Object_AEC_DISP_REP_COL_WORKPLANE *AEC_DISP_REP_COL_WORKPLANE;
10426
//    Dwg_Object_AEC_DISP_REP_COL_WORKPLANE_REF *AEC_DISP_REP_COL_WORKPLANE_REF;
10427
//    Dwg_Object_AEC_DISP_REP_CONFIG *AEC_DISP_REP_CONFIG;
10428
//    Dwg_Object_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_MODEL *AEC_DISP_REP_CURTAIN_WALL_LAYOUT_MODEL;
10429
//    Dwg_Object_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_PLAN *AEC_DISP_REP_CURTAIN_WALL_LAYOUT_PLAN;
10430
//    Dwg_Object_AEC_DISP_REP_CURTAIN_WALL_UNIT_MODEL *AEC_DISP_REP_CURTAIN_WALL_UNIT_MODEL;
10431
//    Dwg_Object_AEC_DISP_REP_CURTAIN_WALL_UNIT_PLAN *AEC_DISP_REP_CURTAIN_WALL_UNIT_PLAN;
10432
//    Dwg_Object_AEC_DISP_REP_DCM_DIMRADIUS *AEC_DISP_REP_DCM_DIMRADIUS;
10433
//    Dwg_Object_AEC_DISP_REP_DISPLAYTHEME *AEC_DISP_REP_DISPLAYTHEME;
10434
//    Dwg_Object_AEC_DISP_REP_DOOR_ELEV *AEC_DISP_REP_DOOR_ELEV;
10435
//    Dwg_Object_AEC_DISP_REP_DOOR_MODEL *AEC_DISP_REP_DOOR_MODEL;
10436
//    Dwg_Object_AEC_DISP_REP_DOOR_NOMINAL *AEC_DISP_REP_DOOR_NOMINAL;
10437
//    Dwg_Object_AEC_DISP_REP_DOOR_PLAN *AEC_DISP_REP_DOOR_PLAN;
10438
//    Dwg_Object_AEC_DISP_REP_DOOR_PLAN_50 *AEC_DISP_REP_DOOR_PLAN_50;
10439
//    Dwg_Object_AEC_DISP_REP_DOOR_PLAN_HEKTO *AEC_DISP_REP_DOOR_PLAN_HEKTO;
10440
//    Dwg_Object_AEC_DISP_REP_DOOR_RCP *AEC_DISP_REP_DOOR_RCP;
10441
//    Dwg_Object_AEC_DISP_REP_DOOR_THRESHOLD_PLAN *AEC_DISP_REP_DOOR_THRESHOLD_PLAN;
10442
//    Dwg_Object_AEC_DISP_REP_DOOR_THRESHOLD_SYMBOL_PLAN *AEC_DISP_REP_DOOR_THRESHOLD_SYMBOL_PLAN;
10443
//    Dwg_Object_AEC_DISP_REP_EDITINPLACEPROFILE *AEC_DISP_REP_EDITINPLACEPROFILE;
10444
//    Dwg_Object_AEC_DISP_REP_ENT_REF *AEC_DISP_REP_ENT_REF;
10445
//    Dwg_Object_AEC_DISP_REP_LAYOUT_CURVE *AEC_DISP_REP_LAYOUT_CURVE;
10446
//    Dwg_Object_AEC_DISP_REP_LAYOUT_GRID2D *AEC_DISP_REP_LAYOUT_GRID2D;
10447
//    Dwg_Object_AEC_DISP_REP_LAYOUT_GRID3D *AEC_DISP_REP_LAYOUT_GRID3D;
10448
//    Dwg_Object_AEC_DISP_REP_MASKBLOCK_REF *AEC_DISP_REP_MASKBLOCK_REF;
10449
//    Dwg_Object_AEC_DISP_REP_MASKBLOCK_REF_RCP *AEC_DISP_REP_MASKBLOCK_REF_RCP;
10450
//    Dwg_Object_AEC_DISP_REP_MASS_ELEM_MODEL *AEC_DISP_REP_MASS_ELEM_MODEL;
10451
//    Dwg_Object_AEC_DISP_REP_MASS_ELEM_RCP *AEC_DISP_REP_MASS_ELEM_RCP;
10452
//    Dwg_Object_AEC_DISP_REP_MASS_ELEM_SCHEM *AEC_DISP_REP_MASS_ELEM_SCHEM;
10453
//    Dwg_Object_AEC_DISP_REP_MASS_GROUP_MODEL *AEC_DISP_REP_MASS_GROUP_MODEL;
10454
//    Dwg_Object_AEC_DISP_REP_MASS_GROUP_PLAN *AEC_DISP_REP_MASS_GROUP_PLAN;
10455
//    Dwg_Object_AEC_DISP_REP_MASS_GROUP_RCP *AEC_DISP_REP_MASS_GROUP_RCP;
10456
//    Dwg_Object_AEC_DISP_REP_MATERIAL *AEC_DISP_REP_MATERIAL;
10457
//    Dwg_Object_AEC_DISP_REP_MVBLOCK_REF *AEC_DISP_REP_MVBLOCK_REF;
10458
//    Dwg_Object_AEC_DISP_REP_MVBLOCK_REF_MODEL *AEC_DISP_REP_MVBLOCK_REF_MODEL;
10459
//    Dwg_Object_AEC_DISP_REP_MVBLOCK_REF_RCP *AEC_DISP_REP_MVBLOCK_REF_RCP;
10460
//    Dwg_Object_AEC_DISP_REP_OPENING *AEC_DISP_REP_OPENING;
10461
//    Dwg_Object_AEC_DISP_REP_OPENING_MODEL *AEC_DISP_REP_OPENING_MODEL;
10462
//    Dwg_Object_AEC_DISP_REP_POLYGON_MODEL *AEC_DISP_REP_POLYGON_MODEL;
10463
//    Dwg_Object_AEC_DISP_REP_POLYGON_TRUECOLOUR *AEC_DISP_REP_POLYGON_TRUECOLOUR;
10464
//    Dwg_Object_AEC_DISP_REP_RAILING_MODEL *AEC_DISP_REP_RAILING_MODEL;
10465
//    Dwg_Object_AEC_DISP_REP_RAILING_PLAN *AEC_DISP_REP_RAILING_PLAN;
10466
//    Dwg_Object_AEC_DISP_REP_RAILING_PLAN_100 *AEC_DISP_REP_RAILING_PLAN_100;
10467
//    Dwg_Object_AEC_DISP_REP_RAILING_PLAN_50 *AEC_DISP_REP_RAILING_PLAN_50;
10468
//    Dwg_Object_AEC_DISP_REP_ROOFSLAB_MODEL *AEC_DISP_REP_ROOFSLAB_MODEL;
10469
//    Dwg_Object_AEC_DISP_REP_ROOFSLAB_PLAN *AEC_DISP_REP_ROOFSLAB_PLAN;
10470
//    Dwg_Object_AEC_DISP_REP_ROOF_MODEL *AEC_DISP_REP_ROOF_MODEL;
10471
//    Dwg_Object_AEC_DISP_REP_ROOF_PLAN *AEC_DISP_REP_ROOF_PLAN;
10472
//    Dwg_Object_AEC_DISP_REP_ROOF_RCP *AEC_DISP_REP_ROOF_RCP;
10473
//    Dwg_Object_AEC_DISP_REP_SCHEDULE_TABLE *AEC_DISP_REP_SCHEDULE_TABLE;
10474
//    Dwg_Object_AEC_DISP_REP_SET *AEC_DISP_REP_SET;
10475
//    Dwg_Object_AEC_DISP_REP_SLAB_MODEL *AEC_DISP_REP_SLAB_MODEL;
10476
//    Dwg_Object_AEC_DISP_REP_SLAB_PLAN *AEC_DISP_REP_SLAB_PLAN;
10477
//    Dwg_Object_AEC_DISP_REP_SLICE *AEC_DISP_REP_SLICE;
10478
//    Dwg_Object_AEC_DISP_REP_SPACE_DECOMPOSED *AEC_DISP_REP_SPACE_DECOMPOSED;
10479
//    Dwg_Object_AEC_DISP_REP_SPACE_MODEL *AEC_DISP_REP_SPACE_MODEL;
10480
//    Dwg_Object_AEC_DISP_REP_SPACE_PLAN *AEC_DISP_REP_SPACE_PLAN;
10481
//    Dwg_Object_AEC_DISP_REP_SPACE_RCP *AEC_DISP_REP_SPACE_RCP;
10482
//    Dwg_Object_AEC_DISP_REP_SPACE_VOLUME *AEC_DISP_REP_SPACE_VOLUME;
10483
//    Dwg_Object_AEC_DISP_REP_STAIR_MODEL *AEC_DISP_REP_STAIR_MODEL;
10484
//    Dwg_Object_AEC_DISP_REP_STAIR_PLAN *AEC_DISP_REP_STAIR_PLAN;
10485
//    Dwg_Object_AEC_DISP_REP_STAIR_PLAN_100 *AEC_DISP_REP_STAIR_PLAN_100;
10486
//    Dwg_Object_AEC_DISP_REP_STAIR_PLAN_50 *AEC_DISP_REP_STAIR_PLAN_50;
10487
//    Dwg_Object_AEC_DISP_REP_STAIR_PLAN_OVERLAPPING *AEC_DISP_REP_STAIR_PLAN_OVERLAPPING;
10488
//    Dwg_Object_AEC_DISP_REP_STAIR_RCP *AEC_DISP_REP_STAIR_RCP;
10489
//    Dwg_Object_AEC_DISP_REP_WALL_GRAPH *AEC_DISP_REP_WALL_GRAPH;
10490
//    Dwg_Object_AEC_DISP_REP_WALL_MODEL *AEC_DISP_REP_WALL_MODEL;
10491
//    Dwg_Object_AEC_DISP_REP_WALL_PLAN *AEC_DISP_REP_WALL_PLAN;
10492
//    Dwg_Object_AEC_DISP_REP_WALL_RCP *AEC_DISP_REP_WALL_RCP;
10493
//    Dwg_Object_AEC_DISP_REP_WALL_SCHEM *AEC_DISP_REP_WALL_SCHEM;
10494
//    Dwg_Object_AEC_DISP_REP_WINDOWASSEMBLY_SILL_PLAN *AEC_DISP_REP_WINDOWASSEMBLY_SILL_PLAN;
10495
//    Dwg_Object_AEC_DISP_REP_WINDOW_ASSEMBLY_MODEL *AEC_DISP_REP_WINDOW_ASSEMBLY_MODEL;
10496
//    Dwg_Object_AEC_DISP_REP_WINDOW_ASSEMBLY_PLAN *AEC_DISP_REP_WINDOW_ASSEMBLY_PLAN;
10497
//    Dwg_Object_AEC_DISP_REP_WINDOW_ELEV *AEC_DISP_REP_WINDOW_ELEV;
10498
//    Dwg_Object_AEC_DISP_REP_WINDOW_MODEL *AEC_DISP_REP_WINDOW_MODEL;
10499
//    Dwg_Object_AEC_DISP_REP_WINDOW_NOMINAL *AEC_DISP_REP_WINDOW_NOMINAL;
10500
//    Dwg_Object_AEC_DISP_REP_WINDOW_PLAN *AEC_DISP_REP_WINDOW_PLAN;
10501
//    Dwg_Object_AEC_DISP_REP_WINDOW_PLAN_100 *AEC_DISP_REP_WINDOW_PLAN_100;
10502
//    Dwg_Object_AEC_DISP_REP_WINDOW_PLAN_50 *AEC_DISP_REP_WINDOW_PLAN_50;
10503
//    Dwg_Object_AEC_DISP_REP_WINDOW_RCP *AEC_DISP_REP_WINDOW_RCP;
10504
//    Dwg_Object_AEC_DISP_REP_WINDOW_SILL_PLAN *AEC_DISP_REP_WINDOW_SILL_PLAN;
10505
//    Dwg_Object_AEC_DISP_REP_ZONE *AEC_DISP_REP_ZONE;
10506
//    Dwg_Object_AEC_DISP_ROPS_RAILING_PLAN_100 *AEC_DISP_ROPS_RAILING_PLAN_100;
10507
//    Dwg_Object_AEC_DISP_ROPS_RAILING_PLAN_50 *AEC_DISP_ROPS_RAILING_PLAN_50;
10508
//    Dwg_Object_AEC_DISP_ROPS_STAIR_PLAN_100 *AEC_DISP_ROPS_STAIR_PLAN_100;
10509
//    Dwg_Object_AEC_DISP_ROPS_STAIR_PLAN_50 *AEC_DISP_ROPS_STAIR_PLAN_50;
10510
//    Dwg_Object_AEC_DOOR_STYLE *AEC_DOOR_STYLE;
10511
//    Dwg_Object_AEC_ENDCAP_STYLE *AEC_ENDCAP_STYLE;
10512
//    Dwg_Object_AEC_FRAME_DEF *AEC_FRAME_DEF;
10513
//    Dwg_Object_AEC_LAYERKEY_STYLE *AEC_LAYERKEY_STYLE;
10514
//    Dwg_Object_AEC_LIST_DEF *AEC_LIST_DEF;
10515
//    Dwg_Object_AEC_MASKBLOCK_DEF *AEC_MASKBLOCK_DEF;
10516
//    Dwg_Object_AEC_MASS_ELEM_STYLE *AEC_MASS_ELEM_STYLE;
10517
//    Dwg_Object_AEC_MATERIAL_DEF *AEC_MATERIAL_DEF;
10518
//    Dwg_Object_AEC_MVBLOCK_DEF *AEC_MVBLOCK_DEF;
10519
//    Dwg_Object_AEC_MVBLOCK_REF *AEC_MVBLOCK_REF;
10520
//    Dwg_Object_AEC_NOTIFICATION_TRACKER *AEC_NOTIFICATION_TRACKER;
10521
//    Dwg_Object_AEC_POLYGON *AEC_POLYGON;
10522
//    Dwg_Object_AEC_POLYGON_STYLE *AEC_POLYGON_STYLE;
10523
//    Dwg_Object_AEC_PROPERTY_SET_DEF *AEC_PROPERTY_SET_DEF;
10524
//    Dwg_Object_AEC_RAILING_STYLE *AEC_RAILING_STYLE;
10525
//    Dwg_Object_AEC_REFEDIT_STATUS_TRACKER *AEC_REFEDIT_STATUS_TRACKER;
10526
//    Dwg_Object_AEC_ROOFSLABEDGE_STYLE *AEC_ROOFSLABEDGE_STYLE;
10527
//    Dwg_Object_AEC_ROOFSLAB_STYLE *AEC_ROOFSLAB_STYLE;
10528
//    Dwg_Object_AEC_SCHEDULE_DATA_FORMAT *AEC_SCHEDULE_DATA_FORMAT;
10529
//    Dwg_Object_AEC_SLABEDGE_STYLE *AEC_SLABEDGE_STYLE;
10530
//    Dwg_Object_AEC_SLAB_STYLE *AEC_SLAB_STYLE;
10531
//    Dwg_Object_AEC_SPACE_STYLES *AEC_SPACE_STYLES;
10532
//    Dwg_Object_AEC_STAIR_STYLE *AEC_STAIR_STYLE;
10533
//    Dwg_Object_AEC_STAIR_WINDER_STYLE *AEC_STAIR_WINDER_STYLE;
10534
//    Dwg_Object_AEC_STAIR_WINDER_TYPE_BALANCED *AEC_STAIR_WINDER_TYPE_BALANCED;
10535
//    Dwg_Object_AEC_STAIR_WINDER_TYPE_MANUAL *AEC_STAIR_WINDER_TYPE_MANUAL;
10536
//    Dwg_Object_AEC_STAIR_WINDER_TYPE_SINGLE_POINT *AEC_STAIR_WINDER_TYPE_SINGLE_POINT;
10537
//    Dwg_Object_AEC_VARS_AECBBLDSRV *AEC_VARS_AECBBLDSRV;
10538
//    Dwg_Object_AEC_VARS_ARCHBASE *AEC_VARS_ARCHBASE;
10539
//    Dwg_Object_AEC_VARS_DWG_SETUP *AEC_VARS_DWG_SETUP;
10540
//    Dwg_Object_AEC_VARS_MUNICH *AEC_VARS_MUNICH;
10541
//    Dwg_Object_AEC_VARS_STRUCTUREBASE *AEC_VARS_STRUCTUREBASE;
10542
//    Dwg_Object_AEC_WALLMOD_STYLE *AEC_WALLMOD_STYLE;
10543
//    Dwg_Object_AEC_WALL_STYLE *AEC_WALL_STYLE;
10544
//    Dwg_Object_AEC_WINDOW_ASSEMBLY_STYLE *AEC_WINDOW_ASSEMBLY_STYLE;
10545
//    Dwg_Object_AEC_WINDOW_STYLE *AEC_WINDOW_STYLE;
10546
//    Dwg_Object_ALIGNMENTGRIPENTITY *ALIGNMENTGRIPENTITY;
10547
//    Dwg_Object_AMCONTEXTMGR *AMCONTEXTMGR;
10548
//    Dwg_Object_AMDTADMENUSTATE *AMDTADMENUSTATE;
10549
//    Dwg_Object_AMDTAMMENUSTATE *AMDTAMMENUSTATE;
10550
//    Dwg_Object_AMDTBROWSERDBTAB *AMDTBROWSERDBTAB;
10551
//    Dwg_Object_AMDTDMMENUSTATE *AMDTDMMENUSTATE;
10552
//    Dwg_Object_AMDTEDGESTANDARDDIN *AMDTEDGESTANDARDDIN;
10553
//    Dwg_Object_AMDTEDGESTANDARDDIN13715 *AMDTEDGESTANDARDDIN13715;
10554
//    Dwg_Object_AMDTEDGESTANDARDISO *AMDTEDGESTANDARDISO;
10555
//    Dwg_Object_AMDTEDGESTANDARDISO13715 *AMDTEDGESTANDARDISO13715;
10556
//    Dwg_Object_AMDTFORMULAUPDATEDISPATCHER *AMDTFORMULAUPDATEDISPATCHER;
10557
//    Dwg_Object_AMDTINTERNALREACTOR *AMDTINTERNALREACTOR;
10558
//    Dwg_Object_AMDTMCOMMENUSTATE *AMDTMCOMMENUSTATE;
10559
//    Dwg_Object_AMDTMENUSTATEMGR *AMDTMENUSTATEMGR;
10560
//    Dwg_Object_AMDTNOTE *AMDTNOTE;
10561
//    Dwg_Object_AMDTNOTETEMPLATEDB *AMDTNOTETEMPLATEDB;
10562
//    Dwg_Object_AMDTSECTIONSYM *AMDTSECTIONSYM;
10563
//    Dwg_Object_AMDTSECTIONSYMLABEL *AMDTSECTIONSYMLABEL;
10564
//    Dwg_Object_AMDTSYSATTR *AMDTSYSATTR;
10565
//    Dwg_Object_AMGOBJPROPCFG *AMGOBJPROPCFG;
10566
//    Dwg_Object_AMGSETTINGSOBJ *AMGSETTINGSOBJ;
10567
//    Dwg_Object_AMIMASTER *AMIMASTER;
10568
//    Dwg_Object_AM_DRAWING_MGR *AM_DRAWING_MGR;
10569
//    Dwg_Object_AM_DWGMGR_NAME *AM_DWGMGR_NAME;
10570
//    Dwg_Object_AM_DWG_DOCUMENT *AM_DWG_DOCUMENT;
10571
//    Dwg_Object_AM_DWG_SHEET *AM_DWG_SHEET;
10572
//    Dwg_Object_AM_VIEWDIMPARMAP *AM_VIEWDIMPARMAP;
10573
//    Dwg_Object_BINRECORD *BINRECORD;
10574
//    Dwg_Object_CAMSCATALOGAPPOBJECT *CAMSCATALOGAPPOBJECT;
10575
//    Dwg_Object_CAMSSTRUCTBTNSTATE *CAMSSTRUCTBTNSTATE;
10576
//    Dwg_Object_CATALOGSTATE *CATALOGSTATE;
10577
//    Dwg_Object_CBROWSERAPPOBJECT *CBROWSERAPPOBJECT;
10578
//    Dwg_Object_DEPMGR *DEPMGR;
10579
//    Dwg_Object_DMBASEELEMENT *DMBASEELEMENT;
10580
//    Dwg_Object_DMDEFAULTSTYLE *DMDEFAULTSTYLE;
10581
//    Dwg_Object_DMLEGEND *DMLEGEND;
10582
//    Dwg_Object_DMMAP *DMMAP;
10583
//    Dwg_Object_DMMAPMANAGER *DMMAPMANAGER;
10584
//    Dwg_Object_DMSTYLECATEGORY *DMSTYLECATEGORY;
10585
//    Dwg_Object_DMSTYLELIBRARY *DMSTYLELIBRARY;
10586
//    Dwg_Object_DMSTYLEREFERENCE *DMSTYLEREFERENCE;
10587
//    Dwg_Object_DMSTYLIZEDENTITIESTABLE *DMSTYLIZEDENTITIESTABLE;
10588
//    Dwg_Object_DMSURROGATESTYLESETS *DMSURROGATESTYLESETS;
10589
//    Dwg_Object_DM_PLACEHOLDER *DM_PLACEHOLDER;
10590
//    Dwg_Object_EXACTERMXREFMAP *EXACTERMXREFMAP;
10591
//    Dwg_Object_EXACXREFPANELOBJECT *EXACXREFPANELOBJECT;
10592
//    Dwg_Object_EXPO_NOTIFYBLOCK *EXPO_NOTIFYBLOCK;
10593
//    Dwg_Object_EXPO_NOTIFYHALL *EXPO_NOTIFYHALL;
10594
//    Dwg_Object_EXPO_NOTIFYPILLAR *EXPO_NOTIFYPILLAR;
10595
//    Dwg_Object_EXPO_NOTIFYSTAND *EXPO_NOTIFYSTAND;
10596
//    Dwg_Object_EXPO_NOTIFYSTANDNOPOLY *EXPO_NOTIFYSTANDNOPOLY;
10597
//    Dwg_Object_FLIPACTIONENTITY *FLIPACTIONENTITY;
10598
//    Dwg_Object_GSMANAGER *GSMANAGER;
10599
//    Dwg_Object_IRD_DSC_DICT *IRD_DSC_DICT;
10600
//    Dwg_Object_IRD_DSC_RECORD *IRD_DSC_RECORD;
10601
//    Dwg_Object_IRD_OBJ_RECORD *IRD_OBJ_RECORD;
10602
//    Dwg_Object_MAPFSMRVOBJECT *MAPFSMRVOBJECT;
10603
//    Dwg_Object_MAPGWSUNDOOBJECT *MAPGWSUNDOOBJECT;
10604
//    Dwg_Object_MAPIAMMOUDLE *MAPIAMMOUDLE;
10605
//    Dwg_Object_MAPMETADATAOBJECT *MAPMETADATAOBJECT;
10606
//    Dwg_Object_MAPRESOURCEMANAGEROBJECT *MAPRESOURCEMANAGEROBJECT;
10607
//    Dwg_Object_MOVEACTIONENTITY *MOVEACTIONENTITY;
10608
//    Dwg_Object_McDbContainer2 *McDbContainer2;
10609
//    Dwg_Object_McDbMarker *McDbMarker;
10610
//    Dwg_Object_NAMEDAPPL *NAMEDAPPL;
10611
//    Dwg_Object_NEWSTDPARTPARLIST *NEWSTDPARTPARLIST;
10612
//    Dwg_Object_NPOCOLLECTION *NPOCOLLECTION;
10613
//    Dwg_Object_OBJCLONER *OBJCLONER;
10614
//    Dwg_Object_PARAMMGR *PARAMMGR;
10615
//    Dwg_Object_PARAMSCOPE *PARAMSCOPE;
10616
//    Dwg_Object_PILLAR *PILLAR;
10617
//    Dwg_Object_RAPIDRTRENDERENVIRONMENT *RAPIDRTRENDERENVIRONMENT;
10618
//    Dwg_Object_ROTATEACTIONENTITY *ROTATEACTIONENTITY;
10619
//    Dwg_Object_SCALEACTIONENTITY *SCALEACTIONENTITY;
10620
//    Dwg_Object_STDPART2D *STDPART2D;
10621
//    Dwg_Object_STRETCHACTIONENTITY *STRETCHACTIONENTITY;
10622
//    Dwg_Object_TCH_ARROW *TCH_ARROW;
10623
//    Dwg_Object_TCH_AXIS_LABEL *TCH_AXIS_LABEL;
10624
//    Dwg_Object_TCH_BLOCK_INSERT *TCH_BLOCK_INSERT;
10625
//    Dwg_Object_TCH_COLUMN *TCH_COLUMN;
10626
//    Dwg_Object_TCH_DBCONFIG *TCH_DBCONFIG;
10627
//    Dwg_Object_TCH_DIMENSION2 *TCH_DIMENSION2;
10628
//    Dwg_Object_TCH_DRAWINGINDEX *TCH_DRAWINGINDEX;
10629
//    Dwg_Object_TCH_HANDRAIL *TCH_HANDRAIL;
10630
//    Dwg_Object_TCH_LINESTAIR *TCH_LINESTAIR;
10631
//    Dwg_Object_TCH_OPENING *TCH_OPENING;
10632
//    Dwg_Object_TCH_RECTSTAIR *TCH_RECTSTAIR;
10633
//    Dwg_Object_TCH_SLAB *TCH_SLAB;
10634
//    Dwg_Object_TCH_SPACE *TCH_SPACE;
10635
//    Dwg_Object_TCH_TEXT *TCH_TEXT;
10636
//    Dwg_Object_TCH_WALL *TCH_WALL;
10637
//    Dwg_Object_TGrupoPuntos *TGrupoPuntos;
10638
//    Dwg_Object_VAACIMAGEINVENTORY *VAACIMAGEINVENTORY;
10639
//    Dwg_Object_VAACXREFPANELOBJECT *VAACXREFPANELOBJECT;
10640
//    Dwg_Object_XREFPANELOBJECT *XREFPANELOBJECT;
10641
    // clang-format: off
10642
    /* End auto-generated object-union */
10643
    // clang-format on
10644
  } tio;
10645
10646
  struct _dwg_struct *dwg;
10647
  BITCODE_BL num_eed;
10648
  Dwg_Eed *eed;
10649
10650
  /* Common Object Data */
10651
  BITCODE_H ownerhandle;        /*!< code 5, DXF 330 */
10652
  BITCODE_BL num_reactors;
10653
  BITCODE_H* reactors;          /*!< r13+ code 4, DXF 102 {ACAD_XDICTIONARY, 330 */
10654
  BITCODE_H xdicobjhandle;      /*!< r13+ code 3, DXF 102 {ACAD_REACTORS, 360 */
10655
  BITCODE_B is_xdic_missing;    /*!< r2004+ */
10656
  BITCODE_B has_ds_data;        /*!< r2013+  AcDs datastore */
10657
10658
  /*unsigned int num_handles;*/
10659
  Dwg_Handle *handleref; //??
10660
} Dwg_Object_Object;
10661
10662
/**
10663
 Classes
10664
 */
10665
typedef struct _dwg_class
10666
{
10667
  BITCODE_BS number; /*!< starting with 500 */
10668
  /* see http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf */
10669
  BITCODE_BS proxyflag; /*!<
10670
      erase allowed = 1,
10671
      transform allowed = 2,
10672
      color change allowed = 4,
10673
      layer change allowed = 8,
10674
      LTYPE change allowed = 16,
10675
      LTYPE.scale change allowed = 32,
10676
      visibility change allowed = 64,
10677
      cloning allowed = 128,
10678
      Lineweight change allowed = 256,
10679
      PLOTSTYLE Name change allowed = 512,
10680
      Disables proxy warning dialog = 1024,
10681
      is R13 format proxy = 32768 */
10682
  char *appname;
10683
  char *cppname;
10684
  char *dxfname; /*!< ASCII or UTF-8 */
10685
  BITCODE_TU dxfname_u; /*!< r2007+, always transformed to dxfname as UTF-8 */
10686
  BITCODE_B  is_zombie; /*!< i.e. was_proxy, not loaded class */
10687
  BITCODE_BS item_class_id; /*!< really is_entity. 1f2 for entities, 1f3 for objects */
10688
  BITCODE_BL num_instances; /*!< 91 instance count for a custom class */
10689
  BITCODE_BL dwg_version;
10690
  BITCODE_BL maint_version;
10691
  BITCODE_BL unknown_1; /*!< def: 0L */
10692
  BITCODE_BL unknown_2; /*!< def: 0L */
10693
} Dwg_Class;
10694
10695
/**
10696
 General DWG object with link to either entity or object, and as parent the DWG
10697
 */
10698
typedef struct _dwg_object
10699
{
10700
  BITCODE_RL size;       /*!< in bytes */
10701
  size_t address;  /*!< byte offset in the file */
10702
  BITCODE_BS type;       /*!< fixed or variable (class - 500) */
10703
  BITCODE_RL index;      /*!< into dwg->object[] */
10704
  enum DWG_OBJECT_TYPE fixedtype; /*!< into a global list */
10705
  char *name;            /*!< our public entity/object name */
10706
  char *dxfname;         /*!< the internal dxf classname, often with a ACDB prefix */
10707
10708
  Dwg_Object_Supertype supertype;
10709
  union
10710
  {
10711
    Dwg_Object_Entity *entity;
10712
    Dwg_Object_Object *object;
10713
  } tio;
10714
10715
  Dwg_Handle handle;
10716
  struct _dwg_struct *parent;
10717
  Dwg_Class *klass;          /* the optional class of a variable object */
10718
10719
  BITCODE_RL bitsize;        /* common + object fields, but no handles */
10720
  size_t bitsize_pos; /* bitsize offset in bits: r13-2007 */
10721
  size_t hdlpos;      /* relative offset, in bits */
10722
  BITCODE_B  was_bitsize_set;    /* internally for encode only */
10723
  BITCODE_B  has_strings;        /*!< r2007+ */
10724
  BITCODE_RL stringstream_size;  /*!< r2007+ in bits, unused */
10725
  BITCODE_UMC handlestream_size; /*!< r2010+ in bits */
10726
  size_t common_size; /* relative offset from type ... end common_entity_data */
10727
10728
  BITCODE_RL num_unknown_bits;
10729
  BITCODE_TF unknown_bits; // replacing the full object
10730
  BITCODE_RL num_unknown_rest;
10731
  BITCODE_TF unknown_rest; // just the rest
10732
10733
} Dwg_Object;
10734
10735
/**
10736
 Dwg_Chain similar to Bit_Chain in "bits.h". Used only for the Thumbnail thumbnail
10737
 */
10738
typedef struct _dwg_chain
10739
{
10740
  unsigned char *chain;
10741
  size_t size;
10742
  size_t byte;
10743
  unsigned char bit;
10744
  /* NOT:
10745
  unsigned char opts;
10746
  Dwg_Version_Type version;
10747
  Dwg_Version_Type from_version;
10748
  FILE *fh;
10749
  BITCODE_RS codepage;
10750
  */
10751
} Dwg_Chain;
10752
10753
typedef enum DWG_SECTION_TYPE /* since r2004+ */
10754
{
10755
  SECTION_UNKNOWN = 0,                  /* FILEHEADER, the very first 160 byte? */
10756
  SECTION_HEADER = 1,                   /* AcDb:Header */
10757
  SECTION_AUXHEADER = 2,                /* AcDb:AuxHeader */
10758
  SECTION_CLASSES = 3,                  /* AcDb:Classes */
10759
  SECTION_HANDLES = 4,                  /* AcDb:Handles */
10760
  SECTION_TEMPLATE = 5,                 /* AcDb:Template */
10761
  SECTION_OBJFREESPACE = 6,             /* AcDb:ObjFreeSpace */
10762
  SECTION_OBJECTS = 7,                  /* AcDb:AcDbObjects */
10763
  SECTION_REVHISTORY = 8,               /* AcDb:RevHistory */
10764
  SECTION_SUMMARYINFO = 9,              /* AcDb:SummaryInfo */
10765
  SECTION_PREVIEW = 10,                 /* AcDb:Preview */
10766
  SECTION_APPINFO = 11,                 /* AcDb:AppInfo */
10767
  SECTION_APPINFOHISTORY = 12,          /* AcDb:AppInfoHistory */
10768
  SECTION_FILEDEPLIST = 13,             /* AcDb:FileDepList */
10769
  SECTION_SECURITY,                     /* AcDb:Security, if stored with a password */
10770
  SECTION_VBAPROJECT,                   /* AcDb:VBAProject */
10771
  SECTION_SIGNATURE,                    /* AcDb:Signature */
10772
  SECTION_ACDS,                         /* AcDb:AcDsPrototype_1b = 12 (ACIS datastorage) */
10773
  SECTION_INFO,                         /* also called Data Section, or Section Page Map (ODA) */
10774
  SECTION_SYSTEM_MAP,
10775
} Dwg_Section_Type;
10776
10777
/* r13 - r2000 */
10778
typedef enum DWG_SECTION_TYPE_R13
10779
{
10780
  SECTION_HEADER_R13 = 0,
10781
  SECTION_CLASSES_R13 = 1,
10782
  SECTION_HANDLES_R13 = 2,
10783
  SECTION_OBJFREESPACE_R13 = 3, /* including the 2ndheader */
10784
  SECTION_TEMPLATE_R13 = 4,
10785
  SECTION_AUXHEADER_R2000 = 5,
10786
  SECTION_THUMBNAIL_R13 = 6,
10787
} Dwg_Section_Type_r13;
10788
10789
typedef enum DWG_SECTION_TYPE_R11 /* tables */
10790
{
10791
  SECTION_HEADER_R11 = 0,
10792
  SECTION_BLOCK = 1,
10793
  SECTION_LAYER = 2,
10794
  SECTION_STYLE = 3,
10795
  SECTION_LTYPE = 5,
10796
  SECTION_VIEW = 6,
10797
  // since r10:
10798
  SECTION_UCS = 7,
10799
  SECTION_VPORT = 8,
10800
  // over 160 header vars
10801
  SECTION_APPID = 9,
10802
  // since r11:
10803
  SECTION_DIMSTYLE = 10,
10804
  SECTION_VX = 11,
10805
} Dwg_Section_Type_r11;
10806
10807
typedef struct _dwg_section
10808
{
10809
  BITCODE_RLd number; /* preR13: num_entries, r2007: id */
10810
  BITCODE_RL size;   /* now unsigned */
10811
  BITCODE_RLL address;
10812
  BITCODE_RL objid_r11;
10813
  /* r2000+: */
10814
  BITCODE_RL parent;
10815
  BITCODE_RL left;
10816
  BITCODE_RL right;
10817
  BITCODE_RL x00;
10818
  Dwg_Section_Type type; /* to be casted to Dwg_Section_Type_r11 preR13 */
10819
  /* => section_info? */
10820
  char name[64];
10821
  /*!< r2004 section fields: */
10822
  BITCODE_RL section_type;
10823
  BITCODE_RL decomp_data_size;
10824
  BITCODE_RL comp_data_size;
10825
  BITCODE_RL compression_type;
10826
  BITCODE_RL checksum;
10827
  BITCODE_RS flags_r11;
10828
} Dwg_Section;
10829
10830
/* Dwg_R2007_Section:
10831
  int64_t  data_size;    // max size of page
10832
  int64_t  max_size;
10833
  int64_t  encrypted;
10834
  int64_t  hashcode;
10835
  int64_t  name_length;  // 0x22
10836
  int64_t  unknown;      // 0x00
10837
  int64_t  encoded;
10838
  int64_t  num_pages;
10839
  DWGCHAR *name;
10840
  r2007_section_page **pages;
10841
  struct _r2007_section *nextsec;
10842
 */
10843
10844
// ODA 4.5
10845
typedef struct
10846
{
10847
  BITCODE_RL num_desc;
10848
  BITCODE_RL compressed; /* Compressed (1 = no, 2 = yes, normally 2) */
10849
  BITCODE_RL max_size;
10850
  BITCODE_RL encrypted; /* (0 = no, 1 = yes, 2 = unknown) */
10851
  BITCODE_RL num_desc2;
10852
} Dwg_Section_InfoHdr;
10853
10854
typedef struct
10855
{
10856
  int64_t    size;
10857
  BITCODE_RL num_sections;
10858
  BITCODE_RL max_decomp_size;
10859
  BITCODE_RL unknown;
10860
  BITCODE_RL compressed; /* Compressed (1 = no, 2 = yes, normally 2) */
10861
  BITCODE_RL type;       /* The dynamic index as read/written */
10862
  BITCODE_RL encrypted;  /* (0 = no, 1 = yes, 2 = unknown) */
10863
  char name[64];
10864
  Dwg_Section_Type fixedtype;  /* to search for */
10865
  Dwg_Section **sections;
10866
} Dwg_Section_Info;
10867
10868
10869
typedef struct _dwg_SummaryInfo_Property
10870
{
10871
  BITCODE_T16 tag;   // CUSTOMPROPERTYTAG
10872
  BITCODE_T16 value; // CUSTOMPROPERTY
10873
} Dwg_SummaryInfo_Property;
10874
10875
typedef struct _dwg_FileDepList_Files
10876
{
10877
  BITCODE_T32 filename;
10878
  BITCODE_T32 filepath;
10879
  BITCODE_T32 fingerprint;
10880
  BITCODE_T32 version;
10881
  BITCODE_RL feature_index;
10882
  BITCODE_RL timestamp;
10883
  BITCODE_RL filesize;
10884
  BITCODE_RS affects_graphics;
10885
  BITCODE_RL refcount;
10886
} Dwg_FileDepList_Files;
10887
10888
typedef struct _dwg_AcDs_SegmentIndex
10889
{
10890
  BITCODE_RLL offset;
10891
  BITCODE_RL size;
10892
} Dwg_AcDs_SegmentIndex;
10893
10894
typedef struct _dwg_AcDs_DataIndex_Entry
10895
{
10896
  BITCODE_RL segidx;
10897
  BITCODE_RL offset;
10898
  BITCODE_RL schidx;
10899
} Dwg_AcDs_DataIndex_Entry;
10900
10901
typedef struct _dwg_AcDs_DataIndex
10902
{
10903
  BITCODE_RL num_entries;
10904
  BITCODE_RL di_unknown; // always 0, probably RLL above
10905
  Dwg_AcDs_DataIndex_Entry *entries;
10906
} Dwg_AcDs_DataIndex;
10907
10908
typedef struct _dwg_AcDs_Data_RecordHdr
10909
{
10910
  BITCODE_RL entry_size;
10911
  BITCODE_RL unknown; // mostly 1
10912
  BITCODE_RLL handle;
10913
  BITCODE_RL offset;
10914
} Dwg_AcDs_Data_RecordHdr;
10915
10916
typedef struct _dwg_AcDs_Data_Record
10917
{
10918
  BITCODE_RL data_size;
10919
  BITCODE_RC *blob;
10920
} Dwg_AcDs_Data_Record;
10921
10922
typedef struct _dwg_AcDs_Data
10923
{
10924
  Dwg_AcDs_Data_RecordHdr *record_hdrs;
10925
  Dwg_AcDs_Data_Record *records;
10926
} Dwg_AcDs_Data;
10927
10928
typedef struct _dwg_AcDs_DataBlobRef_Page
10929
{
10930
  BITCODE_RL segidx;
10931
  BITCODE_RL size;
10932
} Dwg_AcDs_DataBlobRef_Page;
10933
10934
typedef struct _dwg_AcDs_DataBlobRef
10935
{
10936
  BITCODE_RLL total_data_size;
10937
  BITCODE_RL num_pages;
10938
  BITCODE_RL record_size;
10939
  BITCODE_RL page_size;
10940
  BITCODE_RL unknown_1; // ODA writes 1
10941
  BITCODE_RL unknown_2; // ODA writes 0
10942
  Dwg_AcDs_DataBlobRef_Page *pages;
10943
} Dwg_AcDs_DataBlobRef;
10944
10945
typedef struct _dwg_AcDs_DataBlob
10946
{
10947
  BITCODE_RLL data_size;
10948
  BITCODE_RL page_count;
10949
  BITCODE_RL record_size;
10950
  BITCODE_RL page_size;
10951
  BITCODE_RL unknown_1; // ODA writes 1
10952
  BITCODE_RL unknown_2; // ODA writes 0
10953
  Dwg_AcDs_DataBlobRef *ref; // only one, optional
10954
} Dwg_AcDs_DataBlob;
10955
10956
typedef struct _dwg_AcDs_DataBlob01
10957
{
10958
  BITCODE_RLL total_data_size;
10959
  BITCODE_RLL page_start_offset;
10960
  int32_t page_index;
10961
  int32_t page_count;
10962
  BITCODE_RLL page_data_size;
10963
  BITCODE_RC *page_data;
10964
} Dwg_AcDs_DataBlob01;
10965
10966
// 24.2.2.5
10967
typedef struct _dwg_AcDs_SchemaIndex_Prop
10968
{
10969
  BITCODE_RL index;
10970
  BITCODE_RL segidx;
10971
  BITCODE_RL offset;
10972
} Dwg_AcDs_SchemaIndex_Prop;
10973
10974
// 24.2.2.5
10975
typedef struct _dwg_AcDs_SchemaIndex
10976
{
10977
  BITCODE_RL num_props; // or uint64
10978
  BITCODE_RL si_unknown_1;
10979
  Dwg_AcDs_SchemaIndex_Prop *props;
10980
  BITCODE_RLL si_tag; /* 0x0af10c */
10981
  BITCODE_RL num_prop_entries;
10982
  BITCODE_RL si_unknown_2; /* 0 */
10983
  Dwg_AcDs_SchemaIndex_Prop *prop_entries;
10984
} Dwg_AcDs_SchemaIndex;
10985
10986
// 24.2.2.6.1.1
10987
typedef struct _dwg_AcDs_Schema_Prop
10988
{
10989
  BITCODE_RL flags;  /*<! DXF 91 */
10990
  BITCODE_RL namidx; /*<! DXF 2 */
10991
  BITCODE_RL type;   /*<! DXF 280, 0-15 */
10992
  BITCODE_RL type_size;
10993
  BITCODE_RL unknown_1;
10994
  BITCODE_RL unknown_2;
10995
  BITCODE_RS num_values;
10996
  BITCODE_RC *values;
10997
} Dwg_AcDs_Schema_Prop;
10998
10999
// 24.2.2.6.1
11000
typedef struct _dwg_AcDs_Schema
11001
{
11002
  BITCODE_RS num_index;
11003
  BITCODE_RLL *index;
11004
  BITCODE_RS num_props;
11005
  Dwg_AcDs_Schema_Prop *props;
11006
} Dwg_AcDs_Schema;
11007
11008
// 24.2.2.6
11009
typedef struct _dwg_AcDs_SchemaData_UProp
11010
{
11011
  BITCODE_RL size;
11012
  BITCODE_RL flags;
11013
} Dwg_AcDs_SchemaData_UProp;
11014
11015
typedef struct _dwg_AcDs_SchemaData
11016
{
11017
  BITCODE_RL num_uprops; // computed, see schidx
11018
  Dwg_AcDs_SchemaData_UProp *uprops;
11019
  BITCODE_RL num_schemas; // computed, see schidx
11020
  Dwg_AcDs_Schema *schemas;
11021
  BITCODE_RL num_propnames;
11022
  BITCODE_TV *propnames;
11023
} Dwg_AcDs_SchemaData;
11024
11025
typedef struct _dwg_AcDs_Search_IdIdx
11026
{
11027
  BITCODE_RLL handle;
11028
  BITCODE_RL num_ididx;
11029
  BITCODE_RLL *ididx;
11030
} Dwg_AcDs_Search_IdIdx;
11031
11032
typedef struct _dwg_AcDs_Search_IdIdxs
11033
{
11034
  BITCODE_RL num_ididx;
11035
  Dwg_AcDs_Search_IdIdx *ididx;
11036
} Dwg_AcDs_Search_IdIdxs;
11037
11038
// 24.2.2.7.1
11039
typedef struct _dwg_AcDs_Search_Data
11040
{
11041
  BITCODE_RL schema_namidx;
11042
  BITCODE_RL num_sortedidx;
11043
  BITCODE_RLLd *sortedidx;
11044
  BITCODE_RL num_ididxs;
11045
  BITCODE_RL unknown;
11046
  Dwg_AcDs_Search_IdIdxs *ididxs;
11047
} Dwg_AcDs_Search_Data;
11048
11049
typedef struct _dwg_AcDs_Search
11050
{
11051
  BITCODE_RL num_search;
11052
  Dwg_AcDs_Search_Data *search;
11053
} Dwg_AcDs_Search;
11054
11055
typedef struct _dwg_AcDs_Segment
11056
{
11057
  BITCODE_RS signature; /* always 0xd5ac */
11058
  BITCODE_RC name[7]; /* segidx, datidx, _data_, schidx, schdat, search, blob01 */
11059
  BITCODE_RCd type; /* computed 0-6 or -1 */
11060
  BITCODE_RL segment_idx;
11061
  BITCODE_RL is_blob01;
11062
  BITCODE_RL segsize;
11063
  BITCODE_RL unknown_2;
11064
  BITCODE_RL ds_version; // datastorage revision
11065
  BITCODE_RL unknown_3;
11066
  BITCODE_RL data_algn_offset;
11067
  BITCODE_RL objdata_algn_offset;
11068
  BITCODE_RC padding[9]; // always 8x 0x55
11069
} Dwg_AcDs_Segment;
11070
11071
typedef struct _dwg_AcDs
11072
{
11073
  // header
11074
  BITCODE_RL file_signature;
11075
  BITCODE_RL file_header_size;
11076
  BITCODE_RL unknown_1;  /* acis version? always 2 */
11077
  BITCODE_RL version;    /* always 2 */
11078
  BITCODE_RL unknown_2;  /* always 0 */
11079
  BITCODE_RL ds_version; /* datastorage revision */
11080
  BITCODE_RL segidx_offset;
11081
  BITCODE_RL segidx_unknown;
11082
  BITCODE_RL num_segidx;
11083
  BITCODE_RL schidx_segidx;
11084
  BITCODE_RL datidx_segidx;
11085
  BITCODE_RL search_segidx;
11086
  BITCODE_RL prvsav_segidx;
11087
  BITCODE_RL file_size;
11088
  BITCODE_BL total_segments; // computed
11089
  Dwg_AcDs_SegmentIndex *segidx;
11090
  Dwg_AcDs_DataIndex datidx;
11091
  Dwg_AcDs_Data *data;
11092
  Dwg_AcDs_DataBlob blob01;
11093
  Dwg_AcDs_SchemaIndex schidx;
11094
  Dwg_AcDs_SchemaData schdat;
11095
  Dwg_AcDs_Search search;
11096
  Dwg_AcDs_Segment *segments;
11097
} Dwg_AcDs;
11098
11099
typedef struct _dwg_header
11100
{
11101
  Dwg_Version_Type version;      /* calculated from the header magic */
11102
  Dwg_Version_Type from_version; /* option. set by --as (convert from) */
11103
  BITCODE_RC is_maint;
11104
  BITCODE_RC zero_one_or_three;
11105
  BITCODE_RS numentity_sections; /* < R13, always 3 */
11106
  BITCODE_RS numheader_vars;    /* < R13 */
11107
  BITCODE_RL thumbnail_address; /* THUMBNAIL or AdDb:Preview */
11108
  BITCODE_RC dwg_version;
11109
  BITCODE_RC maint_version;
11110
  BITCODE_RL entities_start;    /* < R13 */
11111
  BITCODE_RL entities_end;      /* < R13 */
11112
  BITCODE_RL blocks_start;      /* < R13 */
11113
  BITCODE_RL blocks_size;       /* < R13 */
11114
  BITCODE_RL extras_start;      /* < R13 */
11115
  BITCODE_RL extras_size;       /* < R13 */
11116
  BITCODE_RS codepage;
11117
  BITCODE_RC unknown_0;           /* R2004+ */
11118
  BITCODE_RC app_dwg_version;     /* R2004+ */
11119
  BITCODE_RC app_maint_version;   /* R2004+ */
11120
  BITCODE_RL security_type;       /* R2004+ */
11121
  BITCODE_RL rl_1c_address;       /* R2004+ mostly 0 */
11122
  BITCODE_RL summaryinfo_address; /* R2004+ */
11123
  BITCODE_RL vbaproj_address;     /* R2004+ */
11124
  BITCODE_RL r2004_header_address; /* R2004+ */
11125
  BITCODE_RL sections;            // as in the header, 5 or 6 usually
11126
  BITCODE_RL num_sections;        // as allocated, many more
11127
  Dwg_Section *section;
11128
  Dwg_Section_InfoHdr section_infohdr; /* R2004+ */
11129
  Dwg_Section_Info *section_info;
11130
} Dwg_Header;
11131
11132
#pragma pack(1)
11133
typedef struct r2007_file_header
11134
{
11135
  int64_t header_size; // 0x70
11136
  int64_t file_size;
11137
  int64_t pages_map_crc_compressed;
11138
  int64_t pages_map_correction;
11139
  int64_t pages_map_crc_seed;
11140
  int64_t pages_map2_offset;
11141
  int64_t pages_map2_id;
11142
  int64_t pages_map_offset; // starting address of the Page Map section
11143
  int64_t pages_map_id;
11144
  int64_t header2_offset;
11145
  int64_t pages_map_size_comp; // the compressed size of section
11146
  int64_t pages_map_size_uncomp;
11147
  int64_t pages_amount;
11148
  int64_t pages_maxid;
11149
  int64_t unknown1; // 0x20
11150
  int64_t unknown2; // 0x40
11151
  int64_t pages_map_crc_uncomp;
11152
  int64_t unknown3; // 0xf800
11153
  int64_t unknown4; // 4
11154
  int64_t unknown5; // 1
11155
  int64_t num_sections;
11156
  int64_t sections_map_crc_uncomp;
11157
  int64_t sections_map_size_comp;
11158
  int64_t sections_map2_id;
11159
  int64_t sections_map_id;
11160
  int64_t sections_map_size_uncomp;
11161
  int64_t sections_map_crc_comp;
11162
  int64_t sections_map_correction;
11163
  int64_t sections_map_crc_seed;
11164
  int64_t stream_version; // 0x60100
11165
  int64_t crc_seed;
11166
  int64_t crc_seed_encoded;
11167
  int64_t random_seed;
11168
  int64_t header_crc;
11169
} Dwg_R2007_Header;
11170
11171
typedef struct _dwg_R2004_Header /* encrypted */
11172
{
11173
  BITCODE_RC file_ID_string[12];
11174
  BITCODE_RLx header_address;
11175
  BITCODE_RL header_size;
11176
  BITCODE_RL x04;
11177
  BITCODE_RLd root_tree_node_gap;
11178
  BITCODE_RLd lowermost_left_tree_node_gap;
11179
  BITCODE_RLd lowermost_right_tree_node_gap;
11180
  BITCODE_RL unknown_long;
11181
  BITCODE_RL last_section_id;
11182
  BITCODE_RLL last_section_address;
11183
  BITCODE_RLL secondheader_address;
11184
  BITCODE_RL numgaps;
11185
  BITCODE_RL numsections;
11186
  BITCODE_RL x20;
11187
  BITCODE_RL x80;
11188
  BITCODE_RL x40;
11189
  BITCODE_RL section_map_id;
11190
  BITCODE_RLL section_map_address;
11191
  BITCODE_RLd section_info_id;
11192
  BITCODE_RLd section_array_size;
11193
  BITCODE_RL gap_array_size;
11194
  BITCODE_RLx crc32; /* p 2.14.2 32bit CRC 2004+ */
11195
  BITCODE_RC padding[12];
11196
  /* System Section: Section Page Map */
11197
  BITCODE_RL section_type; /* 0x4163043b */
11198
  BITCODE_RL decomp_data_size;
11199
  BITCODE_RL comp_data_size;
11200
  BITCODE_RL compression_type;
11201
  BITCODE_RLx checksum;
11202
} Dwg_R2004_Header;
11203
#pragma pack()
11204
11205
typedef struct _dwg_auxheader
11206
{
11207
  BITCODE_RC aux_intro[3]; /* ff 77 01 */
11208
  BITCODE_RS dwg_version;
11209
  BITCODE_RL maint_version;
11210
  BITCODE_RL numsaves;
11211
  BITCODE_RL minus_1;
11212
  BITCODE_RS numsaves_1;
11213
  BITCODE_RS numsaves_2;
11214
  BITCODE_RL zero;
11215
  BITCODE_RS dwg_version_1;
11216
  BITCODE_RL maint_version_1;
11217
  BITCODE_RS dwg_version_2;
11218
  BITCODE_RL maint_version_2;
11219
  BITCODE_RS unknown_6rs[6];
11220
  BITCODE_RL unknown_5rl[5];
11221
  BITCODE_TIMERLL TDCREATE;
11222
  BITCODE_TIMERLL TDUPDATE;
11223
  BITCODE_HV HANDSEED;
11224
  BITCODE_RL plot_stamp;
11225
  BITCODE_RS zero_1;
11226
  BITCODE_RS numsaves_3;
11227
  BITCODE_RL zero_2;
11228
  BITCODE_RL zero_3;
11229
  BITCODE_RL zero_4;
11230
  BITCODE_RL numsaves_4;
11231
  BITCODE_RL zero_5;
11232
  BITCODE_RL zero_6;
11233
  BITCODE_RL zero_7;
11234
  BITCODE_RL zero_8;     /* ?? */
11235
  BITCODE_RS zero_18[3]; /* R2018+ */
11236
  BITCODE_RS num_auxheader_variables; /* < R13 */
11237
  BITCODE_RS auxheader_size;          /* < R13 */
11238
  BITCODE_RL entities_start;          /* < R13 */
11239
  BITCODE_RL entities_end;            /* < R13 */
11240
  BITCODE_RL blocks_start;            /* < R13 */
11241
  BITCODE_RL extras_start;            /* < R13 */
11242
  BITCODE_RLx auxheader_address;      /* < R13 */
11243
  BITCODE_RS num_aux_tables;          /* < R13 */
11244
  BITCODE_BS R11_HANDLING;  /* TODO Merge with HANDSEED */
11245
} Dwg_AuxHeader;
11246
11247
typedef struct _dwg_summaryinfo
11248
{
11249
  BITCODE_T16 TITLE;
11250
  BITCODE_T16 SUBJECT;
11251
  BITCODE_T16 AUTHOR;
11252
  BITCODE_T16 KEYWORDS;
11253
  BITCODE_T16 COMMENTS;
11254
  BITCODE_T16 LASTSAVEDBY;
11255
  BITCODE_T16 REVISIONNUMBER;
11256
  BITCODE_T16 HYPERLINKBASE;
11257
  BITCODE_TIMERLL TDINDWG; /* days + ms, fixed size! */
11258
  BITCODE_TIMERLL TDCREATE;
11259
  BITCODE_TIMERLL TDUPDATE;
11260
  BITCODE_RS num_props;
11261
  Dwg_SummaryInfo_Property *props;
11262
  BITCODE_RL unknown1;
11263
  BITCODE_RL unknown2;
11264
} Dwg_SummaryInfo;
11265
11266
/* Contains information about the application that wrote
11267
   the .dwg file (encrypted = 2). */
11268
typedef struct _dwg_appinfo
11269
{
11270
  BITCODE_RL size;
11271
  BITCODE_TF unknown_bits;
11272
  BITCODE_RL class_version; // 3
11273
  BITCODE_RL num_strings;   // 2-3
11274
  BITCODE_T16 appinfo_name;  // AppInfoDataList
11275
  BITCODE_RC version_checksum[16];
11276
  BITCODE_RC comment_checksum[16];
11277
  BITCODE_RC product_checksum[16];
11278
  BITCODE_T16 version;      // "19.0.55.0.0", "Teigha(R) 4.3.2.0"
11279
  BITCODE_T16 comment;      // "Autodesk DWG.  This file is a Trusted DWG "...
11280
  BITCODE_T16 product_info; // XML ProductInformation
11281
} Dwg_AppInfo;
11282
11283
/* File Dependencies, IMAGE files, fonts, xrefs, plotconfigs */
11284
typedef struct _dwg_filedeplist
11285
{
11286
  BITCODE_RL num_features;
11287
  BITCODE_TU32 *features; // Acad:XRef, Acad:Image, Acad:PlotConfig, Acad:Text
11288
  BITCODE_RL num_files;
11289
  Dwg_FileDepList_Files *files;
11290
} Dwg_FileDepList;
11291
11292
/* password info */
11293
typedef struct _dwg_security
11294
{
11295
  BITCODE_RL unknown_1;   // 0xc
11296
  BITCODE_RL unknown_2;   // 0
11297
  BITCODE_RL unknown_3;   // 0xabcdabcd
11298
  BITCODE_RL crypto_id;   //
11299
  BITCODE_T32 crypto_name; // "Microsoft Base DSS and Diffie-Hellman
11300
                          // Cryptographic Provider"
11301
  BITCODE_RL algo_id;     // RC4
11302
  BITCODE_RL key_len;     // 40
11303
  BITCODE_RL encr_size;   //
11304
  BITCODE_TF encr_buffer;
11305
} Dwg_Security;
11306
11307
typedef struct _dwg_vbaproject
11308
{
11309
  BITCODE_RL size;
11310
  BITCODE_TF unknown_bits;
11311
} Dwg_VBAProject;
11312
11313
typedef struct _dwg_appinfohistory
11314
{
11315
  BITCODE_RL size;
11316
  BITCODE_TF unknown_bits;
11317
} Dwg_AppInfoHistory;
11318
11319
typedef struct _dwg_revhistory
11320
{
11321
  BITCODE_RL class_version;
11322
  BITCODE_RL class_minor;
11323
  BITCODE_RL num_histories;
11324
  BITCODE_RL *histories;
11325
} Dwg_RevHistory;
11326
11327
typedef struct _dwg_objfreespace
11328
{
11329
  BITCODE_RLL zero;
11330
  BITCODE_RLL numhandles;
11331
  BITCODE_TIMERLL TDUPDATE;
11332
  BITCODE_RL objects_address;
11333
  BITCODE_RC numnums; // RLL (uint64_t) or uint128_t
11334
  BITCODE_RLL max32;   // 0x32
11335
  BITCODE_RLL max64;   // 0x64
11336
  BITCODE_RLL maxtbl;  // 0x200
11337
  BITCODE_RLL maxrl;
11338
  BITCODE_RLL max32_hi;
11339
  BITCODE_RLL max64_hi;
11340
  BITCODE_RLL maxtbl_hi;
11341
  BITCODE_RLL maxrl_hi;
11342
} Dwg_ObjFreeSpace;
11343
11344
typedef struct _dwg_template
11345
{
11346
  BITCODE_T16 description; // or TU16 >=r2007
11347
  BITCODE_RS MEASUREMENT;
11348
} Dwg_Template;
11349
11350
typedef struct _dwg_secondheader_sections
11351
{
11352
  BITCODE_RCd nr;
11353
  BITCODE_BL address;
11354
  BITCODE_BL size;
11355
} Dwg_SecondHeader_Sections;
11356
11357
typedef struct _dwg_secondheader_handles
11358
{
11359
  BITCODE_RCd num_hdl;
11360
  BITCODE_RCd nr;
11361
  BITCODE_RC hdl[8];
11362
  const char *name;
11363
} Dwg_SecondHeader_Handles;
11364
11365
typedef struct _dwg_secondheader
11366
{
11367
  BITCODE_RL size;
11368
  BITCODE_RL address;
11369
  BITCODE_RC version[11];
11370
  BITCODE_RC is_maint;
11371
  BITCODE_RC zero_one_or_three;
11372
  BITCODE_BS dwg_versions; /* lo byte: dwg, hi: main */
11373
  BITCODE_RS codepage;
11374
  BITCODE_RC num_sections;
11375
  Dwg_SecondHeader_Sections sections[7];
11376
  BITCODE_BS num_handles;
11377
  Dwg_SecondHeader_Handles handles[14];
11378
  BITCODE_RS crc;
11379
  BITCODE_RLL junk_r14; /*!< r14-r2000 */
11380
} Dwg_SecondHeader;
11381
11382
/**
11383
 Main DWG struct
11384
 */
11385
11386
typedef struct _dwg_struct
11387
{
11388
  Dwg_Header header;
11389
11390
  BITCODE_BS num_classes;        /*!< number of classes */
11391
  Dwg_Class * dwg_class;         /*!< array of classes */
11392
  BITCODE_BL num_objects;        /*!< number of objects */
11393
  BITCODE_BL num_alloced_objects;/*!< room for objects */
11394
  Dwg_Object * object;           /*!< list of all objects and entities */
11395
  BITCODE_BL num_entities;       /*!< number of entities in object */
11396
  BITCODE_BL num_object_refs;    /*!< number of object_ref's (resolved handles) */
11397
  BITCODE_BL cur_index;          /*!< how many we have written currently */
11398
  BITCODE_RS last_viewport_id;   /*!< auto-incremented VIEWPORT id for DXF */
11399
  Dwg_Object_Ref **object_ref;   /*!< array of most handles */
11400
  struct _inthash *object_map;   /*!< map of all handles */
11401
  int dirty_refs;                /* 1 if we added an object, and invalidated all
11402
                                    the internal ref->obj's */
11403
  unsigned int opts;             /* See DWG_OPTS_* below */
11404
11405
  Dwg_Header_Variables header_vars;
11406
  Dwg_Chain thumbnail;
11407
11408
  union {
11409
    Dwg_R2004_Header r2004_header; /* encrypted, packed */
11410
    Dwg_R2007_Header r2007_file_header; /* encrypted, packed */
11411
  } fhdr;
11412
11413
  /* Should only be initialized after the read/write is complete. */
11414
  Dwg_Object *mspace_block;
11415
  Dwg_Object *pspace_block;
11416
  /* This TABLE might be empty with num_entries=0 */
11417
  Dwg_Object_BLOCK_CONTROL      block_control;
11418
11419
  /* #define DWG_AUXHEADER_SIZE 123 */
11420
  Dwg_AuxHeader auxheader;
11421
  Dwg_SecondHeader secondheader;
11422
  Dwg_SummaryInfo summaryinfo;
11423
  /* Contains information about the application that wrote
11424
     the .dwg file (encrypted = 2). */
11425
  Dwg_AppInfo appinfo;
11426
  /* File Dependencies, IMAGE files, fonts, xrefs, plotconfigs */
11427
  Dwg_FileDepList filedeplist;
11428
  Dwg_Security security; /* password info */
11429
  Dwg_VBAProject vbaproject;
11430
  Dwg_AppInfoHistory appinfohistory;
11431
  Dwg_RevHistory revhistory;
11432
  Dwg_ObjFreeSpace objfreespace;
11433
  Dwg_Template Template;
11434
  Dwg_AcDs acds;
11435
11436
  unsigned int layout_type;
11437
  unsigned int num_acis_sab_hdl;  // temporary, until we can parse acds for SAB data, r2013+
11438
  BITCODE_H *acis_sab_hdl;
11439
  BITCODE_RLL next_hdl; // for add_document handle holes
11440
11441
  BITCODE_BL prev_entity_index; // for speedup find_prev_entity
11442
11443
  // for speedup dwg_add_handleref
11444
  Dwg_Object_Ref **object_ordered_ref; /*! list of all ordered objects refs */
11445
  BITCODE_BL num_object_ordered_refs;  /*! number of ordered objects refs */
11446
} Dwg_Data;
11447
11448
15.4M
#define DWG_OPTS_LOGLEVEL 0xf
11449
0
#define DWG_OPTS_MINIMAL  0x10
11450
148k
#define DWG_OPTS_DXFB     0x20
11451
/* can be safely shared */
11452
0
#define DWG_OPTS_JSONFIRST 0x20
11453
1.17M
#define DWG_OPTS_INDXF    0x40
11454
1.62M
#define DWG_OPTS_INJSON   0x80
11455
1.02M
#define DWG_OPTS_IN       (DWG_OPTS_INDXF | DWG_OPTS_INJSON)
11456
11457
typedef enum RESBUF_VALUE_TYPE
11458
{
11459
  DWG_VT_INVALID = 0,
11460
  DWG_VT_STRING = 1,
11461
  DWG_VT_POINT3D = 2,
11462
  DWG_VT_REAL = 3,
11463
  DWG_VT_INT16 = 4,
11464
  DWG_VT_INT32 = 5,
11465
  DWG_VT_INT8 = 6,
11466
  DWG_VT_BINARY = 7,
11467
  DWG_VT_HANDLE = 8,
11468
  DWG_VT_OBJECTID = 9,
11469
  DWG_VT_BOOL = 10,    // VT_BOOL clashes with /usr/x86_64-w64-mingw32/sys-root/mingw/include/wtypes.h
11470
  DWG_VT_INT64 = 11,   // RLL
11471
} Dwg_Resbuf_Value_Type;
11472
11473
/*--------------------------------------------------
11474
 * Exported Functions
11475
 */
11476
11477
EXPORT int dwg_read_file (const char *restrict filename,
11478
                          Dwg_Data *restrict dwg);
11479
EXPORT int dxf_read_file (const char *restrict filename,
11480
                          Dwg_Data *restrict dwg);
11481
// You might need to probe for that.
11482
EXPORT int dwg_write_file (const char *restrict filename,
11483
                           const Dwg_Data *restrict dwg);
11484
11485
/* Supports multiple preview picture types.
11486
   Currently 3 types: BMP 2, WMF 3 and PNG as type 6.
11487
   Returns the size of the image.
11488
 */
11489
EXPORT unsigned char *dwg_bmp (const Dwg_Data *restrict dwg,
11490
                               BITCODE_RL *restrict size,
11491
                               BITCODE_RC *restrict typep);
11492
11493
/** Converts the internal enum RC into 100th mm lineweight, with
11494
 *  -1 BYLAYER, -2 BYBLOCK, -3 BYLWDEFAULT.
11495
 */
11496
EXPORT int dxf_cvt_lweight (const BITCODE_BSd value);
11497
11498
/** Converts the 100th mm lineweight, with -1 BYLAYER, -2 BYBLOCK, -3 BYLWDEFAULT,
11499
    into the internal enum RC.
11500
 */
11501
EXPORT BITCODE_BSd dxf_revcvt_lweight (const int lw);
11502
11503
/* Return the matching _CONTROL table, or NULL
11504
 */
11505
EXPORT BITCODE_H
11506
dwg_ctrl_table (Dwg_Data *restrict dwg, const char *restrict table);
11507
11508
/* Search for the name in the associated table, and return its handle. Search
11509
 * is case-insensitive.
11510
 * Both name and table are ascii.
11511
 */
11512
EXPORT BITCODE_H dwg_find_tablehandle (Dwg_Data *restrict dwg,
11513
                                       const char *restrict name,
11514
                                       const char *restrict table);
11515
EXPORT BITCODE_H dwg_find_tablehandle_index (Dwg_Data *restrict dwg,
11516
                                             const int index,
11517
                                             const char *restrict table);
11518
11519
/* Search for handle in associated table, and return its name (as UTF-8) */
11520
EXPORT char *
11521
dwg_handle_name (Dwg_Data *restrict dwg, const char *restrict table,
11522
                 const BITCODE_H restrict handle);
11523
11524
/** Not checking the header_vars entry, only searching the objects
11525
 *  Returning a hardowner or hardpointer (DICTIONARY) ref (code 3 or 5)
11526
 *  to it, as stored in header_vars. table must contain the "_CONTROL" suffix.
11527
 *  table is ascii.
11528
 */
11529
EXPORT BITCODE_H dwg_find_table_control (Dwg_Data *restrict dwg,
11530
                                         const char *restrict table);
11531
11532
/** Search for a dictionary ref.
11533
 *  Returning a hardpointer ref (5) to it, as stored in header_vars.
11534
 *  Name is ascii.
11535
 */
11536
EXPORT BITCODE_H dwg_find_dictionary (Dwg_Data *restrict dwg,
11537
                                      const char *restrict name);
11538
/** Search for a named dictionary entry in the given dict.
11539
 *  Search is case-sensitive. name is ASCII. */
11540
EXPORT BITCODE_H dwg_find_dicthandle (Dwg_Data *restrict dwg, BITCODE_H dict,
11541
                                      const char *restrict name);
11542
/** Search all dictionary entries in the given dict.
11543
 *  Check for the matching name of the handle object. (Control lists).
11544
 *  Search is case-insensitive */
11545
EXPORT BITCODE_H dwg_find_dicthandle_objname (Dwg_Data *restrict dwg, BITCODE_H dict,
11546
                                              const char *restrict name);
11547
/* Search for a table EXTNAME */
11548
EXPORT char *dwg_find_table_extname (Dwg_Data *restrict dwg,
11549
                                     Dwg_Object *restrict obj);
11550
/* Returns the string value of the member of the AcDbVariableDictionary.
11551
   The name is ascii. E.g. LIGHTINGUNITS => "0" */
11552
EXPORT char *dwg_variable_dict (Dwg_Data *restrict dwg,
11553
                                const char *restrict name);
11554
11555
EXPORT double dwg_model_x_min (const Dwg_Data *restrict);
11556
EXPORT double dwg_model_x_max (const Dwg_Data *restrict);
11557
EXPORT double dwg_model_y_min (const Dwg_Data *restrict);
11558
EXPORT double dwg_model_y_max (const Dwg_Data *restrict);
11559
EXPORT double dwg_model_z_min (const Dwg_Data *restrict);
11560
EXPORT double dwg_model_z_max (const Dwg_Data *restrict);
11561
EXPORT double dwg_page_x_min (const Dwg_Data *restrict);
11562
EXPORT double dwg_page_x_max (const Dwg_Data *restrict);
11563
EXPORT double dwg_page_y_min (const Dwg_Data *restrict);
11564
EXPORT double dwg_page_y_max (const Dwg_Data *restrict);
11565
11566
EXPORT Dwg_Object_BLOCK_CONTROL * dwg_block_control (Dwg_Data *restrict dwg);
11567
11568
EXPORT Dwg_Object_Ref * dwg_model_space_ref (Dwg_Data *restrict dwg);
11569
EXPORT Dwg_Object_Ref * dwg_paper_space_ref (Dwg_Data *restrict dwg);
11570
EXPORT Dwg_Object * dwg_model_space_object (Dwg_Data *restrict dwg);
11571
EXPORT Dwg_Object * dwg_paper_space_object (Dwg_Data *restrict dwg);
11572
11573
EXPORT unsigned int dwg_get_layer_count (const Dwg_Data *restrict dwg);
11574
11575
EXPORT Dwg_Object_LAYER ** dwg_get_layers (const Dwg_Data *restrict dwg);
11576
11577
EXPORT BITCODE_BL dwg_get_num_objects (const Dwg_Data *restrict dwg);
11578
11579
EXPORT BITCODE_BL dwg_get_object_num_objects (const Dwg_Data *restrict dwg);
11580
11581
EXPORT int dwg_class_is_entity (const Dwg_Class *restrict klass);
11582
11583
EXPORT int dwg_obj_is_control (const Dwg_Object *restrict obj);
11584
EXPORT int dwg_obj_is_table (const Dwg_Object *restrict obj);
11585
EXPORT int dwg_obj_is_subentity (const Dwg_Object *restrict obj);
11586
EXPORT int dwg_obj_has_subentity (const Dwg_Object *restrict obj);
11587
EXPORT int dwg_obj_is_3dsolid (const Dwg_Object *restrict obj);
11588
EXPORT int dwg_obj_is_acsh (const Dwg_Object *restrict obj);
11589
11590
EXPORT BITCODE_BL dwg_get_num_entities (const Dwg_Data *restrict);
11591
11592
EXPORT Dwg_Object_Entity **dwg_get_entities (const Dwg_Data *restrict);
11593
11594
EXPORT Dwg_Object_LAYER *
11595
dwg_get_entity_layer (const Dwg_Object_Entity *restrict);
11596
11597
EXPORT Dwg_Object *dwg_next_object (const Dwg_Object *obj);
11598
EXPORT Dwg_Object *dwg_next_entity (const Dwg_Object *obj);
11599
// next available 0 ref + 1, when all refs are already filled
11600
EXPORT BITCODE_HV dwg_next_handle (const Dwg_Data *dwg);
11601
// next available handle, computed form the HANDSEED, which is bumped
11602
EXPORT BITCODE_HV dwg_next_handseed (Dwg_Data *dwg);
11603
11604
EXPORT Dwg_Object *dwg_ref_object (Dwg_Data *restrict dwg,
11605
                                   Dwg_Object_Ref *restrict ref);
11606
EXPORT Dwg_Object *dwg_ref_object_relative (Dwg_Data *restrict dwg,
11607
                                            Dwg_Object_Ref *restrict ref,
11608
                                            const Dwg_Object *restrict obj);
11609
EXPORT Dwg_Object *dwg_ref_object_silent (Dwg_Data *restrict dwg,
11610
                                          Dwg_Object_Ref *restrict ref);
11611
11612
EXPORT Dwg_Object *get_first_owned_entity (const Dwg_Object *restrict hdr);
11613
EXPORT Dwg_Object *get_next_owned_entity (const Dwg_Object *restrict hdr,
11614
                                          const Dwg_Object *restrict current);
11615
EXPORT Dwg_Object *get_first_owned_subentity (const Dwg_Object *restrict owner);
11616
EXPORT Dwg_Object *
11617
get_next_owned_subentity (const Dwg_Object *restrict owner,
11618
                          const Dwg_Object *restrict current);
11619
EXPORT Dwg_Object *get_first_owned_block (const Dwg_Object *hdr);
11620
EXPORT Dwg_Object *get_last_owned_block (const Dwg_Object *hdr);
11621
EXPORT Dwg_Object *get_next_owned_block (const Dwg_Object *restrict hdr,
11622
                                         const Dwg_Object *restrict current);
11623
EXPORT Dwg_Object *get_next_owned_block_entity (const Dwg_Object *restrict hdr,
11624
                                                const Dwg_Object *restrict current);
11625
EXPORT Dwg_Object *dwg_get_first_object (const Dwg_Data *dwg,
11626
                                         const Dwg_Object_Type type);
11627
EXPORT Dwg_Object *dwg_get_next_object (const Dwg_Data *dwg,
11628
                                        const Dwg_Object_Type type,
11629
                                        const BITCODE_RL index);
11630
11631
EXPORT Dwg_Object *dwg_resolve_handle (const Dwg_Data *restrict dwg,
11632
                                       BITCODE_HV absref);
11633
EXPORT Dwg_Object *dwg_resolve_handle_silent (const Dwg_Data *restrict dwg,
11634
                                              const BITCODE_HV absref);
11635
EXPORT int dwg_resolve_handleref (Dwg_Object_Ref *restrict ref,
11636
                                  const Dwg_Object *restrict obj);
11637
11638
EXPORT Dwg_Object *dwg_resolve_jump (const Dwg_Object *obj);
11639
EXPORT Dwg_Section_Type dwg_section_type (const char *restrict name);
11640
EXPORT Dwg_Section_Type dwg_section_wtype (const DWGCHAR *restrict wname);
11641
EXPORT const char *dwg_section_name (const Dwg_Data *dwg, const unsigned int sec_id);
11642
11643
EXPORT enum RESBUF_VALUE_TYPE dwg_resbuf_value_type (short gc);
11644
11645
/** Free the whole DWG. all tables, sections, objects, ...
11646
*/
11647
EXPORT void dwg_free (Dwg_Data *restrict dwg);
11648
11649
/** Free the object (all three structs and its fields)
11650
*/
11651
EXPORT void dwg_free_object (Dwg_Object *restrict obj);
11652
11653
/** Add the empty ref to the DWG (freshly malloc'ed), or NULL.
11654
*/
11655
EXPORT Dwg_Object_Ref * dwg_new_ref (Dwg_Data *restrict dwg);
11656
11657
/** For encode:
11658
 *  May need obj to shorten the code to a relative offset, but not in header_vars.
11659
 *  There obj is NULL.
11660
 */
11661
EXPORT int dwg_add_handle (Dwg_Handle *restrict hdl, const BITCODE_RC code,
11662
                           const BITCODE_HV value,
11663
                           const Dwg_Object *restrict obj);
11664
11665
/** Returns an existing ref with the same ownership (hard/soft, owner/pointer)
11666
    or creates it. With obj non-NULL it may return a relative offset, otherwise
11667
    always absolute.
11668
*/
11669
EXPORT Dwg_Object_Ref *dwg_add_handleref (Dwg_Data *restrict dwg,
11670
                                          const BITCODE_RC code,
11671
                                          const BITCODE_HV value,
11672
                                          const Dwg_Object *restrict obj);
11673
/** Return a link to the global ref or a new one. Or a NULLHDL. */
11674
EXPORT Dwg_Object_Ref *
11675
dwg_dup_handleref (Dwg_Data *restrict dwg, const Dwg_Object_Ref *restrict ref);
11676
11677
/** Creates a non-global, free'able handle ref. Never relative */
11678
EXPORT Dwg_Object_Ref *
11679
dwg_add_handleref_free (const BITCODE_RC code, const BITCODE_HV absref);
11680
11681
EXPORT const char *dwg_version_type (const Dwg_Version_Type version);
11682
EXPORT Dwg_Version_Type dwg_version_as (const char *version);
11683
EXPORT Dwg_Version_Type dwg_version_hdr_type (const char* hdr);
11684
EXPORT int dwg_supports_eed (const Dwg_Data *dwg);
11685
/* to read and write */
11686
EXPORT int dwg_supports_obj (const Dwg_Data *restrict dwg,
11687
                             const Dwg_Object *restrict obj);
11688
EXPORT void dwg_errstrings (int error);
11689
11690
EXPORT char *dwg_encrypt_SAT1 (BITCODE_BL blocksize,
11691
                               BITCODE_RC *restrict acis_data,
11692
                               int *restrict acis_data_offset);
11693
/* Converts v2 SAB acis_data in-place to SAT v1 encr_sat_data[].
11694
   Sets _obj->_dxf_sab_converted to 1, denoting that encr_sat_data is NOT the
11695
   encrypted acis_data anymore, rather the converted from SAB for DXF */
11696
EXPORT int dwg_convert_SAB_to_SAT1 (Dwg_Entity_3DSOLID *restrict _obj);
11697
11698
11699
/* The old color.index 0-256 */
11700
typedef struct rgbpalette {
11701
  unsigned char r,g,b;
11702
} Dwg_RGB_Palette;
11703
EXPORT const Dwg_RGB_Palette *dwg_rgb_palette (void);
11704
/* Returns the RGB value for the palette index.
11705
 */
11706
EXPORT BITCODE_BL dwg_rgb_palette_index (BITCODE_BS index);
11707
/* find a matching color index (0-255) for a truecolor rgb value.
11708
   returns 256 if not found, i.e. the default ByLayer.
11709
 */
11710
EXPORT BITCODE_BS dwg_find_color_index (BITCODE_BL rgb);
11711
11712
/** Add the empty object to the DWG.
11713
    Returns DWG_ERR_OUTOFMEM, -1 for realloced or 0 if not.
11714
    objects are allocated in bulk, and all old obj pointers may become invalid.
11715
    The new object is at &dwg->object[dwg->num_objects - 1].
11716
*/
11717
EXPORT int dwg_add_object (Dwg_Data *restrict dwg);
11718
11719
/* Find if an object name (our internal name, not anything used elsewhere)
11720
   is defined, and return our fixed type, the public dxfname and if it's an entity. */
11721
EXPORT int dwg_object_name (const char *const restrict name, // in
11722
                            const char **restrict dxfnamep,  // out, maybe NULL
11723
                            Dwg_Object_Type *restrict typep, // out, maybe NULL
11724
                            int *restrict is_entp,           // out, maybe NULL
11725
                            Dwg_Class_Stability *restrict stabilityp); // out, maybe NULL
11726
11727
/** Initialize the empty entity or object with its three structs.
11728
    All fields are zero'd, some are initialized with default values, as
11729
    defined in dwg.spec. obj->fixedtype is set, obj->type only for static types.
11730
    Use dwg_encode_get_class for the variable types.
11731
    Returns 0 or DWG_ERR_OUTOFMEM.
11732
*/
11733
// clang-format off
11734
/* Start auto-generated content. Do not touch. */
11735
// clang-format: off
11736
EXPORT int dwg_setup__3DFACE (Dwg_Object *obj);
11737
EXPORT int dwg_setup__3DSOLID (Dwg_Object *obj);
11738
EXPORT int dwg_setup_ARC (Dwg_Object *obj);
11739
EXPORT int dwg_setup_ATTDEF (Dwg_Object *obj);
11740
EXPORT int dwg_setup_ATTRIB (Dwg_Object *obj);
11741
EXPORT int dwg_setup_BLOCK (Dwg_Object *obj);
11742
EXPORT int dwg_setup_BODY (Dwg_Object *obj);
11743
EXPORT int dwg_setup_CIRCLE (Dwg_Object *obj);
11744
EXPORT int dwg_setup_DIMENSION_ALIGNED (Dwg_Object *obj);
11745
EXPORT int dwg_setup_DIMENSION_ANG2LN (Dwg_Object *obj);
11746
EXPORT int dwg_setup_DIMENSION_ANG3PT (Dwg_Object *obj);
11747
EXPORT int dwg_setup_DIMENSION_DIAMETER (Dwg_Object *obj);
11748
EXPORT int dwg_setup_DIMENSION_LINEAR (Dwg_Object *obj);
11749
EXPORT int dwg_setup_DIMENSION_ORDINATE (Dwg_Object *obj);
11750
EXPORT int dwg_setup_DIMENSION_RADIUS (Dwg_Object *obj);
11751
EXPORT int dwg_setup_ELLIPSE (Dwg_Object *obj);
11752
EXPORT int dwg_setup_ENDBLK (Dwg_Object *obj);
11753
EXPORT int dwg_setup_INSERT (Dwg_Object *obj);
11754
EXPORT int dwg_setup_LEADER (Dwg_Object *obj);
11755
EXPORT int dwg_setup_LINE (Dwg_Object *obj);
11756
EXPORT int dwg_setup_LOAD (Dwg_Object *obj);
11757
EXPORT int dwg_setup_MINSERT (Dwg_Object *obj);
11758
EXPORT int dwg_setup_MLINE (Dwg_Object *obj);
11759
EXPORT int dwg_setup_MTEXT (Dwg_Object *obj);
11760
EXPORT int dwg_setup_OLEFRAME (Dwg_Object *obj);
11761
EXPORT int dwg_setup_POINT (Dwg_Object *obj);
11762
EXPORT int dwg_setup_POLYLINE_2D (Dwg_Object *obj);
11763
EXPORT int dwg_setup_POLYLINE_3D (Dwg_Object *obj);
11764
EXPORT int dwg_setup_POLYLINE_MESH (Dwg_Object *obj);
11765
EXPORT int dwg_setup_POLYLINE_PFACE (Dwg_Object *obj);
11766
EXPORT int dwg_setup_PROXY_ENTITY (Dwg_Object *obj);
11767
EXPORT int dwg_setup_RAY (Dwg_Object *obj);
11768
EXPORT int dwg_setup_REGION (Dwg_Object *obj);
11769
EXPORT int dwg_setup_SEQEND (Dwg_Object *obj);
11770
EXPORT int dwg_setup_SHAPE (Dwg_Object *obj);
11771
EXPORT int dwg_setup_SOLID (Dwg_Object *obj);
11772
EXPORT int dwg_setup_SPLINE (Dwg_Object *obj);
11773
EXPORT int dwg_setup_TEXT (Dwg_Object *obj);
11774
EXPORT int dwg_setup_TOLERANCE (Dwg_Object *obj);
11775
EXPORT int dwg_setup_TRACE (Dwg_Object *obj);
11776
EXPORT int dwg_setup_UNKNOWN_ENT (Dwg_Object *obj);
11777
EXPORT int dwg_setup_VERTEX_2D (Dwg_Object *obj);
11778
EXPORT int dwg_setup_VERTEX_3D (Dwg_Object *obj);
11779
EXPORT int dwg_setup_VERTEX_MESH (Dwg_Object *obj);
11780
EXPORT int dwg_setup_VERTEX_PFACE (Dwg_Object *obj);
11781
EXPORT int dwg_setup_VERTEX_PFACE_FACE (Dwg_Object *obj);
11782
EXPORT int dwg_setup_VIEWPORT (Dwg_Object *obj);
11783
EXPORT int dwg_setup_XLINE (Dwg_Object *obj);
11784
EXPORT int dwg_setup_APPID (Dwg_Object *obj);
11785
EXPORT int dwg_setup_APPID_CONTROL (Dwg_Object *obj);
11786
EXPORT int dwg_setup_BLOCK_CONTROL (Dwg_Object *obj);
11787
EXPORT int dwg_setup_BLOCK_HEADER (Dwg_Object *obj);
11788
EXPORT int dwg_setup_DICTIONARY (Dwg_Object *obj);
11789
EXPORT int dwg_setup_DIMSTYLE (Dwg_Object *obj);
11790
EXPORT int dwg_setup_DIMSTYLE_CONTROL (Dwg_Object *obj);
11791
EXPORT int dwg_setup_DUMMY (Dwg_Object *obj);
11792
EXPORT int dwg_setup_LAYER (Dwg_Object *obj);
11793
EXPORT int dwg_setup_LAYER_CONTROL (Dwg_Object *obj);
11794
EXPORT int dwg_setup_LONG_TRANSACTION (Dwg_Object *obj);
11795
EXPORT int dwg_setup_LTYPE (Dwg_Object *obj);
11796
EXPORT int dwg_setup_LTYPE_CONTROL (Dwg_Object *obj);
11797
EXPORT int dwg_setup_MLINESTYLE (Dwg_Object *obj);
11798
EXPORT int dwg_setup_STYLE (Dwg_Object *obj);
11799
EXPORT int dwg_setup_STYLE_CONTROL (Dwg_Object *obj);
11800
EXPORT int dwg_setup_UCS (Dwg_Object *obj);
11801
EXPORT int dwg_setup_UCS_CONTROL (Dwg_Object *obj);
11802
EXPORT int dwg_setup_UNKNOWN_OBJ (Dwg_Object *obj);
11803
EXPORT int dwg_setup_VIEW (Dwg_Object *obj);
11804
EXPORT int dwg_setup_VIEW_CONTROL (Dwg_Object *obj);
11805
EXPORT int dwg_setup_VPORT (Dwg_Object *obj);
11806
EXPORT int dwg_setup_VPORT_CONTROL (Dwg_Object *obj);
11807
EXPORT int dwg_setup_VX_CONTROL (Dwg_Object *obj);
11808
EXPORT int dwg_setup_VX_TABLE_RECORD (Dwg_Object *obj);
11809
/* untyped > 500 */
11810
EXPORT int dwg_setup__3DLINE (Dwg_Object *obj);
11811
EXPORT int dwg_setup_CAMERA (Dwg_Object *obj);
11812
EXPORT int dwg_setup_DGNUNDERLAY (Dwg_Object *obj);
11813
EXPORT int dwg_setup_DWFUNDERLAY (Dwg_Object *obj);
11814
EXPORT int dwg_setup_ENDREP (Dwg_Object *obj);
11815
EXPORT int dwg_setup_HATCH (Dwg_Object *obj);
11816
EXPORT int dwg_setup_IMAGE (Dwg_Object *obj);
11817
EXPORT int dwg_setup_JUMP (Dwg_Object *obj);
11818
EXPORT int dwg_setup_LIGHT (Dwg_Object *obj);
11819
EXPORT int dwg_setup_LWPOLYLINE (Dwg_Object *obj);
11820
EXPORT int dwg_setup_MESH (Dwg_Object *obj);
11821
EXPORT int dwg_setup_MULTILEADER (Dwg_Object *obj);
11822
EXPORT int dwg_setup_OLE2FRAME (Dwg_Object *obj);
11823
EXPORT int dwg_setup_PDFUNDERLAY (Dwg_Object *obj);
11824
EXPORT int dwg_setup_REPEAT (Dwg_Object *obj);
11825
EXPORT int dwg_setup_SECTIONOBJECT (Dwg_Object *obj);
11826
EXPORT int dwg_setup_WIPEOUT (Dwg_Object *obj);
11827
EXPORT int dwg_setup_ACSH_BOOLEAN_CLASS (Dwg_Object *obj);
11828
EXPORT int dwg_setup_ACSH_BOX_CLASS (Dwg_Object *obj);
11829
EXPORT int dwg_setup_ACSH_CONE_CLASS (Dwg_Object *obj);
11830
EXPORT int dwg_setup_ACSH_CYLINDER_CLASS (Dwg_Object *obj);
11831
EXPORT int dwg_setup_ACSH_FILLET_CLASS (Dwg_Object *obj);
11832
EXPORT int dwg_setup_ACSH_HISTORY_CLASS (Dwg_Object *obj);
11833
EXPORT int dwg_setup_ACSH_SPHERE_CLASS (Dwg_Object *obj);
11834
EXPORT int dwg_setup_ACSH_TORUS_CLASS (Dwg_Object *obj);
11835
EXPORT int dwg_setup_ACSH_WEDGE_CLASS (Dwg_Object *obj);
11836
EXPORT int dwg_setup_ASSOCGEOMDEPENDENCY (Dwg_Object *obj);
11837
EXPORT int dwg_setup_ASSOCNETWORK (Dwg_Object *obj);
11838
EXPORT int dwg_setup_BLOCKALIGNMENTGRIP (Dwg_Object *obj);
11839
EXPORT int dwg_setup_BLOCKALIGNMENTPARAMETER (Dwg_Object *obj);
11840
EXPORT int dwg_setup_BLOCKBASEPOINTPARAMETER (Dwg_Object *obj);
11841
EXPORT int dwg_setup_BLOCKFLIPACTION (Dwg_Object *obj);
11842
EXPORT int dwg_setup_BLOCKFLIPGRIP (Dwg_Object *obj);
11843
EXPORT int dwg_setup_BLOCKFLIPPARAMETER (Dwg_Object *obj);
11844
EXPORT int dwg_setup_BLOCKGRIPLOCATIONCOMPONENT (Dwg_Object *obj);
11845
EXPORT int dwg_setup_BLOCKLINEARGRIP (Dwg_Object *obj);
11846
EXPORT int dwg_setup_BLOCKLOOKUPGRIP (Dwg_Object *obj);
11847
EXPORT int dwg_setup_BLOCKMOVEACTION (Dwg_Object *obj);
11848
EXPORT int dwg_setup_BLOCKROTATEACTION (Dwg_Object *obj);
11849
EXPORT int dwg_setup_BLOCKROTATIONGRIP (Dwg_Object *obj);
11850
EXPORT int dwg_setup_BLOCKSCALEACTION (Dwg_Object *obj);
11851
EXPORT int dwg_setup_BLOCKVISIBILITYGRIP (Dwg_Object *obj);
11852
EXPORT int dwg_setup_CELLSTYLEMAP (Dwg_Object *obj);
11853
EXPORT int dwg_setup_DETAILVIEWSTYLE (Dwg_Object *obj);
11854
EXPORT int dwg_setup_DICTIONARYVAR (Dwg_Object *obj);
11855
EXPORT int dwg_setup_DICTIONARYWDFLT (Dwg_Object *obj);
11856
EXPORT int dwg_setup_DYNAMICBLOCKPURGEPREVENTER (Dwg_Object *obj);
11857
EXPORT int dwg_setup_FIELD (Dwg_Object *obj);
11858
EXPORT int dwg_setup_FIELDLIST (Dwg_Object *obj);
11859
EXPORT int dwg_setup_GEODATA (Dwg_Object *obj);
11860
EXPORT int dwg_setup_GROUP (Dwg_Object *obj);
11861
EXPORT int dwg_setup_IDBUFFER (Dwg_Object *obj);
11862
EXPORT int dwg_setup_IMAGEDEF (Dwg_Object *obj);
11863
EXPORT int dwg_setup_IMAGEDEF_REACTOR (Dwg_Object *obj);
11864
EXPORT int dwg_setup_INDEX (Dwg_Object *obj);
11865
EXPORT int dwg_setup_LAYERFILTER (Dwg_Object *obj);
11866
EXPORT int dwg_setup_LAYER_INDEX (Dwg_Object *obj);
11867
EXPORT int dwg_setup_LAYOUT (Dwg_Object *obj);
11868
EXPORT int dwg_setup_PLACEHOLDER (Dwg_Object *obj);
11869
EXPORT int dwg_setup_PLOTSETTINGS (Dwg_Object *obj);
11870
EXPORT int dwg_setup_RASTERVARIABLES (Dwg_Object *obj);
11871
EXPORT int dwg_setup_RENDERENVIRONMENT (Dwg_Object *obj);
11872
EXPORT int dwg_setup_SCALE (Dwg_Object *obj);
11873
EXPORT int dwg_setup_SECTIONVIEWSTYLE (Dwg_Object *obj);
11874
EXPORT int dwg_setup_SECTION_MANAGER (Dwg_Object *obj);
11875
EXPORT int dwg_setup_SORTENTSTABLE (Dwg_Object *obj);
11876
EXPORT int dwg_setup_SPATIAL_FILTER (Dwg_Object *obj);
11877
EXPORT int dwg_setup_SUN (Dwg_Object *obj);
11878
EXPORT int dwg_setup_TABLEGEOMETRY (Dwg_Object *obj);
11879
EXPORT int dwg_setup_VBA_PROJECT (Dwg_Object *obj);
11880
EXPORT int dwg_setup_VISUALSTYLE (Dwg_Object *obj);
11881
EXPORT int dwg_setup_WIPEOUTVARIABLES (Dwg_Object *obj);
11882
EXPORT int dwg_setup_XRECORD (Dwg_Object *obj);
11883
EXPORT int dwg_setup_PDFDEFINITION (Dwg_Object *obj);
11884
EXPORT int dwg_setup_DGNDEFINITION (Dwg_Object *obj);
11885
EXPORT int dwg_setup_DWFDEFINITION (Dwg_Object *obj);
11886
/* unstable */
11887
EXPORT int dwg_setup_ARC_DIMENSION (Dwg_Object *obj);
11888
EXPORT int dwg_setup_HELIX (Dwg_Object *obj);
11889
EXPORT int dwg_setup_LARGE_RADIAL_DIMENSION (Dwg_Object *obj);
11890
EXPORT int dwg_setup_LAYOUTPRINTCONFIG (Dwg_Object *obj);
11891
EXPORT int dwg_setup_PLANESURFACE (Dwg_Object *obj);
11892
EXPORT int dwg_setup_POINTCLOUD (Dwg_Object *obj);
11893
EXPORT int dwg_setup_POINTCLOUDEX (Dwg_Object *obj);
11894
EXPORT int dwg_setup_ACSH_BREP_CLASS (Dwg_Object *obj);
11895
EXPORT int dwg_setup_ACSH_CHAMFER_CLASS (Dwg_Object *obj);
11896
EXPORT int dwg_setup_ACSH_PYRAMID_CLASS (Dwg_Object *obj);
11897
EXPORT int dwg_setup_ALDIMOBJECTCONTEXTDATA (Dwg_Object *obj);
11898
EXPORT int dwg_setup_ASSOC2DCONSTRAINTGROUP (Dwg_Object *obj);
11899
EXPORT int dwg_setup_ASSOCACTION (Dwg_Object *obj);
11900
EXPORT int dwg_setup_ASSOCACTIONPARAM (Dwg_Object *obj);
11901
EXPORT int dwg_setup_ASSOCARRAYACTIONBODY (Dwg_Object *obj);
11902
EXPORT int dwg_setup_ASSOCASMBODYACTIONPARAM (Dwg_Object *obj);
11903
EXPORT int dwg_setup_ASSOCBLENDSURFACEACTIONBODY (Dwg_Object *obj);
11904
EXPORT int dwg_setup_ASSOCCOMPOUNDACTIONPARAM (Dwg_Object *obj);
11905
EXPORT int dwg_setup_ASSOCDEPENDENCY (Dwg_Object *obj);
11906
EXPORT int dwg_setup_ASSOCDIMDEPENDENCYBODY (Dwg_Object *obj);
11907
EXPORT int dwg_setup_ASSOCEXTENDSURFACEACTIONBODY (Dwg_Object *obj);
11908
EXPORT int dwg_setup_ASSOCEXTRUDEDSURFACEACTIONBODY (Dwg_Object *obj);
11909
EXPORT int dwg_setup_ASSOCFACEACTIONPARAM (Dwg_Object *obj);
11910
EXPORT int dwg_setup_ASSOCFILLETSURFACEACTIONBODY (Dwg_Object *obj);
11911
EXPORT int dwg_setup_ASSOCLOFTEDSURFACEACTIONBODY (Dwg_Object *obj);
11912
EXPORT int dwg_setup_ASSOCNETWORKSURFACEACTIONBODY (Dwg_Object *obj);
11913
EXPORT int dwg_setup_ASSOCOBJECTACTIONPARAM (Dwg_Object *obj);
11914
EXPORT int dwg_setup_ASSOCOFFSETSURFACEACTIONBODY (Dwg_Object *obj);
11915
EXPORT int dwg_setup_ASSOCOSNAPPOINTREFACTIONPARAM (Dwg_Object *obj);
11916
EXPORT int dwg_setup_ASSOCPATCHSURFACEACTIONBODY (Dwg_Object *obj);
11917
EXPORT int dwg_setup_ASSOCPATHACTIONPARAM (Dwg_Object *obj);
11918
EXPORT int dwg_setup_ASSOCPLANESURFACEACTIONBODY (Dwg_Object *obj);
11919
EXPORT int dwg_setup_ASSOCPOINTREFACTIONPARAM (Dwg_Object *obj);
11920
EXPORT int dwg_setup_ASSOCREVOLVEDSURFACEACTIONBODY (Dwg_Object *obj);
11921
EXPORT int dwg_setup_ASSOCTRIMSURFACEACTIONBODY (Dwg_Object *obj);
11922
EXPORT int dwg_setup_ASSOCVALUEDEPENDENCY (Dwg_Object *obj);
11923
EXPORT int dwg_setup_ASSOCVARIABLE (Dwg_Object *obj);
11924
EXPORT int dwg_setup_ASSOCVERTEXACTIONPARAM (Dwg_Object *obj);
11925
EXPORT int dwg_setup_BLKREFOBJECTCONTEXTDATA (Dwg_Object *obj);
11926
EXPORT int dwg_setup_BLOCKALIGNEDCONSTRAINTPARAMETER (Dwg_Object *obj);
11927
EXPORT int dwg_setup_BLOCKANGULARCONSTRAINTPARAMETER (Dwg_Object *obj);
11928
EXPORT int dwg_setup_BLOCKARRAYACTION (Dwg_Object *obj);
11929
EXPORT int dwg_setup_BLOCKDIAMETRICCONSTRAINTPARAMETER (Dwg_Object *obj);
11930
EXPORT int dwg_setup_BLOCKHORIZONTALCONSTRAINTPARAMETER (Dwg_Object *obj);
11931
EXPORT int dwg_setup_BLOCKLINEARCONSTRAINTPARAMETER (Dwg_Object *obj);
11932
EXPORT int dwg_setup_BLOCKLINEARPARAMETER (Dwg_Object *obj);
11933
EXPORT int dwg_setup_BLOCKLOOKUPACTION (Dwg_Object *obj);
11934
EXPORT int dwg_setup_BLOCKLOOKUPPARAMETER (Dwg_Object *obj);
11935
EXPORT int dwg_setup_BLOCKPARAMDEPENDENCYBODY (Dwg_Object *obj);
11936
EXPORT int dwg_setup_BLOCKPOINTPARAMETER (Dwg_Object *obj);
11937
EXPORT int dwg_setup_BLOCKPOLARGRIP (Dwg_Object *obj);
11938
EXPORT int dwg_setup_BLOCKPOLARPARAMETER (Dwg_Object *obj);
11939
EXPORT int dwg_setup_BLOCKPOLARSTRETCHACTION (Dwg_Object *obj);
11940
EXPORT int dwg_setup_BLOCKRADIALCONSTRAINTPARAMETER (Dwg_Object *obj);
11941
EXPORT int dwg_setup_BLOCKREPRESENTATION (Dwg_Object *obj);
11942
EXPORT int dwg_setup_BLOCKROTATIONPARAMETER (Dwg_Object *obj);
11943
EXPORT int dwg_setup_BLOCKSTRETCHACTION (Dwg_Object *obj);
11944
EXPORT int dwg_setup_BLOCKUSERPARAMETER (Dwg_Object *obj);
11945
EXPORT int dwg_setup_BLOCKVERTICALCONSTRAINTPARAMETER (Dwg_Object *obj);
11946
EXPORT int dwg_setup_BLOCKVISIBILITYPARAMETER (Dwg_Object *obj);
11947
EXPORT int dwg_setup_BLOCKXYGRIP (Dwg_Object *obj);
11948
EXPORT int dwg_setup_BLOCKXYPARAMETER (Dwg_Object *obj);
11949
EXPORT int dwg_setup_DATALINK (Dwg_Object *obj);
11950
EXPORT int dwg_setup_DBCOLOR (Dwg_Object *obj);
11951
EXPORT int dwg_setup_EVALUATION_GRAPH (Dwg_Object *obj);
11952
EXPORT int dwg_setup_FCFOBJECTCONTEXTDATA (Dwg_Object *obj);
11953
EXPORT int dwg_setup_GRADIENT_BACKGROUND (Dwg_Object *obj);
11954
EXPORT int dwg_setup_GROUND_PLANE_BACKGROUND (Dwg_Object *obj);
11955
EXPORT int dwg_setup_IBL_BACKGROUND (Dwg_Object *obj);
11956
EXPORT int dwg_setup_IMAGE_BACKGROUND (Dwg_Object *obj);
11957
EXPORT int dwg_setup_LEADEROBJECTCONTEXTDATA (Dwg_Object *obj);
11958
EXPORT int dwg_setup_LIGHTLIST (Dwg_Object *obj);
11959
EXPORT int dwg_setup_MATERIAL (Dwg_Object *obj);
11960
EXPORT int dwg_setup_MENTALRAYRENDERSETTINGS (Dwg_Object *obj);
11961
EXPORT int dwg_setup_MLEADERSTYLE (Dwg_Object *obj);
11962
EXPORT int dwg_setup_MTEXTOBJECTCONTEXTDATA (Dwg_Object *obj);
11963
EXPORT int dwg_setup_OBJECT_PTR (Dwg_Object *obj);
11964
EXPORT int dwg_setup_PARTIAL_VIEWING_INDEX (Dwg_Object *obj);
11965
EXPORT int dwg_setup_POINTCLOUDCOLORMAP (Dwg_Object *obj);
11966
EXPORT int dwg_setup_POINTCLOUDDEF (Dwg_Object *obj);
11967
EXPORT int dwg_setup_POINTCLOUDDEFEX (Dwg_Object *obj);
11968
EXPORT int dwg_setup_POINTCLOUDDEF_REACTOR (Dwg_Object *obj);
11969
EXPORT int dwg_setup_POINTCLOUDDEF_REACTOR_EX (Dwg_Object *obj);
11970
EXPORT int dwg_setup_PROXY_OBJECT (Dwg_Object *obj);
11971
EXPORT int dwg_setup_RAPIDRTRENDERSETTINGS (Dwg_Object *obj);
11972
EXPORT int dwg_setup_RENDERENTRY (Dwg_Object *obj);
11973
EXPORT int dwg_setup_RENDERGLOBAL (Dwg_Object *obj);
11974
EXPORT int dwg_setup_RENDERSETTINGS (Dwg_Object *obj);
11975
EXPORT int dwg_setup_SECTION_SETTINGS (Dwg_Object *obj);
11976
EXPORT int dwg_setup_SKYLIGHT_BACKGROUND (Dwg_Object *obj);
11977
EXPORT int dwg_setup_SOLID_BACKGROUND (Dwg_Object *obj);
11978
EXPORT int dwg_setup_SPATIAL_INDEX (Dwg_Object *obj);
11979
EXPORT int dwg_setup_TABLESTYLE (Dwg_Object *obj);
11980
EXPORT int dwg_setup_TEXTOBJECTCONTEXTDATA (Dwg_Object *obj);
11981
EXPORT int dwg_setup_ASSOCARRAYMODIFYPARAMETERS (Dwg_Object *obj);
11982
EXPORT int dwg_setup_ASSOCARRAYPATHPARAMETERS (Dwg_Object *obj);
11983
EXPORT int dwg_setup_ASSOCARRAYPOLARPARAMETERS (Dwg_Object *obj);
11984
EXPORT int dwg_setup_ASSOCARRAYRECTANGULARPARAMETERS (Dwg_Object *obj);
11985
#ifdef DEBUG_CLASSES
11986
  EXPORT int dwg_setup_ALIGNMENTPARAMETERENTITY (Dwg_Object *obj);
11987
  EXPORT int dwg_setup_ARCALIGNEDTEXT (Dwg_Object *obj);
11988
  EXPORT int dwg_setup_BASEPOINTPARAMETERENTITY (Dwg_Object *obj);
11989
  EXPORT int dwg_setup_EXTRUDEDSURFACE (Dwg_Object *obj);
11990
  EXPORT int dwg_setup_FLIPGRIPENTITY (Dwg_Object *obj);
11991
  EXPORT int dwg_setup_FLIPPARAMETERENTITY (Dwg_Object *obj);
11992
  EXPORT int dwg_setup_GEOPOSITIONMARKER (Dwg_Object *obj);
11993
  EXPORT int dwg_setup_LINEARGRIPENTITY (Dwg_Object *obj);
11994
  EXPORT int dwg_setup_LINEARPARAMETERENTITY (Dwg_Object *obj);
11995
  EXPORT int dwg_setup_LOFTEDSURFACE (Dwg_Object *obj);
11996
  EXPORT int dwg_setup_MPOLYGON (Dwg_Object *obj);
11997
  EXPORT int dwg_setup_NAVISWORKSMODEL (Dwg_Object *obj);
11998
  EXPORT int dwg_setup_NURBSURFACE (Dwg_Object *obj);
11999
  EXPORT int dwg_setup_POINTPARAMETERENTITY (Dwg_Object *obj);
12000
  EXPORT int dwg_setup_POLARGRIPENTITY (Dwg_Object *obj);
12001
  EXPORT int dwg_setup_REVOLVEDSURFACE (Dwg_Object *obj);
12002
  EXPORT int dwg_setup_ROTATIONGRIPENTITY (Dwg_Object *obj);
12003
  EXPORT int dwg_setup_ROTATIONPARAMETERENTITY (Dwg_Object *obj);
12004
  EXPORT int dwg_setup_RTEXT (Dwg_Object *obj);
12005
  EXPORT int dwg_setup_SWEPTSURFACE (Dwg_Object *obj);
12006
  EXPORT int dwg_setup_TABLE (Dwg_Object *obj);
12007
  EXPORT int dwg_setup_VISIBILITYGRIPENTITY (Dwg_Object *obj);
12008
  EXPORT int dwg_setup_VISIBILITYPARAMETERENTITY (Dwg_Object *obj);
12009
  EXPORT int dwg_setup_XYGRIPENTITY (Dwg_Object *obj);
12010
  EXPORT int dwg_setup_XYPARAMETERENTITY (Dwg_Object *obj);
12011
  EXPORT int dwg_setup_ACMECOMMANDHISTORY (Dwg_Object *obj);
12012
  EXPORT int dwg_setup_ACMESCOPE (Dwg_Object *obj);
12013
  EXPORT int dwg_setup_ACMESTATEMGR (Dwg_Object *obj);
12014
  EXPORT int dwg_setup_ACSH_EXTRUSION_CLASS (Dwg_Object *obj);
12015
  EXPORT int dwg_setup_ACSH_LOFT_CLASS (Dwg_Object *obj);
12016
  EXPORT int dwg_setup_ACSH_REVOLVE_CLASS (Dwg_Object *obj);
12017
  EXPORT int dwg_setup_ACSH_SWEEP_CLASS (Dwg_Object *obj);
12018
  EXPORT int dwg_setup_ANGDIMOBJECTCONTEXTDATA (Dwg_Object *obj);
12019
  EXPORT int dwg_setup_ANNOTSCALEOBJECTCONTEXTDATA (Dwg_Object *obj);
12020
  EXPORT int dwg_setup_ASSOC3POINTANGULARDIMACTIONBODY (Dwg_Object *obj);
12021
  EXPORT int dwg_setup_ASSOCALIGNEDDIMACTIONBODY (Dwg_Object *obj);
12022
  EXPORT int dwg_setup_ASSOCARRAYMODIFYACTIONBODY (Dwg_Object *obj);
12023
  EXPORT int dwg_setup_ASSOCEDGEACTIONPARAM (Dwg_Object *obj);
12024
  EXPORT int dwg_setup_ASSOCEDGECHAMFERACTIONBODY (Dwg_Object *obj);
12025
  EXPORT int dwg_setup_ASSOCEDGEFILLETACTIONBODY (Dwg_Object *obj);
12026
  EXPORT int dwg_setup_ASSOCMLEADERACTIONBODY (Dwg_Object *obj);
12027
  EXPORT int dwg_setup_ASSOCORDINATEDIMACTIONBODY (Dwg_Object *obj);
12028
  EXPORT int dwg_setup_ASSOCPERSSUBENTMANAGER (Dwg_Object *obj);
12029
  EXPORT int dwg_setup_ASSOCRESTOREENTITYSTATEACTIONBODY (Dwg_Object *obj);
12030
  EXPORT int dwg_setup_ASSOCROTATEDDIMACTIONBODY (Dwg_Object *obj);
12031
  EXPORT int dwg_setup_ASSOCSWEPTSURFACEACTIONBODY (Dwg_Object *obj);
12032
  EXPORT int dwg_setup_BLOCKPROPERTIESTABLE (Dwg_Object *obj);
12033
  EXPORT int dwg_setup_BLOCKPROPERTIESTABLEGRIP (Dwg_Object *obj);
12034
  EXPORT int dwg_setup_BREAKDATA (Dwg_Object *obj);
12035
  EXPORT int dwg_setup_BREAKPOINTREF (Dwg_Object *obj);
12036
  EXPORT int dwg_setup_CONTEXTDATAMANAGER (Dwg_Object *obj);
12037
  EXPORT int dwg_setup_CSACDOCUMENTOPTIONS (Dwg_Object *obj);
12038
  EXPORT int dwg_setup_CURVEPATH (Dwg_Object *obj);
12039
  EXPORT int dwg_setup_DATATABLE (Dwg_Object *obj);
12040
  EXPORT int dwg_setup_DIMASSOC (Dwg_Object *obj);
12041
  EXPORT int dwg_setup_DMDIMOBJECTCONTEXTDATA (Dwg_Object *obj);
12042
  EXPORT int dwg_setup_DYNAMICBLOCKPROXYNODE (Dwg_Object *obj);
12043
  EXPORT int dwg_setup_GEOMAPIMAGE (Dwg_Object *obj);
12044
  EXPORT int dwg_setup_MLEADEROBJECTCONTEXTDATA (Dwg_Object *obj);
12045
  EXPORT int dwg_setup_MOTIONPATH (Dwg_Object *obj);
12046
  EXPORT int dwg_setup_MTEXTATTRIBUTEOBJECTCONTEXTDATA (Dwg_Object *obj);
12047
  EXPORT int dwg_setup_NAVISWORKSMODELDEF (Dwg_Object *obj);
12048
  EXPORT int dwg_setup_ORDDIMOBJECTCONTEXTDATA (Dwg_Object *obj);
12049
  EXPORT int dwg_setup_PERSUBENTMGR (Dwg_Object *obj);
12050
  EXPORT int dwg_setup_POINTPATH (Dwg_Object *obj);
12051
  EXPORT int dwg_setup_RADIMLGOBJECTCONTEXTDATA (Dwg_Object *obj);
12052
  EXPORT int dwg_setup_RADIMOBJECTCONTEXTDATA (Dwg_Object *obj);
12053
  EXPORT int dwg_setup_SUNSTUDY (Dwg_Object *obj);
12054
  EXPORT int dwg_setup_TABLECONTENT (Dwg_Object *obj);
12055
  EXPORT int dwg_setup_TVDEVICEPROPERTIES (Dwg_Object *obj);
12056
  //EXPORT int dwg_setup_ABSHDRAWINGSETTINGS (Dwg_Object *obj);
12057
  //EXPORT int dwg_setup_ACAECUSTOBJ (Dwg_Object *obj);
12058
  //EXPORT int dwg_setup_ACAEEEMGROBJ (Dwg_Object *obj);
12059
  //EXPORT int dwg_setup_ACAMCOMP (Dwg_Object *obj);
12060
  //EXPORT int dwg_setup_ACAMCOMPDEF (Dwg_Object *obj);
12061
  //EXPORT int dwg_setup_ACAMCOMPDEFMGR (Dwg_Object *obj);
12062
  //EXPORT int dwg_setup_ACAMCONTEXTMODELER (Dwg_Object *obj);
12063
  //EXPORT int dwg_setup_ACAMGDIMSTD (Dwg_Object *obj);
12064
  //EXPORT int dwg_setup_ACAMGFILTERDAT (Dwg_Object *obj);
12065
  //EXPORT int dwg_setup_ACAMGHOLECHARTSTDCSN (Dwg_Object *obj);
12066
  //EXPORT int dwg_setup_ACAMGHOLECHARTSTDDIN (Dwg_Object *obj);
12067
  //EXPORT int dwg_setup_ACAMGHOLECHARTSTDISO (Dwg_Object *obj);
12068
  //EXPORT int dwg_setup_ACAMGLAYSTD (Dwg_Object *obj);
12069
  //EXPORT int dwg_setup_ACAMGRCOMPDEF (Dwg_Object *obj);
12070
  //EXPORT int dwg_setup_ACAMGRCOMPDEFSET (Dwg_Object *obj);
12071
  //EXPORT int dwg_setup_ACAMGTITLESTD (Dwg_Object *obj);
12072
  //EXPORT int dwg_setup_ACAMMVDBACKUPOBJECT (Dwg_Object *obj);
12073
  //EXPORT int dwg_setup_ACAMPROJECT (Dwg_Object *obj);
12074
  //EXPORT int dwg_setup_ACAMSHAFTCOMPDEF (Dwg_Object *obj);
12075
  //EXPORT int dwg_setup_ACAMSTDPCOMPDEF (Dwg_Object *obj);
12076
  //EXPORT int dwg_setup_ACAMWBLOCKTEMPENTS (Dwg_Object *obj);
12077
  //EXPORT int dwg_setup_ACARRAYJIGENTITY (Dwg_Object *obj);
12078
  //EXPORT int dwg_setup_ACCMCONTEXT (Dwg_Object *obj);
12079
  //EXPORT int dwg_setup_ACDBCIRCARCRES (Dwg_Object *obj);
12080
  //EXPORT int dwg_setup_ACDBDIMENSIONRES (Dwg_Object *obj);
12081
  //EXPORT int dwg_setup_ACDBENTITYCACHE (Dwg_Object *obj);
12082
  //EXPORT int dwg_setup_ACDBLINERES (Dwg_Object *obj);
12083
  //EXPORT int dwg_setup_ACDBSTDPARTRES_ARC (Dwg_Object *obj);
12084
  //EXPORT int dwg_setup_ACDBSTDPARTRES_LINE (Dwg_Object *obj);
12085
  //EXPORT int dwg_setup_ACDB_HATCHSCALECONTEXTDATA_CLASS (Dwg_Object *obj);
12086
  //EXPORT int dwg_setup_ACDB_HATCHVIEWCONTEXTDATA_CLASS (Dwg_Object *obj);
12087
  //EXPORT int dwg_setup_ACDB_PROXY_ENTITY_DATA (Dwg_Object *obj);
12088
  //EXPORT int dwg_setup_ACDSRECORD (Dwg_Object *obj);
12089
  //EXPORT int dwg_setup_ACDSSCHEMA (Dwg_Object *obj);
12090
  //EXPORT int dwg_setup_ACGREFACADMASTER (Dwg_Object *obj);
12091
  //EXPORT int dwg_setup_ACGREFMASTER (Dwg_Object *obj);
12092
  //EXPORT int dwg_setup_ACIMINTSYSVAR (Dwg_Object *obj);
12093
  //EXPORT int dwg_setup_ACIMREALSYSVAR (Dwg_Object *obj);
12094
  //EXPORT int dwg_setup_ACIMSTRSYSVAR (Dwg_Object *obj);
12095
  //EXPORT int dwg_setup_ACIMSYSVARMAN (Dwg_Object *obj);
12096
  //EXPORT int dwg_setup_ACMANOOTATIONVIEWSTANDARDANSI (Dwg_Object *obj);
12097
  //EXPORT int dwg_setup_ACMANOOTATIONVIEWSTANDARDCSN (Dwg_Object *obj);
12098
  //EXPORT int dwg_setup_ACMANOOTATIONVIEWSTANDARDDIN (Dwg_Object *obj);
12099
  //EXPORT int dwg_setup_ACMANOOTATIONVIEWSTANDARDISO (Dwg_Object *obj);
12100
  //EXPORT int dwg_setup_ACMAPLEGENDDBOBJECT (Dwg_Object *obj);
12101
  //EXPORT int dwg_setup_ACMAPLEGENDITEMDBOBJECT (Dwg_Object *obj);
12102
  //EXPORT int dwg_setup_ACMAPMAPVIEWPORTDBOBJECT (Dwg_Object *obj);
12103
  //EXPORT int dwg_setup_ACMAPPRINTLAYOUTELEMENTDBOBJECTCONTAINER (Dwg_Object *obj);
12104
  //EXPORT int dwg_setup_ACMBALLOON (Dwg_Object *obj);
12105
  //EXPORT int dwg_setup_ACMBOM (Dwg_Object *obj);
12106
  //EXPORT int dwg_setup_ACMBOMROW (Dwg_Object *obj);
12107
  //EXPORT int dwg_setup_ACMBOMROWSTRUCT (Dwg_Object *obj);
12108
  //EXPORT int dwg_setup_ACMBOMSTANDARDANSI (Dwg_Object *obj);
12109
  //EXPORT int dwg_setup_ACMBOMSTANDARDCSN (Dwg_Object *obj);
12110
  //EXPORT int dwg_setup_ACMBOMSTANDARDDIN (Dwg_Object *obj);
12111
  //EXPORT int dwg_setup_ACMBOMSTANDARDISO (Dwg_Object *obj);
12112
  //EXPORT int dwg_setup_ACMCENTERLINESTANDARDANSI (Dwg_Object *obj);
12113
  //EXPORT int dwg_setup_ACMCENTERLINESTANDARDCSN (Dwg_Object *obj);
12114
  //EXPORT int dwg_setup_ACMCENTERLINESTANDARDDIN (Dwg_Object *obj);
12115
  //EXPORT int dwg_setup_ACMCENTERLINESTANDARDISO (Dwg_Object *obj);
12116
  //EXPORT int dwg_setup_ACMDATADICTIONARY (Dwg_Object *obj);
12117
  //EXPORT int dwg_setup_ACMDATAENTRY (Dwg_Object *obj);
12118
  //EXPORT int dwg_setup_ACMDATAENTRYBLOCK (Dwg_Object *obj);
12119
  //EXPORT int dwg_setup_ACMDATUMID (Dwg_Object *obj);
12120
  //EXPORT int dwg_setup_ACMDATUMSTANDARDANSI (Dwg_Object *obj);
12121
  //EXPORT int dwg_setup_ACMDATUMSTANDARDCSN (Dwg_Object *obj);
12122
  //EXPORT int dwg_setup_ACMDATUMSTANDARDDIN (Dwg_Object *obj);
12123
  //EXPORT int dwg_setup_ACMDATUMSTANDARDISO (Dwg_Object *obj);
12124
  //EXPORT int dwg_setup_ACMDATUMSTANDARDISO2012 (Dwg_Object *obj);
12125
  //EXPORT int dwg_setup_ACMDETAILSTANDARDANSI (Dwg_Object *obj);
12126
  //EXPORT int dwg_setup_ACMDETAILSTANDARDCSN (Dwg_Object *obj);
12127
  //EXPORT int dwg_setup_ACMDETAILSTANDARDDIN (Dwg_Object *obj);
12128
  //EXPORT int dwg_setup_ACMDETAILSTANDARDISO (Dwg_Object *obj);
12129
  //EXPORT int dwg_setup_ACMDETAILTANDARDCUSTOM (Dwg_Object *obj);
12130
  //EXPORT int dwg_setup_ACMDIMBREAKPERSREACTOR (Dwg_Object *obj);
12131
  //EXPORT int dwg_setup_ACMEDRAWINGMAN (Dwg_Object *obj);
12132
  //EXPORT int dwg_setup_ACMEVIEW (Dwg_Object *obj);
12133
  //EXPORT int dwg_setup_ACME_DATABASE (Dwg_Object *obj);
12134
  //EXPORT int dwg_setup_ACME_DOCUMENT (Dwg_Object *obj);
12135
  //EXPORT int dwg_setup_ACMFCFRAME (Dwg_Object *obj);
12136
  //EXPORT int dwg_setup_ACMFCFSTANDARDANSI (Dwg_Object *obj);
12137
  //EXPORT int dwg_setup_ACMFCFSTANDARDCSN (Dwg_Object *obj);
12138
  //EXPORT int dwg_setup_ACMFCFSTANDARDDIN (Dwg_Object *obj);
12139
  //EXPORT int dwg_setup_ACMFCFSTANDARDISO (Dwg_Object *obj);
12140
  //EXPORT int dwg_setup_ACMFCFSTANDARDISO2004 (Dwg_Object *obj);
12141
  //EXPORT int dwg_setup_ACMFCFSTANDARDISO2012 (Dwg_Object *obj);
12142
  //EXPORT int dwg_setup_ACMIDSTANDARDANSI (Dwg_Object *obj);
12143
  //EXPORT int dwg_setup_ACMIDSTANDARDCSN (Dwg_Object *obj);
12144
  //EXPORT int dwg_setup_ACMIDSTANDARDDIN (Dwg_Object *obj);
12145
  //EXPORT int dwg_setup_ACMIDSTANDARDISO (Dwg_Object *obj);
12146
  //EXPORT int dwg_setup_ACMIDSTANDARDISO2004 (Dwg_Object *obj);
12147
  //EXPORT int dwg_setup_ACMIDSTANDARDISO2012 (Dwg_Object *obj);
12148
  //EXPORT int dwg_setup_ACMNOTESTANDARDANSI (Dwg_Object *obj);
12149
  //EXPORT int dwg_setup_ACMNOTESTANDARDCSN (Dwg_Object *obj);
12150
  //EXPORT int dwg_setup_ACMNOTESTANDARDDIN (Dwg_Object *obj);
12151
  //EXPORT int dwg_setup_ACMNOTESTANDARDISO (Dwg_Object *obj);
12152
  //EXPORT int dwg_setup_ACMPARTLIST (Dwg_Object *obj);
12153
  //EXPORT int dwg_setup_ACMPICKOBJ (Dwg_Object *obj);
12154
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDANSI (Dwg_Object *obj);
12155
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDCSN2002 (Dwg_Object *obj);
12156
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDCUSTOM (Dwg_Object *obj);
12157
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDDIN (Dwg_Object *obj);
12158
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDISO (Dwg_Object *obj);
12159
  //EXPORT int dwg_setup_ACMSECTIONSTANDARDISO2001 (Dwg_Object *obj);
12160
  //EXPORT int dwg_setup_ACMSTANDARDANSI (Dwg_Object *obj);
12161
  //EXPORT int dwg_setup_ACMSTANDARDCSN (Dwg_Object *obj);
12162
  //EXPORT int dwg_setup_ACMSTANDARDDIN (Dwg_Object *obj);
12163
  //EXPORT int dwg_setup_ACMSTANDARDISO (Dwg_Object *obj);
12164
  //EXPORT int dwg_setup_ACMSURFSTANDARDANSI (Dwg_Object *obj);
12165
  //EXPORT int dwg_setup_ACMSURFSTANDARDCSN (Dwg_Object *obj);
12166
  //EXPORT int dwg_setup_ACMSURFSTANDARDDIN (Dwg_Object *obj);
12167
  //EXPORT int dwg_setup_ACMSURFSTANDARDISO (Dwg_Object *obj);
12168
  //EXPORT int dwg_setup_ACMSURFSTANDARDISO2002 (Dwg_Object *obj);
12169
  //EXPORT int dwg_setup_ACMSURFSYM (Dwg_Object *obj);
12170
  //EXPORT int dwg_setup_ACMTAPERSTANDARDANSI (Dwg_Object *obj);
12171
  //EXPORT int dwg_setup_ACMTAPERSTANDARDCSN (Dwg_Object *obj);
12172
  //EXPORT int dwg_setup_ACMTAPERSTANDARDDIN (Dwg_Object *obj);
12173
  //EXPORT int dwg_setup_ACMTAPERSTANDARDISO (Dwg_Object *obj);
12174
  //EXPORT int dwg_setup_ACMTHREADLINESTANDARDANSI (Dwg_Object *obj);
12175
  //EXPORT int dwg_setup_ACMTHREADLINESTANDARDCSN (Dwg_Object *obj);
12176
  //EXPORT int dwg_setup_ACMTHREADLINESTANDARDDIN (Dwg_Object *obj);
12177
  //EXPORT int dwg_setup_ACMTHREADLINESTANDARDISO (Dwg_Object *obj);
12178
  //EXPORT int dwg_setup_ACMWELDSTANDARDANSI (Dwg_Object *obj);
12179
  //EXPORT int dwg_setup_ACMWELDSTANDARDCSN (Dwg_Object *obj);
12180
  //EXPORT int dwg_setup_ACMWELDSTANDARDDIN (Dwg_Object *obj);
12181
  //EXPORT int dwg_setup_ACMWELDSTANDARDISO (Dwg_Object *obj);
12182
  //EXPORT int dwg_setup_ACMWELDSYM (Dwg_Object *obj);
12183
  //EXPORT int dwg_setup_ACRFATTGENMGR (Dwg_Object *obj);
12184
  //EXPORT int dwg_setup_ACRFINSADJ (Dwg_Object *obj);
12185
  //EXPORT int dwg_setup_ACRFINSADJUSTERMGR (Dwg_Object *obj);
12186
  //EXPORT int dwg_setup_ACRFMCADAPIATTHOLDER (Dwg_Object *obj);
12187
  //EXPORT int dwg_setup_ACRFOBJATTMGR (Dwg_Object *obj);
12188
  //EXPORT int dwg_setup_ACSH_SUBENT_MATERIAL_CLASS (Dwg_Object *obj);
12189
  //EXPORT int dwg_setup_AC_AM_2D_XREF_MGR (Dwg_Object *obj);
12190
  //EXPORT int dwg_setup_AC_AM_BASIC_VIEW (Dwg_Object *obj);
12191
  //EXPORT int dwg_setup_AC_AM_BASIC_VIEW_DEF (Dwg_Object *obj);
12192
  //EXPORT int dwg_setup_AC_AM_COMPLEX_HIDE_SITUATION (Dwg_Object *obj);
12193
  //EXPORT int dwg_setup_AC_AM_COMP_VIEW_DEF (Dwg_Object *obj);
12194
  //EXPORT int dwg_setup_AC_AM_COMP_VIEW_INST (Dwg_Object *obj);
12195
  //EXPORT int dwg_setup_AC_AM_DIRTY_NODES (Dwg_Object *obj);
12196
  //EXPORT int dwg_setup_AC_AM_HIDE_SITUATION (Dwg_Object *obj);
12197
  //EXPORT int dwg_setup_AC_AM_MAPPER_CACHE (Dwg_Object *obj);
12198
  //EXPORT int dwg_setup_AC_AM_MASTER_VIEW_DEF (Dwg_Object *obj);
12199
  //EXPORT int dwg_setup_AC_AM_MVD_DEP_MGR (Dwg_Object *obj);
12200
  //EXPORT int dwg_setup_AC_AM_OVERRIDE_FILTER (Dwg_Object *obj);
12201
  //EXPORT int dwg_setup_AC_AM_PROPS_OVERRIDE (Dwg_Object *obj);
12202
  //EXPORT int dwg_setup_AC_AM_SHAFT_HIDE_SITUATION (Dwg_Object *obj);
12203
  //EXPORT int dwg_setup_AC_AM_STDP_VIEW_DEF (Dwg_Object *obj);
12204
  //EXPORT int dwg_setup_AC_AM_TRANSFORM_GHOST (Dwg_Object *obj);
12205
  //EXPORT int dwg_setup_ADAPPL (Dwg_Object *obj);
12206
  //EXPORT int dwg_setup_AECC_ALIGNMENT_DESIGN_CHECK_SET (Dwg_Object *obj);
12207
  //EXPORT int dwg_setup_AECC_ALIGNMENT_LABEL_SET (Dwg_Object *obj);
12208
  //EXPORT int dwg_setup_AECC_ALIGNMENT_LABEL_SET_EXT (Dwg_Object *obj);
12209
  //EXPORT int dwg_setup_AECC_ALIGNMENT_PARCEL_NODE (Dwg_Object *obj);
12210
  //EXPORT int dwg_setup_AECC_ALIGNMENT_STYLE (Dwg_Object *obj);
12211
  //EXPORT int dwg_setup_AECC_APPURTENANCE_STYLE (Dwg_Object *obj);
12212
  //EXPORT int dwg_setup_AECC_ASSEMBLY_STYLE (Dwg_Object *obj);
12213
  //EXPORT int dwg_setup_AECC_BUILDING_SITE_STYLE (Dwg_Object *obj);
12214
  //EXPORT int dwg_setup_AECC_CANT_DIAGRAM_VIEW_STYLE (Dwg_Object *obj);
12215
  //EXPORT int dwg_setup_AECC_CATCHMENT_STYLE (Dwg_Object *obj);
12216
  //EXPORT int dwg_setup_AECC_CLASS_NODE (Dwg_Object *obj);
12217
  //EXPORT int dwg_setup_AECC_CONTOURVIEW (Dwg_Object *obj);
12218
  //EXPORT int dwg_setup_AECC_CORRIDOR_STYLE (Dwg_Object *obj);
12219
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT (Dwg_Object *obj);
12220
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_CANT_LABEL_GROUP (Dwg_Object *obj);
12221
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_CSV (Dwg_Object *obj);
12222
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_CURVE_LABEL (Dwg_Object *obj);
12223
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_DESIGNSPEED_LABEL_GROUP (Dwg_Object *obj);
12224
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_GEOMPT_LABEL_GROUP (Dwg_Object *obj);
12225
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_INDEXED_PI_LABEL (Dwg_Object *obj);
12226
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_MINOR_STATION_LABEL_GROUP (Dwg_Object *obj);
12227
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_PI_LABEL (Dwg_Object *obj);
12228
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_SPIRAL_LABEL (Dwg_Object *obj);
12229
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_STAEQU_LABEL_GROUP (Dwg_Object *obj);
12230
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_STATION_LABEL_GROUP (Dwg_Object *obj);
12231
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_STATION_OFFSET_LABEL (Dwg_Object *obj);
12232
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_SUPERELEVATION_LABEL_GROUP (Dwg_Object *obj);
12233
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_TABLE (Dwg_Object *obj);
12234
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_TANGENT_LABEL (Dwg_Object *obj);
12235
  //EXPORT int dwg_setup_AECC_DISP_REP_ALIGNMENT_VERTICAL_GEOMPT_LABELING (Dwg_Object *obj);
12236
  //EXPORT int dwg_setup_AECC_DISP_REP_APPURTENANCE (Dwg_Object *obj);
12237
  //EXPORT int dwg_setup_AECC_DISP_REP_APPURTENANCE_CSV (Dwg_Object *obj);
12238
  //EXPORT int dwg_setup_AECC_DISP_REP_APPURTENANCE_LABELING (Dwg_Object *obj);
12239
  //EXPORT int dwg_setup_AECC_DISP_REP_APPURTENANCE_PROFILE_LABELING (Dwg_Object *obj);
12240
  //EXPORT int dwg_setup_AECC_DISP_REP_ASSEMBLY (Dwg_Object *obj);
12241
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE (Dwg_Object *obj);
12242
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_PROFILE (Dwg_Object *obj);
12243
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_CORRIDOR_FEATURE_LINE_SECTION (Dwg_Object *obj);
12244
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_FEATURE_LINE (Dwg_Object *obj);
12245
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_FEATURE_LINE_CSV (Dwg_Object *obj);
12246
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_FEATURE_LINE_PROFILE (Dwg_Object *obj);
12247
  //EXPORT int dwg_setup_AECC_DISP_REP_AUTO_FEATURE_LINE_SECTION (Dwg_Object *obj);
12248
  //EXPORT int dwg_setup_AECC_DISP_REP_BUILDINGSITE (Dwg_Object *obj);
12249
  //EXPORT int dwg_setup_AECC_DISP_REP_BUILDINGUTIL_CONNECTOR (Dwg_Object *obj);
12250
  //EXPORT int dwg_setup_AECC_DISP_REP_CANT_DIAGRAM_VIEW (Dwg_Object *obj);
12251
  //EXPORT int dwg_setup_AECC_DISP_REP_CATCHMENT_AREA (Dwg_Object *obj);
12252
  //EXPORT int dwg_setup_AECC_DISP_REP_CATCHMENT_AREA_LABEL (Dwg_Object *obj);
12253
  //EXPORT int dwg_setup_AECC_DISP_REP_CORRIDOR (Dwg_Object *obj);
12254
  //EXPORT int dwg_setup_AECC_DISP_REP_CROSSING_PIPE_PROFILE_LABELING (Dwg_Object *obj);
12255
  //EXPORT int dwg_setup_AECC_DISP_REP_CROSSING_PRESSURE_PIPE_PROFILE_LABELING (Dwg_Object *obj);
12256
  //EXPORT int dwg_setup_AECC_DISP_REP_CSVSTATIONSLIDER (Dwg_Object *obj);
12257
  //EXPORT int dwg_setup_AECC_DISP_REP_FACE (Dwg_Object *obj);
12258
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE (Dwg_Object *obj);
12259
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE_LABEL (Dwg_Object *obj);
12260
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE_LINE (Dwg_Object *obj);
12261
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE_LINE_CSV (Dwg_Object *obj);
12262
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE_LINE_PROFILE (Dwg_Object *obj);
12263
  //EXPORT int dwg_setup_AECC_DISP_REP_FEATURE_LINE_SECTION (Dwg_Object *obj);
12264
  //EXPORT int dwg_setup_AECC_DISP_REP_FITTING (Dwg_Object *obj);
12265
  //EXPORT int dwg_setup_AECC_DISP_REP_FITTING_CSV (Dwg_Object *obj);
12266
  //EXPORT int dwg_setup_AECC_DISP_REP_FITTING_LABELING (Dwg_Object *obj);
12267
  //EXPORT int dwg_setup_AECC_DISP_REP_FITTING_PROFILE_LABELING (Dwg_Object *obj);
12268
  //EXPORT int dwg_setup_AECC_DISP_REP_FLOW_SEGMENT_LABEL (Dwg_Object *obj);
12269
  //EXPORT int dwg_setup_AECC_DISP_REP_GENERAL_SEGMENT_LABEL (Dwg_Object *obj);
12270
  //EXPORT int dwg_setup_AECC_DISP_REP_GRADING (Dwg_Object *obj);
12271
  //EXPORT int dwg_setup_AECC_DISP_REP_GRAPH (Dwg_Object *obj);
12272
  //EXPORT int dwg_setup_AECC_DISP_REP_GRAPHPROFILE_NETWORKPART (Dwg_Object *obj);
12273
  //EXPORT int dwg_setup_AECC_DISP_REP_GRAPHPROFILE_PRESSUREPART (Dwg_Object *obj);
12274
  //EXPORT int dwg_setup_AECC_DISP_REP_GRID_SURFACE (Dwg_Object *obj);
12275
  //EXPORT int dwg_setup_AECC_DISP_REP_GRID_SURFACE_CSV (Dwg_Object *obj);
12276
  //EXPORT int dwg_setup_AECC_DISP_REP_HORGEOMETRY_BAND_LABEL_GROUP (Dwg_Object *obj);
12277
  //EXPORT int dwg_setup_AECC_DISP_REP_HYDRO_REGION (Dwg_Object *obj);
12278
  //EXPORT int dwg_setup_AECC_DISP_REP_INTERFERENCE_CHECK (Dwg_Object *obj);
12279
  //EXPORT int dwg_setup_AECC_DISP_REP_INTERFERENCE_PART (Dwg_Object *obj);
12280
  //EXPORT int dwg_setup_AECC_DISP_REP_INTERFERENCE_PART_SECTION (Dwg_Object *obj);
12281
  //EXPORT int dwg_setup_AECC_DISP_REP_INTERSECTION (Dwg_Object *obj);
12282
  //EXPORT int dwg_setup_AECC_DISP_REP_INTERSECTION_LOCATION_LABELING (Dwg_Object *obj);
12283
  //EXPORT int dwg_setup_AECC_DISP_REP_LABELING (Dwg_Object *obj);
12284
  //EXPORT int dwg_setup_AECC_DISP_REP_LEGEND_TABLE (Dwg_Object *obj);
12285
  //EXPORT int dwg_setup_AECC_DISP_REP_LINE_BETWEEN_POINTS_LABEL (Dwg_Object *obj);
12286
  //EXPORT int dwg_setup_AECC_DISP_REP_LOTLINE_CSV (Dwg_Object *obj);
12287
  //EXPORT int dwg_setup_AECC_DISP_REP_MASSHAULLINE (Dwg_Object *obj);
12288
  //EXPORT int dwg_setup_AECC_DISP_REP_MASS_HAUL_VIEW (Dwg_Object *obj);
12289
  //EXPORT int dwg_setup_AECC_DISP_REP_MATCHLINE_LABELING (Dwg_Object *obj);
12290
  //EXPORT int dwg_setup_AECC_DISP_REP_MATCH_LINE (Dwg_Object *obj);
12291
  //EXPORT int dwg_setup_AECC_DISP_REP_MATERIAL_SECTION (Dwg_Object *obj);
12292
  //EXPORT int dwg_setup_AECC_DISP_REP_NETWORK (Dwg_Object *obj);
12293
  //EXPORT int dwg_setup_AECC_DISP_REP_NOTE_LABEL (Dwg_Object *obj);
12294
  //EXPORT int dwg_setup_AECC_DISP_REP_OFFSET_ELEV_LABEL (Dwg_Object *obj);
12295
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_BOUNDARY (Dwg_Object *obj);
12296
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_FACE_LABEL (Dwg_Object *obj);
12297
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_SEGMENT (Dwg_Object *obj);
12298
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_SEGMENT_LABEL (Dwg_Object *obj);
12299
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_SEGMENT_TABLE (Dwg_Object *obj);
12300
  //EXPORT int dwg_setup_AECC_DISP_REP_PARCEL_TABLE (Dwg_Object *obj);
12301
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE (Dwg_Object *obj);
12302
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPENETWORK_BAND_LABEL_GROUP (Dwg_Object *obj);
12303
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE_CSV (Dwg_Object *obj);
12304
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE_LABELING (Dwg_Object *obj);
12305
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE_PROFILE_LABELING (Dwg_Object *obj);
12306
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE_SECTION_LABELING (Dwg_Object *obj);
12307
  //EXPORT int dwg_setup_AECC_DISP_REP_PIPE_TABLE (Dwg_Object *obj);
12308
  //EXPORT int dwg_setup_AECC_DISP_REP_POINT_ENT (Dwg_Object *obj);
12309
  //EXPORT int dwg_setup_AECC_DISP_REP_POINT_GROUP (Dwg_Object *obj);
12310
  //EXPORT int dwg_setup_AECC_DISP_REP_POINT_TABLE (Dwg_Object *obj);
12311
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSUREPIPENETWORK (Dwg_Object *obj);
12312
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PART_TABLE (Dwg_Object *obj);
12313
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PIPE (Dwg_Object *obj);
12314
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PIPE_CSV (Dwg_Object *obj);
12315
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PIPE_LABELING (Dwg_Object *obj);
12316
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PIPE_PROFILE_LABELING (Dwg_Object *obj);
12317
  //EXPORT int dwg_setup_AECC_DISP_REP_PRESSURE_PIPE_SECTION_LABELING (Dwg_Object *obj);
12318
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILE (Dwg_Object *obj);
12319
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILEDATA_BAND_LABEL_GROUP (Dwg_Object *obj);
12320
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILE_PROJECTION (Dwg_Object *obj);
12321
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILE_PROJECTION_LABEL (Dwg_Object *obj);
12322
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILE_VIEW (Dwg_Object *obj);
12323
  //EXPORT int dwg_setup_AECC_DISP_REP_PROFILE_VIEW_DEPTH_LABEL (Dwg_Object *obj);
12324
  //EXPORT int dwg_setup_AECC_DISP_REP_QUANTITY_TAKEOFF_AGGREGATE_EARTHWORK_TABLE (Dwg_Object *obj);
12325
  //EXPORT int dwg_setup_AECC_DISP_REP_RIGHT_OF_WAY (Dwg_Object *obj);
12326
  //EXPORT int dwg_setup_AECC_DISP_REP_SAMPLELINE_LABELING (Dwg_Object *obj);
12327
  //EXPORT int dwg_setup_AECC_DISP_REP_SAMPLE_LINE (Dwg_Object *obj);
12328
  //EXPORT int dwg_setup_AECC_DISP_REP_SAMPLE_LINE_GROUP (Dwg_Object *obj);
12329
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION (Dwg_Object *obj);
12330
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTIONALDATA_BAND_LABEL_GROUP (Dwg_Object *obj);
12331
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTIONDATA_BAND_LABEL_GROUP (Dwg_Object *obj);
12332
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTIONSEGMENT_BAND_LABEL_GROUP (Dwg_Object *obj);
12333
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_CORRIDOR (Dwg_Object *obj);
12334
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_CORRIDOR_POINT_LABEL_GROUP (Dwg_Object *obj);
12335
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_GRADEBREAK_LABEL_GROUP (Dwg_Object *obj);
12336
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_MINOR_OFFSET_LABEL_GROUP (Dwg_Object *obj);
12337
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_OFFSET_LABEL_GROUP (Dwg_Object *obj);
12338
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_PIPENETWORK (Dwg_Object *obj);
12339
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_PRESSUREPIPENETWORK (Dwg_Object *obj);
12340
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_PROJECTION (Dwg_Object *obj);
12341
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_PROJECTION_LABEL (Dwg_Object *obj);
12342
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_SEGMENT_LABEL_GROUP (Dwg_Object *obj);
12343
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_VIEW (Dwg_Object *obj);
12344
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_VIEW_DEPTH_LABEL (Dwg_Object *obj);
12345
  //EXPORT int dwg_setup_AECC_DISP_REP_SECTION_VIEW_QUANTITY_TAKEOFF_TABLE (Dwg_Object *obj);
12346
  //EXPORT int dwg_setup_AECC_DISP_REP_SHEET (Dwg_Object *obj);
12347
  //EXPORT int dwg_setup_AECC_DISP_REP_SPANNING_PIPE_LABELING (Dwg_Object *obj);
12348
  //EXPORT int dwg_setup_AECC_DISP_REP_SPANNING_PIPE_PROFILE_LABELING (Dwg_Object *obj);
12349
  //EXPORT int dwg_setup_AECC_DISP_REP_STATION_ELEV_LABEL (Dwg_Object *obj);
12350
  //EXPORT int dwg_setup_AECC_DISP_REP_STRUCTURE (Dwg_Object *obj);
12351
  //EXPORT int dwg_setup_AECC_DISP_REP_STRUCTURE_CSV (Dwg_Object *obj);
12352
  //EXPORT int dwg_setup_AECC_DISP_REP_STRUCTURE_LABELING (Dwg_Object *obj);
12353
  //EXPORT int dwg_setup_AECC_DISP_REP_STRUCTURE_PROFILE_LABELING (Dwg_Object *obj);
12354
  //EXPORT int dwg_setup_AECC_DISP_REP_STRUCTURE_SECTION_LABELING (Dwg_Object *obj);
12355
  //EXPORT int dwg_setup_AECC_DISP_REP_SUBASSEMBLY (Dwg_Object *obj);
12356
  //EXPORT int dwg_setup_AECC_DISP_REP_SUPERELEVATION_BAND_LABEL_GROUP (Dwg_Object *obj);
12357
  //EXPORT int dwg_setup_AECC_DISP_REP_SUPERELEVATION_DIAGRAM_VIEW (Dwg_Object *obj);
12358
  //EXPORT int dwg_setup_AECC_DISP_REP_SURFACE_CONTOUR_LABEL_GROUP (Dwg_Object *obj);
12359
  //EXPORT int dwg_setup_AECC_DISP_REP_SURFACE_ELEVATION_LABEL (Dwg_Object *obj);
12360
  //EXPORT int dwg_setup_AECC_DISP_REP_SURFACE_SLOPE_LABEL (Dwg_Object *obj);
12361
  //EXPORT int dwg_setup_AECC_DISP_REP_SURVEY_FIGURE_LABEL_GROUP (Dwg_Object *obj);
12362
  //EXPORT int dwg_setup_AECC_DISP_REP_SVFIGURE (Dwg_Object *obj);
12363
  //EXPORT int dwg_setup_AECC_DISP_REP_SVFIGURE_CSV (Dwg_Object *obj);
12364
  //EXPORT int dwg_setup_AECC_DISP_REP_SVFIGURE_PROFILE (Dwg_Object *obj);
12365
  //EXPORT int dwg_setup_AECC_DISP_REP_SVFIGURE_SECTION (Dwg_Object *obj);
12366
  //EXPORT int dwg_setup_AECC_DISP_REP_SVFIGURE_SEGMENT_LABEL (Dwg_Object *obj);
12367
  //EXPORT int dwg_setup_AECC_DISP_REP_SVNETWORK (Dwg_Object *obj);
12368
  //EXPORT int dwg_setup_AECC_DISP_REP_TANGENT_INTERSECTION_TABLE (Dwg_Object *obj);
12369
  //EXPORT int dwg_setup_AECC_DISP_REP_TIN_SURFACE (Dwg_Object *obj);
12370
  //EXPORT int dwg_setup_AECC_DISP_REP_TIN_SURFACE_CSV (Dwg_Object *obj);
12371
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_CRESTCURVE_LABEL_GROUP (Dwg_Object *obj);
12372
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_CSV (Dwg_Object *obj);
12373
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_HAGEOMPT_LABEL_GROUP (Dwg_Object *obj);
12374
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_LINE_LABEL_GROUP (Dwg_Object *obj);
12375
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_MINOR_STATION_LABEL_GROUP (Dwg_Object *obj);
12376
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_PVI_LABEL_GROUP (Dwg_Object *obj);
12377
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_SAGCURVE_LABEL_GROUP (Dwg_Object *obj);
12378
  //EXPORT int dwg_setup_AECC_DISP_REP_VALIGNMENT_STATION_LABEL_GROUP (Dwg_Object *obj);
12379
  //EXPORT int dwg_setup_AECC_DISP_REP_VERTICALGEOMETRY_BAND_LABEL_GROUP (Dwg_Object *obj);
12380
  //EXPORT int dwg_setup_AECC_DISP_REP_VIEWFRAME_LABELING (Dwg_Object *obj);
12381
  //EXPORT int dwg_setup_AECC_DISP_REP_VIEW_FRAME (Dwg_Object *obj);
12382
  //EXPORT int dwg_setup_AECC_FEATURELINE_STYLE (Dwg_Object *obj);
12383
  //EXPORT int dwg_setup_AECC_FEATURE_STYLE (Dwg_Object *obj);
12384
  //EXPORT int dwg_setup_AECC_FITTING_STYLE (Dwg_Object *obj);
12385
  //EXPORT int dwg_setup_AECC_FORMAT_MANAGER_OBJECT (Dwg_Object *obj);
12386
  //EXPORT int dwg_setup_AECC_GRADEVIEW (Dwg_Object *obj);
12387
  //EXPORT int dwg_setup_AECC_GRADING_CRITERIA (Dwg_Object *obj);
12388
  //EXPORT int dwg_setup_AECC_GRADING_CRITERIA_SET (Dwg_Object *obj);
12389
  //EXPORT int dwg_setup_AECC_GRADING_GROUP (Dwg_Object *obj);
12390
  //EXPORT int dwg_setup_AECC_GRADING_STYLE (Dwg_Object *obj);
12391
  //EXPORT int dwg_setup_AECC_IMPORT_STORM_SEWER_DEFAULTS (Dwg_Object *obj);
12392
  //EXPORT int dwg_setup_AECC_INTERFERENCE_STYLE (Dwg_Object *obj);
12393
  //EXPORT int dwg_setup_AECC_INTERSECTION_STYLE (Dwg_Object *obj);
12394
  //EXPORT int dwg_setup_AECC_LABEL_COLLECTOR_STYLE (Dwg_Object *obj);
12395
  //EXPORT int dwg_setup_AECC_LABEL_NODE (Dwg_Object *obj);
12396
  //EXPORT int dwg_setup_AECC_LABEL_RADIAL_LINE_STYLE (Dwg_Object *obj);
12397
  //EXPORT int dwg_setup_AECC_LABEL_TEXT_ITERATOR_CURVE_OR_SPIRAL_STYLE (Dwg_Object *obj);
12398
  //EXPORT int dwg_setup_AECC_LABEL_TEXT_ITERATOR_STYLE (Dwg_Object *obj);
12399
  //EXPORT int dwg_setup_AECC_LABEL_TEXT_STYLE (Dwg_Object *obj);
12400
  //EXPORT int dwg_setup_AECC_LABEL_VECTOR_ARROW_STYLE (Dwg_Object *obj);
12401
  //EXPORT int dwg_setup_AECC_LEGEND_TABLE_STYLE (Dwg_Object *obj);
12402
  //EXPORT int dwg_setup_AECC_MASS_HAUL_LINE_STYLE (Dwg_Object *obj);
12403
  //EXPORT int dwg_setup_AECC_MASS_HAUL_VIEW_STYLE (Dwg_Object *obj);
12404
  //EXPORT int dwg_setup_AECC_MATCHLINE_STYLE (Dwg_Object *obj);
12405
  //EXPORT int dwg_setup_AECC_MATERIAL_STYLE (Dwg_Object *obj);
12406
  //EXPORT int dwg_setup_AECC_NETWORK_PART_CATALOG_DEF_NODE (Dwg_Object *obj);
12407
  //EXPORT int dwg_setup_AECC_NETWORK_PART_FAMILY_ITEM (Dwg_Object *obj);
12408
  //EXPORT int dwg_setup_AECC_NETWORK_PART_LIST (Dwg_Object *obj);
12409
  //EXPORT int dwg_setup_AECC_NETWORK_RULE (Dwg_Object *obj);
12410
  //EXPORT int dwg_setup_AECC_PARCEL_NODE (Dwg_Object *obj);
12411
  //EXPORT int dwg_setup_AECC_PARCEL_STYLE (Dwg_Object *obj);
12412
  //EXPORT int dwg_setup_AECC_PART_SIZE_FILTER (Dwg_Object *obj);
12413
  //EXPORT int dwg_setup_AECC_PIPE_RULES (Dwg_Object *obj);
12414
  //EXPORT int dwg_setup_AECC_PIPE_STYLE (Dwg_Object *obj);
12415
  //EXPORT int dwg_setup_AECC_PIPE_STYLE_EXTENSION (Dwg_Object *obj);
12416
  //EXPORT int dwg_setup_AECC_POINTCLOUD_STYLE (Dwg_Object *obj);
12417
  //EXPORT int dwg_setup_AECC_POINTVIEW (Dwg_Object *obj);
12418
  //EXPORT int dwg_setup_AECC_POINT_STYLE (Dwg_Object *obj);
12419
  //EXPORT int dwg_setup_AECC_PRESSURE_PART_LIST (Dwg_Object *obj);
12420
  //EXPORT int dwg_setup_AECC_PRESSURE_PIPE_STYLE (Dwg_Object *obj);
12421
  //EXPORT int dwg_setup_AECC_PROFILESECTIONENTITY_STYLE (Dwg_Object *obj);
12422
  //EXPORT int dwg_setup_AECC_PROFILE_DESIGN_CHECK_SET (Dwg_Object *obj);
12423
  //EXPORT int dwg_setup_AECC_PROFILE_LABEL_SET (Dwg_Object *obj);
12424
  //EXPORT int dwg_setup_AECC_PROFILE_STYLE (Dwg_Object *obj);
12425
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_BAND_STYLE_SET (Dwg_Object *obj);
12426
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_DATA_BAND_STYLE (Dwg_Object *obj);
12427
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_HORIZONTAL_GEOMETRY_BAND_STYLE (Dwg_Object *obj);
12428
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_PIPE_NETWORK_BAND_STYLE (Dwg_Object *obj);
12429
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_SECTIONAL_DATA_BAND_STYLE (Dwg_Object *obj);
12430
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_STYLE (Dwg_Object *obj);
12431
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_SUPERELEVATION_DIAGRAM_BAND_STYLE (Dwg_Object *obj);
12432
  //EXPORT int dwg_setup_AECC_PROFILE_VIEW_VERTICAL_GEOMETRY_BAND_STYLE (Dwg_Object *obj);
12433
  //EXPORT int dwg_setup_AECC_QUANTITY_TAKEOFF_CRITERIA (Dwg_Object *obj);
12434
  //EXPORT int dwg_setup_AECC_ROADWAYLINK_STYLE (Dwg_Object *obj);
12435
  //EXPORT int dwg_setup_AECC_ROADWAYMARKER_STYLE (Dwg_Object *obj);
12436
  //EXPORT int dwg_setup_AECC_ROADWAYSHAPE_STYLE (Dwg_Object *obj);
12437
  //EXPORT int dwg_setup_AECC_ROADWAY_STYLE_SET (Dwg_Object *obj);
12438
  //EXPORT int dwg_setup_AECC_ROOT_SETTINGS_NODE (Dwg_Object *obj);
12439
  //EXPORT int dwg_setup_AECC_SAMPLE_LINE_GROUP_STYLE (Dwg_Object *obj);
12440
  //EXPORT int dwg_setup_AECC_SAMPLE_LINE_STYLE (Dwg_Object *obj);
12441
  //EXPORT int dwg_setup_AECC_SECTION_LABEL_SET (Dwg_Object *obj);
12442
  //EXPORT int dwg_setup_AECC_SECTION_STYLE (Dwg_Object *obj);
12443
  //EXPORT int dwg_setup_AECC_SECTION_VIEW_BAND_STYLE_SET (Dwg_Object *obj);
12444
  //EXPORT int dwg_setup_AECC_SECTION_VIEW_DATA_BAND_STYLE (Dwg_Object *obj);
12445
  //EXPORT int dwg_setup_AECC_SECTION_VIEW_ROAD_SURFACE_BAND_STYLE (Dwg_Object *obj);
12446
  //EXPORT int dwg_setup_AECC_SECTION_VIEW_STYLE (Dwg_Object *obj);
12447
  //EXPORT int dwg_setup_AECC_SETTINGS_NODE (Dwg_Object *obj);
12448
  //EXPORT int dwg_setup_AECC_SHEET_STYLE (Dwg_Object *obj);
12449
  //EXPORT int dwg_setup_AECC_SLOPE_PATTERN_STYLE (Dwg_Object *obj);
12450
  //EXPORT int dwg_setup_AECC_STATION_FORMAT_STYLE (Dwg_Object *obj);
12451
  //EXPORT int dwg_setup_AECC_STRUCTURE_RULES (Dwg_Object *obj);
12452
  //EXPORT int dwg_setup_AECC_STUCTURE_STYLE (Dwg_Object *obj);
12453
  //EXPORT int dwg_setup_AECC_SUPERELEVATION_DIAGRAM_VIEW_STYLE (Dwg_Object *obj);
12454
  //EXPORT int dwg_setup_AECC_SURFACE_STYLE (Dwg_Object *obj);
12455
  //EXPORT int dwg_setup_AECC_SVFIGURE_STYLE (Dwg_Object *obj);
12456
  //EXPORT int dwg_setup_AECC_SVNETWORK_STYLE (Dwg_Object *obj);
12457
  //EXPORT int dwg_setup_AECC_TABLE_STYLE (Dwg_Object *obj);
12458
  //EXPORT int dwg_setup_AECC_TAG_MANAGER (Dwg_Object *obj);
12459
  //EXPORT int dwg_setup_AECC_TREE_NODE (Dwg_Object *obj);
12460
  //EXPORT int dwg_setup_AECC_USER_DEFINED_ATTRIBUTE_CLASSIFICATION (Dwg_Object *obj);
12461
  //EXPORT int dwg_setup_AECC_VALIGNMENT_STYLE_EXTENSION (Dwg_Object *obj);
12462
  //EXPORT int dwg_setup_AECC_VIEW_FRAME_STYLE (Dwg_Object *obj);
12463
  //EXPORT int dwg_setup_AECS_DISP_PROPS_MEMBER (Dwg_Object *obj);
12464
  //EXPORT int dwg_setup_AECS_DISP_PROPS_MEMBER_LOGICAL (Dwg_Object *obj);
12465
  //EXPORT int dwg_setup_AECS_DISP_PROPS_MEMBER_PLAN (Dwg_Object *obj);
12466
  //EXPORT int dwg_setup_AECS_DISP_PROPS_MEMBER_PLAN_SKETCH (Dwg_Object *obj);
12467
  //EXPORT int dwg_setup_AECS_DISP_PROPS_MEMBER_PROJECTED (Dwg_Object *obj);
12468
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_ELEVATION_DESIGN (Dwg_Object *obj);
12469
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_ELEVATION_DETAIL (Dwg_Object *obj);
12470
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_LOGICAL (Dwg_Object *obj);
12471
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_MODEL_DESIGN (Dwg_Object *obj);
12472
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_MODEL_DETAIL (Dwg_Object *obj);
12473
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_PLAN_DESIGN (Dwg_Object *obj);
12474
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_PLAN_DETAIL (Dwg_Object *obj);
12475
  //EXPORT int dwg_setup_AECS_DISP_REP_MEMBER_PLAN_SKETCH (Dwg_Object *obj);
12476
  //EXPORT int dwg_setup_AECS_MEMBER_NODE_SHAPE (Dwg_Object *obj);
12477
  //EXPORT int dwg_setup_AECS_MEMBER_STYLE (Dwg_Object *obj);
12478
  //EXPORT int dwg_setup_AEC_2DSECTION_STYLE (Dwg_Object *obj);
12479
  //EXPORT int dwg_setup_AEC_AECDBDISPREPBDGELEVLINEPLAN100 (Dwg_Object *obj);
12480
  //EXPORT int dwg_setup_AEC_AECDBDISPREPBDGELEVLINEPLAN50 (Dwg_Object *obj);
12481
  //EXPORT int dwg_setup_AEC_AECDBDISPREPBDGSECTIONLINEPLAN100 (Dwg_Object *obj);
12482
  //EXPORT int dwg_setup_AEC_AECDBDISPREPBDGSECTIONLINEPLAN50 (Dwg_Object *obj);
12483
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCEILINGGRIDPLAN100 (Dwg_Object *obj);
12484
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCEILINGGRIDPLAN50 (Dwg_Object *obj);
12485
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCOLUMNGRIDPLAN100 (Dwg_Object *obj);
12486
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCOLUMNGRIDPLAN50 (Dwg_Object *obj);
12487
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN100 (Dwg_Object *obj);
12488
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCURTAINWALLLAYOUTPLAN50 (Dwg_Object *obj);
12489
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCURTAINWALLUNITPLAN100 (Dwg_Object *obj);
12490
  //EXPORT int dwg_setup_AEC_AECDBDISPREPCURTAINWALLUNITPLAN50 (Dwg_Object *obj);
12491
  //EXPORT int dwg_setup_AEC_AECDBDISPREPMVBLOCKREFPLAN100 (Dwg_Object *obj);
12492
  //EXPORT int dwg_setup_AEC_AECDBDISPREPMVBLOCKREFPLAN50 (Dwg_Object *obj);
12493
  //EXPORT int dwg_setup_AEC_AECDBDISPREPROOFPLAN100 (Dwg_Object *obj);
12494
  //EXPORT int dwg_setup_AEC_AECDBDISPREPROOFPLAN50 (Dwg_Object *obj);
12495
  //EXPORT int dwg_setup_AEC_AECDBDISPREPROOFSLABPLAN100 (Dwg_Object *obj);
12496
  //EXPORT int dwg_setup_AEC_AECDBDISPREPROOFSLABPLAN50 (Dwg_Object *obj);
12497
  //EXPORT int dwg_setup_AEC_AECDBDISPREPSLABPLAN100 (Dwg_Object *obj);
12498
  //EXPORT int dwg_setup_AEC_AECDBDISPREPSLABPLAN50 (Dwg_Object *obj);
12499
  //EXPORT int dwg_setup_AEC_AECDBDISPREPSPACEPLAN100 (Dwg_Object *obj);
12500
  //EXPORT int dwg_setup_AEC_AECDBDISPREPSPACEPLAN50 (Dwg_Object *obj);
12501
  //EXPORT int dwg_setup_AEC_AECDBDISPREPWALLPLAN100 (Dwg_Object *obj);
12502
  //EXPORT int dwg_setup_AEC_AECDBDISPREPWALLPLAN50 (Dwg_Object *obj);
12503
  //EXPORT int dwg_setup_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN100 (Dwg_Object *obj);
12504
  //EXPORT int dwg_setup_AEC_AECDBDISPREPWINDOWASSEMBLYPLAN50 (Dwg_Object *obj);
12505
  //EXPORT int dwg_setup_AEC_AECDBDISPREPZONE100 (Dwg_Object *obj);
12506
  //EXPORT int dwg_setup_AEC_AECDBDISPREPZONE50 (Dwg_Object *obj);
12507
  //EXPORT int dwg_setup_AEC_AECDBZONEDEF (Dwg_Object *obj);
12508
  //EXPORT int dwg_setup_AEC_AECDBZONESTYLE (Dwg_Object *obj);
12509
  //EXPORT int dwg_setup_AEC_ANCHOR_OPENINGBASE_TO_WALL (Dwg_Object *obj);
12510
  //EXPORT int dwg_setup_AEC_CLASSIFICATION_DEF (Dwg_Object *obj);
12511
  //EXPORT int dwg_setup_AEC_CLASSIFICATION_SYSTEM_DEF (Dwg_Object *obj);
12512
  //EXPORT int dwg_setup_AEC_CLEANUP_GROUP_DEF (Dwg_Object *obj);
12513
  //EXPORT int dwg_setup_AEC_CURTAIN_WALL_LAYOUT_STYLE (Dwg_Object *obj);
12514
  //EXPORT int dwg_setup_AEC_CURTAIN_WALL_UNIT_STYLE (Dwg_Object *obj);
12515
  //EXPORT int dwg_setup_AEC_CVSECTIONVIEW (Dwg_Object *obj);
12516
  //EXPORT int dwg_setup_AEC_DB_DISP_REP_DIM_GROUP_PLAN (Dwg_Object *obj);
12517
  //EXPORT int dwg_setup_AEC_DB_DISP_REP_DIM_GROUP_PLAN100 (Dwg_Object *obj);
12518
  //EXPORT int dwg_setup_AEC_DB_DISP_REP_DIM_GROUP_PLAN50 (Dwg_Object *obj);
12519
  //EXPORT int dwg_setup_AEC_DIM_STYLE (Dwg_Object *obj);
12520
  //EXPORT int dwg_setup_AEC_DISPLAYTHEME_STYLE (Dwg_Object *obj);
12521
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPMASSELEMPLAN100 (Dwg_Object *obj);
12522
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPMASSELEMPLAN50 (Dwg_Object *obj);
12523
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN100 (Dwg_Object *obj);
12524
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPMASSGROUPPLAN50 (Dwg_Object *obj);
12525
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPOPENINGPLAN100 (Dwg_Object *obj);
12526
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPOPENINGPLAN50 (Dwg_Object *obj);
12527
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPOPENINGPLANREFLECTED (Dwg_Object *obj);
12528
  //EXPORT int dwg_setup_AEC_DISPREPAECDBDISPREPOPENINGSILLPLAN (Dwg_Object *obj);
12529
  //EXPORT int dwg_setup_AEC_DISPROPSMASSELEMPLANCOMMON (Dwg_Object *obj);
12530
  //EXPORT int dwg_setup_AEC_DISPROPSMASSGROUPPLANCOMMON (Dwg_Object *obj);
12531
  //EXPORT int dwg_setup_AEC_DISPROPSOPENINGPLANCOMMON (Dwg_Object *obj);
12532
  //EXPORT int dwg_setup_AEC_DISPROPSOPENINGPLANCOMMONHATCHED (Dwg_Object *obj);
12533
  //EXPORT int dwg_setup_AEC_DISPROPSOPENINGSILLPLAN (Dwg_Object *obj);
12534
  //EXPORT int dwg_setup_AEC_DISP_PROPS_2D_SECTION (Dwg_Object *obj);
12535
  //EXPORT int dwg_setup_AEC_DISP_PROPS_CLIP_VOLUME (Dwg_Object *obj);
12536
  //EXPORT int dwg_setup_AEC_DISP_PROPS_CLIP_VOLUME_RESULT (Dwg_Object *obj);
12537
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DIM (Dwg_Object *obj);
12538
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DISPLAYTHEME (Dwg_Object *obj);
12539
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR (Dwg_Object *obj);
12540
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR_NOMINAL (Dwg_Object *obj);
12541
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR_PLAN_100 (Dwg_Object *obj);
12542
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR_PLAN_50 (Dwg_Object *obj);
12543
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR_THRESHOLD_PLAN (Dwg_Object *obj);
12544
  //EXPORT int dwg_setup_AEC_DISP_PROPS_DOOR_THRESHOLD_SYMBOL_PLAN (Dwg_Object *obj);
12545
  //EXPORT int dwg_setup_AEC_DISP_PROPS_EDITINPLACEPROFILE_MODEL (Dwg_Object *obj);
12546
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ENT (Dwg_Object *obj);
12547
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ENT_REF (Dwg_Object *obj);
12548
  //EXPORT int dwg_setup_AEC_DISP_PROPS_GRID_ASSEMBLY_MODEL (Dwg_Object *obj);
12549
  //EXPORT int dwg_setup_AEC_DISP_PROPS_GRID_ASSEMBLY_PLAN (Dwg_Object *obj);
12550
  //EXPORT int dwg_setup_AEC_DISP_PROPS_LAYOUT_CURVE (Dwg_Object *obj);
12551
  //EXPORT int dwg_setup_AEC_DISP_PROPS_LAYOUT_GRID2D (Dwg_Object *obj);
12552
  //EXPORT int dwg_setup_AEC_DISP_PROPS_LAYOUT_GRID3D (Dwg_Object *obj);
12553
  //EXPORT int dwg_setup_AEC_DISP_PROPS_MASKBLOCK (Dwg_Object *obj);
12554
  //EXPORT int dwg_setup_AEC_DISP_PROPS_MASS_ELEM_MODEL (Dwg_Object *obj);
12555
  //EXPORT int dwg_setup_AEC_DISP_PROPS_MASS_GROUP (Dwg_Object *obj);
12556
  //EXPORT int dwg_setup_AEC_DISP_PROPS_MATERIAL (Dwg_Object *obj);
12557
  //EXPORT int dwg_setup_AEC_DISP_PROPS_OPENING (Dwg_Object *obj);
12558
  //EXPORT int dwg_setup_AEC_DISP_PROPS_POLYGON_MODEL (Dwg_Object *obj);
12559
  //EXPORT int dwg_setup_AEC_DISP_PROPS_POLYGON_TRUECOLOUR (Dwg_Object *obj);
12560
  //EXPORT int dwg_setup_AEC_DISP_PROPS_RAILING_MODEL (Dwg_Object *obj);
12561
  //EXPORT int dwg_setup_AEC_DISP_PROPS_RAILING_PLAN (Dwg_Object *obj);
12562
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ROOF (Dwg_Object *obj);
12563
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ROOFSLAB (Dwg_Object *obj);
12564
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ROOFSLAB_PLAN (Dwg_Object *obj);
12565
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SCHEDULE_TABLE (Dwg_Object *obj);
12566
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SLAB (Dwg_Object *obj);
12567
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SLAB_PLAN (Dwg_Object *obj);
12568
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SLICE (Dwg_Object *obj);
12569
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SPACE_DECOMPOSED (Dwg_Object *obj);
12570
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SPACE_MODEL (Dwg_Object *obj);
12571
  //EXPORT int dwg_setup_AEC_DISP_PROPS_SPACE_PLAN (Dwg_Object *obj);
12572
  //EXPORT int dwg_setup_AEC_DISP_PROPS_STAIR_MODEL (Dwg_Object *obj);
12573
  //EXPORT int dwg_setup_AEC_DISP_PROPS_STAIR_PLAN (Dwg_Object *obj);
12574
  //EXPORT int dwg_setup_AEC_DISP_PROPS_STAIR_PLAN_OVERLAPPING (Dwg_Object *obj);
12575
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WALL_GRAPH (Dwg_Object *obj);
12576
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WALL_MODEL (Dwg_Object *obj);
12577
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WALL_PLAN (Dwg_Object *obj);
12578
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WALL_SCHEM (Dwg_Object *obj);
12579
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW (Dwg_Object *obj);
12580
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW_ASSEMBLY_SILL_PLAN (Dwg_Object *obj);
12581
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW_NOMINAL (Dwg_Object *obj);
12582
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW_PLAN_100 (Dwg_Object *obj);
12583
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW_PLAN_50 (Dwg_Object *obj);
12584
  //EXPORT int dwg_setup_AEC_DISP_PROPS_WINDOW_SILL_PLAN (Dwg_Object *obj);
12585
  //EXPORT int dwg_setup_AEC_DISP_PROPS_ZONE (Dwg_Object *obj);
12586
  //EXPORT int dwg_setup_AEC_DISP_REP_2D_SECTION (Dwg_Object *obj);
12587
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR (Dwg_Object *obj);
12588
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_BUB_TO_GRID (Dwg_Object *obj);
12589
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_MODEL (Dwg_Object *obj);
12590
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_BUB_TO_GRID_RCP (Dwg_Object *obj);
12591
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_ENT_TO_NODE (Dwg_Object *obj);
12592
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_EXT_TAG_TO_ENT (Dwg_Object *obj);
12593
  //EXPORT int dwg_setup_AEC_DISP_REP_ANCHOR_TAG_TO_ENT (Dwg_Object *obj);
12594
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_ELEVLINE_MODEL (Dwg_Object *obj);
12595
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_ELEVLINE_PLAN (Dwg_Object *obj);
12596
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_ELEVLINE_RCP (Dwg_Object *obj);
12597
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_SECTIONLINE_MODEL (Dwg_Object *obj);
12598
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_SECTIONLINE_PLAN (Dwg_Object *obj);
12599
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_SECTIONLINE_RCP (Dwg_Object *obj);
12600
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_SECTION_MODEL (Dwg_Object *obj);
12601
  //EXPORT int dwg_setup_AEC_DISP_REP_BDG_SECTION_SUBDIV (Dwg_Object *obj);
12602
  //EXPORT int dwg_setup_AEC_DISP_REP_CEILING_GRID (Dwg_Object *obj);
12603
  //EXPORT int dwg_setup_AEC_DISP_REP_CEILING_GRID_MODEL (Dwg_Object *obj);
12604
  //EXPORT int dwg_setup_AEC_DISP_REP_CEILING_GRID_RCP (Dwg_Object *obj);
12605
  //EXPORT int dwg_setup_AEC_DISP_REP_CLIP_VOLUME_MODEL (Dwg_Object *obj);
12606
  //EXPORT int dwg_setup_AEC_DISP_REP_CLIP_VOLUME_PLAN (Dwg_Object *obj);
12607
  //EXPORT int dwg_setup_AEC_DISP_REP_CLIP_VOLUME_RESULT (Dwg_Object *obj);
12608
  //EXPORT int dwg_setup_AEC_DISP_REP_CLIP_VOLUME_RESULT_SUBDIV (Dwg_Object *obj);
12609
  //EXPORT int dwg_setup_AEC_DISP_REP_COLUMN_GRID (Dwg_Object *obj);
12610
  //EXPORT int dwg_setup_AEC_DISP_REP_COLUMN_GRID_MODEL (Dwg_Object *obj);
12611
  //EXPORT int dwg_setup_AEC_DISP_REP_COLUMN_GRID_RCP (Dwg_Object *obj);
12612
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_BLOCK (Dwg_Object *obj);
12613
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CIRCARC2D (Dwg_Object *obj);
12614
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONCOINCIDENT (Dwg_Object *obj);
12615
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONCONCENTRIC (Dwg_Object *obj);
12616
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONEQUALDISTANCE (Dwg_Object *obj);
12617
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONMIDPOINT (Dwg_Object *obj);
12618
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONNECTOR (Dwg_Object *obj);
12619
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONNORMAL (Dwg_Object *obj);
12620
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONPARALLEL (Dwg_Object *obj);
12621
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONPERPENDICULAR (Dwg_Object *obj);
12622
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONSYMMETRIC (Dwg_Object *obj);
12623
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_CONTANGENT (Dwg_Object *obj);
12624
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMANGLE (Dwg_Object *obj);
12625
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMDIAMETER (Dwg_Object *obj);
12626
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMDISTANCE (Dwg_Object *obj);
12627
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMLENGTH (Dwg_Object *obj);
12628
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMMAJORRADIUS (Dwg_Object *obj);
12629
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_DIMMINORRADIUS (Dwg_Object *obj);
12630
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_ELLIPARC2D (Dwg_Object *obj);
12631
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_LAYOUTDATA (Dwg_Object *obj);
12632
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_LINE2D (Dwg_Object *obj);
12633
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_ADD (Dwg_Object *obj);
12634
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_CUTPLANE (Dwg_Object *obj);
12635
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_EXTRUSION (Dwg_Object *obj);
12636
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_GROUP (Dwg_Object *obj);
12637
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_LOFT (Dwg_Object *obj);
12638
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_PATH (Dwg_Object *obj);
12639
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_REVOLVE (Dwg_Object *obj);
12640
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_SUBTRACT (Dwg_Object *obj);
12641
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_MODIFIER_TRANSITION (Dwg_Object *obj);
12642
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_POINT2D (Dwg_Object *obj);
12643
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_PROFILE (Dwg_Object *obj);
12644
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_WORKPLANE (Dwg_Object *obj);
12645
  //EXPORT int dwg_setup_AEC_DISP_REP_COL_WORKPLANE_REF (Dwg_Object *obj);
12646
  //EXPORT int dwg_setup_AEC_DISP_REP_CONFIG (Dwg_Object *obj);
12647
  //EXPORT int dwg_setup_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_MODEL (Dwg_Object *obj);
12648
  //EXPORT int dwg_setup_AEC_DISP_REP_CURTAIN_WALL_LAYOUT_PLAN (Dwg_Object *obj);
12649
  //EXPORT int dwg_setup_AEC_DISP_REP_CURTAIN_WALL_UNIT_MODEL (Dwg_Object *obj);
12650
  //EXPORT int dwg_setup_AEC_DISP_REP_CURTAIN_WALL_UNIT_PLAN (Dwg_Object *obj);
12651
  //EXPORT int dwg_setup_AEC_DISP_REP_DCM_DIMRADIUS (Dwg_Object *obj);
12652
  //EXPORT int dwg_setup_AEC_DISP_REP_DISPLAYTHEME (Dwg_Object *obj);
12653
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_ELEV (Dwg_Object *obj);
12654
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_MODEL (Dwg_Object *obj);
12655
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_NOMINAL (Dwg_Object *obj);
12656
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_PLAN (Dwg_Object *obj);
12657
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_PLAN_50 (Dwg_Object *obj);
12658
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_PLAN_HEKTO (Dwg_Object *obj);
12659
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_RCP (Dwg_Object *obj);
12660
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_THRESHOLD_PLAN (Dwg_Object *obj);
12661
  //EXPORT int dwg_setup_AEC_DISP_REP_DOOR_THRESHOLD_SYMBOL_PLAN (Dwg_Object *obj);
12662
  //EXPORT int dwg_setup_AEC_DISP_REP_EDITINPLACEPROFILE (Dwg_Object *obj);
12663
  //EXPORT int dwg_setup_AEC_DISP_REP_ENT_REF (Dwg_Object *obj);
12664
  //EXPORT int dwg_setup_AEC_DISP_REP_LAYOUT_CURVE (Dwg_Object *obj);
12665
  //EXPORT int dwg_setup_AEC_DISP_REP_LAYOUT_GRID2D (Dwg_Object *obj);
12666
  //EXPORT int dwg_setup_AEC_DISP_REP_LAYOUT_GRID3D (Dwg_Object *obj);
12667
  //EXPORT int dwg_setup_AEC_DISP_REP_MASKBLOCK_REF (Dwg_Object *obj);
12668
  //EXPORT int dwg_setup_AEC_DISP_REP_MASKBLOCK_REF_RCP (Dwg_Object *obj);
12669
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_ELEM_MODEL (Dwg_Object *obj);
12670
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_ELEM_RCP (Dwg_Object *obj);
12671
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_ELEM_SCHEM (Dwg_Object *obj);
12672
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_GROUP_MODEL (Dwg_Object *obj);
12673
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_GROUP_PLAN (Dwg_Object *obj);
12674
  //EXPORT int dwg_setup_AEC_DISP_REP_MASS_GROUP_RCP (Dwg_Object *obj);
12675
  //EXPORT int dwg_setup_AEC_DISP_REP_MATERIAL (Dwg_Object *obj);
12676
  //EXPORT int dwg_setup_AEC_DISP_REP_MVBLOCK_REF (Dwg_Object *obj);
12677
  //EXPORT int dwg_setup_AEC_DISP_REP_MVBLOCK_REF_MODEL (Dwg_Object *obj);
12678
  //EXPORT int dwg_setup_AEC_DISP_REP_MVBLOCK_REF_RCP (Dwg_Object *obj);
12679
  //EXPORT int dwg_setup_AEC_DISP_REP_OPENING (Dwg_Object *obj);
12680
  //EXPORT int dwg_setup_AEC_DISP_REP_OPENING_MODEL (Dwg_Object *obj);
12681
  //EXPORT int dwg_setup_AEC_DISP_REP_POLYGON_MODEL (Dwg_Object *obj);
12682
  //EXPORT int dwg_setup_AEC_DISP_REP_POLYGON_TRUECOLOUR (Dwg_Object *obj);
12683
  //EXPORT int dwg_setup_AEC_DISP_REP_RAILING_MODEL (Dwg_Object *obj);
12684
  //EXPORT int dwg_setup_AEC_DISP_REP_RAILING_PLAN (Dwg_Object *obj);
12685
  //EXPORT int dwg_setup_AEC_DISP_REP_RAILING_PLAN_100 (Dwg_Object *obj);
12686
  //EXPORT int dwg_setup_AEC_DISP_REP_RAILING_PLAN_50 (Dwg_Object *obj);
12687
  //EXPORT int dwg_setup_AEC_DISP_REP_ROOFSLAB_MODEL (Dwg_Object *obj);
12688
  //EXPORT int dwg_setup_AEC_DISP_REP_ROOFSLAB_PLAN (Dwg_Object *obj);
12689
  //EXPORT int dwg_setup_AEC_DISP_REP_ROOF_MODEL (Dwg_Object *obj);
12690
  //EXPORT int dwg_setup_AEC_DISP_REP_ROOF_PLAN (Dwg_Object *obj);
12691
  //EXPORT int dwg_setup_AEC_DISP_REP_ROOF_RCP (Dwg_Object *obj);
12692
  //EXPORT int dwg_setup_AEC_DISP_REP_SCHEDULE_TABLE (Dwg_Object *obj);
12693
  //EXPORT int dwg_setup_AEC_DISP_REP_SET (Dwg_Object *obj);
12694
  //EXPORT int dwg_setup_AEC_DISP_REP_SLAB_MODEL (Dwg_Object *obj);
12695
  //EXPORT int dwg_setup_AEC_DISP_REP_SLAB_PLAN (Dwg_Object *obj);
12696
  //EXPORT int dwg_setup_AEC_DISP_REP_SLICE (Dwg_Object *obj);
12697
  //EXPORT int dwg_setup_AEC_DISP_REP_SPACE_DECOMPOSED (Dwg_Object *obj);
12698
  //EXPORT int dwg_setup_AEC_DISP_REP_SPACE_MODEL (Dwg_Object *obj);
12699
  //EXPORT int dwg_setup_AEC_DISP_REP_SPACE_PLAN (Dwg_Object *obj);
12700
  //EXPORT int dwg_setup_AEC_DISP_REP_SPACE_RCP (Dwg_Object *obj);
12701
  //EXPORT int dwg_setup_AEC_DISP_REP_SPACE_VOLUME (Dwg_Object *obj);
12702
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_MODEL (Dwg_Object *obj);
12703
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_PLAN (Dwg_Object *obj);
12704
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_PLAN_100 (Dwg_Object *obj);
12705
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_PLAN_50 (Dwg_Object *obj);
12706
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_PLAN_OVERLAPPING (Dwg_Object *obj);
12707
  //EXPORT int dwg_setup_AEC_DISP_REP_STAIR_RCP (Dwg_Object *obj);
12708
  //EXPORT int dwg_setup_AEC_DISP_REP_WALL_GRAPH (Dwg_Object *obj);
12709
  //EXPORT int dwg_setup_AEC_DISP_REP_WALL_MODEL (Dwg_Object *obj);
12710
  //EXPORT int dwg_setup_AEC_DISP_REP_WALL_PLAN (Dwg_Object *obj);
12711
  //EXPORT int dwg_setup_AEC_DISP_REP_WALL_RCP (Dwg_Object *obj);
12712
  //EXPORT int dwg_setup_AEC_DISP_REP_WALL_SCHEM (Dwg_Object *obj);
12713
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOWASSEMBLY_SILL_PLAN (Dwg_Object *obj);
12714
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_ASSEMBLY_MODEL (Dwg_Object *obj);
12715
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_ASSEMBLY_PLAN (Dwg_Object *obj);
12716
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_ELEV (Dwg_Object *obj);
12717
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_MODEL (Dwg_Object *obj);
12718
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_NOMINAL (Dwg_Object *obj);
12719
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_PLAN (Dwg_Object *obj);
12720
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_PLAN_100 (Dwg_Object *obj);
12721
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_PLAN_50 (Dwg_Object *obj);
12722
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_RCP (Dwg_Object *obj);
12723
  //EXPORT int dwg_setup_AEC_DISP_REP_WINDOW_SILL_PLAN (Dwg_Object *obj);
12724
  //EXPORT int dwg_setup_AEC_DISP_REP_ZONE (Dwg_Object *obj);
12725
  //EXPORT int dwg_setup_AEC_DISP_ROPS_RAILING_PLAN_100 (Dwg_Object *obj);
12726
  //EXPORT int dwg_setup_AEC_DISP_ROPS_RAILING_PLAN_50 (Dwg_Object *obj);
12727
  //EXPORT int dwg_setup_AEC_DISP_ROPS_STAIR_PLAN_100 (Dwg_Object *obj);
12728
  //EXPORT int dwg_setup_AEC_DISP_ROPS_STAIR_PLAN_50 (Dwg_Object *obj);
12729
  //EXPORT int dwg_setup_AEC_DOOR_STYLE (Dwg_Object *obj);
12730
  //EXPORT int dwg_setup_AEC_ENDCAP_STYLE (Dwg_Object *obj);
12731
  //EXPORT int dwg_setup_AEC_FRAME_DEF (Dwg_Object *obj);
12732
  //EXPORT int dwg_setup_AEC_LAYERKEY_STYLE (Dwg_Object *obj);
12733
  //EXPORT int dwg_setup_AEC_LIST_DEF (Dwg_Object *obj);
12734
  //EXPORT int dwg_setup_AEC_MASKBLOCK_DEF (Dwg_Object *obj);
12735
  //EXPORT int dwg_setup_AEC_MASS_ELEM_STYLE (Dwg_Object *obj);
12736
  //EXPORT int dwg_setup_AEC_MATERIAL_DEF (Dwg_Object *obj);
12737
  //EXPORT int dwg_setup_AEC_MVBLOCK_DEF (Dwg_Object *obj);
12738
  //EXPORT int dwg_setup_AEC_MVBLOCK_REF (Dwg_Object *obj);
12739
  //EXPORT int dwg_setup_AEC_NOTIFICATION_TRACKER (Dwg_Object *obj);
12740
  //EXPORT int dwg_setup_AEC_POLYGON (Dwg_Object *obj);
12741
  //EXPORT int dwg_setup_AEC_POLYGON_STYLE (Dwg_Object *obj);
12742
  //EXPORT int dwg_setup_AEC_PROPERTY_SET_DEF (Dwg_Object *obj);
12743
  //EXPORT int dwg_setup_AEC_RAILING_STYLE (Dwg_Object *obj);
12744
  //EXPORT int dwg_setup_AEC_REFEDIT_STATUS_TRACKER (Dwg_Object *obj);
12745
  //EXPORT int dwg_setup_AEC_ROOFSLABEDGE_STYLE (Dwg_Object *obj);
12746
  //EXPORT int dwg_setup_AEC_ROOFSLAB_STYLE (Dwg_Object *obj);
12747
  //EXPORT int dwg_setup_AEC_SCHEDULE_DATA_FORMAT (Dwg_Object *obj);
12748
  //EXPORT int dwg_setup_AEC_SLABEDGE_STYLE (Dwg_Object *obj);
12749
  //EXPORT int dwg_setup_AEC_SLAB_STYLE (Dwg_Object *obj);
12750
  //EXPORT int dwg_setup_AEC_SPACE_STYLES (Dwg_Object *obj);
12751
  //EXPORT int dwg_setup_AEC_STAIR_STYLE (Dwg_Object *obj);
12752
  //EXPORT int dwg_setup_AEC_STAIR_WINDER_STYLE (Dwg_Object *obj);
12753
  //EXPORT int dwg_setup_AEC_STAIR_WINDER_TYPE_BALANCED (Dwg_Object *obj);
12754
  //EXPORT int dwg_setup_AEC_STAIR_WINDER_TYPE_MANUAL (Dwg_Object *obj);
12755
  //EXPORT int dwg_setup_AEC_STAIR_WINDER_TYPE_SINGLE_POINT (Dwg_Object *obj);
12756
  //EXPORT int dwg_setup_AEC_VARS_AECBBLDSRV (Dwg_Object *obj);
12757
  //EXPORT int dwg_setup_AEC_VARS_ARCHBASE (Dwg_Object *obj);
12758
  //EXPORT int dwg_setup_AEC_VARS_DWG_SETUP (Dwg_Object *obj);
12759
  //EXPORT int dwg_setup_AEC_VARS_MUNICH (Dwg_Object *obj);
12760
  //EXPORT int dwg_setup_AEC_VARS_STRUCTUREBASE (Dwg_Object *obj);
12761
  //EXPORT int dwg_setup_AEC_WALLMOD_STYLE (Dwg_Object *obj);
12762
  //EXPORT int dwg_setup_AEC_WALL_STYLE (Dwg_Object *obj);
12763
  //EXPORT int dwg_setup_AEC_WINDOW_ASSEMBLY_STYLE (Dwg_Object *obj);
12764
  //EXPORT int dwg_setup_AEC_WINDOW_STYLE (Dwg_Object *obj);
12765
  //EXPORT int dwg_setup_ALIGNMENTGRIPENTITY (Dwg_Object *obj);
12766
  //EXPORT int dwg_setup_AMCONTEXTMGR (Dwg_Object *obj);
12767
  //EXPORT int dwg_setup_AMDTADMENUSTATE (Dwg_Object *obj);
12768
  //EXPORT int dwg_setup_AMDTAMMENUSTATE (Dwg_Object *obj);
12769
  //EXPORT int dwg_setup_AMDTBROWSERDBTAB (Dwg_Object *obj);
12770
  //EXPORT int dwg_setup_AMDTDMMENUSTATE (Dwg_Object *obj);
12771
  //EXPORT int dwg_setup_AMDTEDGESTANDARDDIN (Dwg_Object *obj);
12772
  //EXPORT int dwg_setup_AMDTEDGESTANDARDDIN13715 (Dwg_Object *obj);
12773
  //EXPORT int dwg_setup_AMDTEDGESTANDARDISO (Dwg_Object *obj);
12774
  //EXPORT int dwg_setup_AMDTEDGESTANDARDISO13715 (Dwg_Object *obj);
12775
  //EXPORT int dwg_setup_AMDTFORMULAUPDATEDISPATCHER (Dwg_Object *obj);
12776
  //EXPORT int dwg_setup_AMDTINTERNALREACTOR (Dwg_Object *obj);
12777
  //EXPORT int dwg_setup_AMDTMCOMMENUSTATE (Dwg_Object *obj);
12778
  //EXPORT int dwg_setup_AMDTMENUSTATEMGR (Dwg_Object *obj);
12779
  //EXPORT int dwg_setup_AMDTNOTE (Dwg_Object *obj);
12780
  //EXPORT int dwg_setup_AMDTNOTETEMPLATEDB (Dwg_Object *obj);
12781
  //EXPORT int dwg_setup_AMDTSECTIONSYM (Dwg_Object *obj);
12782
  //EXPORT int dwg_setup_AMDTSECTIONSYMLABEL (Dwg_Object *obj);
12783
  //EXPORT int dwg_setup_AMDTSYSATTR (Dwg_Object *obj);
12784
  //EXPORT int dwg_setup_AMGOBJPROPCFG (Dwg_Object *obj);
12785
  //EXPORT int dwg_setup_AMGSETTINGSOBJ (Dwg_Object *obj);
12786
  //EXPORT int dwg_setup_AMIMASTER (Dwg_Object *obj);
12787
  //EXPORT int dwg_setup_AM_DRAWING_MGR (Dwg_Object *obj);
12788
  //EXPORT int dwg_setup_AM_DWGMGR_NAME (Dwg_Object *obj);
12789
  //EXPORT int dwg_setup_AM_DWG_DOCUMENT (Dwg_Object *obj);
12790
  //EXPORT int dwg_setup_AM_DWG_SHEET (Dwg_Object *obj);
12791
  //EXPORT int dwg_setup_AM_VIEWDIMPARMAP (Dwg_Object *obj);
12792
  //EXPORT int dwg_setup_BINRECORD (Dwg_Object *obj);
12793
  //EXPORT int dwg_setup_CAMSCATALOGAPPOBJECT (Dwg_Object *obj);
12794
  //EXPORT int dwg_setup_CAMSSTRUCTBTNSTATE (Dwg_Object *obj);
12795
  //EXPORT int dwg_setup_CATALOGSTATE (Dwg_Object *obj);
12796
  //EXPORT int dwg_setup_CBROWSERAPPOBJECT (Dwg_Object *obj);
12797
  //EXPORT int dwg_setup_DEPMGR (Dwg_Object *obj);
12798
  //EXPORT int dwg_setup_DMBASEELEMENT (Dwg_Object *obj);
12799
  //EXPORT int dwg_setup_DMDEFAULTSTYLE (Dwg_Object *obj);
12800
  //EXPORT int dwg_setup_DMLEGEND (Dwg_Object *obj);
12801
  //EXPORT int dwg_setup_DMMAP (Dwg_Object *obj);
12802
  //EXPORT int dwg_setup_DMMAPMANAGER (Dwg_Object *obj);
12803
  //EXPORT int dwg_setup_DMSTYLECATEGORY (Dwg_Object *obj);
12804
  //EXPORT int dwg_setup_DMSTYLELIBRARY (Dwg_Object *obj);
12805
  //EXPORT int dwg_setup_DMSTYLEREFERENCE (Dwg_Object *obj);
12806
  //EXPORT int dwg_setup_DMSTYLIZEDENTITIESTABLE (Dwg_Object *obj);
12807
  //EXPORT int dwg_setup_DMSURROGATESTYLESETS (Dwg_Object *obj);
12808
  //EXPORT int dwg_setup_DM_PLACEHOLDER (Dwg_Object *obj);
12809
  //EXPORT int dwg_setup_EXACTERMXREFMAP (Dwg_Object *obj);
12810
  //EXPORT int dwg_setup_EXACXREFPANELOBJECT (Dwg_Object *obj);
12811
  //EXPORT int dwg_setup_EXPO_NOTIFYBLOCK (Dwg_Object *obj);
12812
  //EXPORT int dwg_setup_EXPO_NOTIFYHALL (Dwg_Object *obj);
12813
  //EXPORT int dwg_setup_EXPO_NOTIFYPILLAR (Dwg_Object *obj);
12814
  //EXPORT int dwg_setup_EXPO_NOTIFYSTAND (Dwg_Object *obj);
12815
  //EXPORT int dwg_setup_EXPO_NOTIFYSTANDNOPOLY (Dwg_Object *obj);
12816
  //EXPORT int dwg_setup_FLIPACTIONENTITY (Dwg_Object *obj);
12817
  //EXPORT int dwg_setup_GSMANAGER (Dwg_Object *obj);
12818
  //EXPORT int dwg_setup_IRD_DSC_DICT (Dwg_Object *obj);
12819
  //EXPORT int dwg_setup_IRD_DSC_RECORD (Dwg_Object *obj);
12820
  //EXPORT int dwg_setup_IRD_OBJ_RECORD (Dwg_Object *obj);
12821
  //EXPORT int dwg_setup_MAPFSMRVOBJECT (Dwg_Object *obj);
12822
  //EXPORT int dwg_setup_MAPGWSUNDOOBJECT (Dwg_Object *obj);
12823
  //EXPORT int dwg_setup_MAPIAMMOUDLE (Dwg_Object *obj);
12824
  //EXPORT int dwg_setup_MAPMETADATAOBJECT (Dwg_Object *obj);
12825
  //EXPORT int dwg_setup_MAPRESOURCEMANAGEROBJECT (Dwg_Object *obj);
12826
  //EXPORT int dwg_setup_MOVEACTIONENTITY (Dwg_Object *obj);
12827
  //EXPORT int dwg_setup_McDbContainer2 (Dwg_Object *obj);
12828
  //EXPORT int dwg_setup_McDbMarker (Dwg_Object *obj);
12829
  //EXPORT int dwg_setup_NAMEDAPPL (Dwg_Object *obj);
12830
  //EXPORT int dwg_setup_NEWSTDPARTPARLIST (Dwg_Object *obj);
12831
  //EXPORT int dwg_setup_NPOCOLLECTION (Dwg_Object *obj);
12832
  //EXPORT int dwg_setup_OBJCLONER (Dwg_Object *obj);
12833
  //EXPORT int dwg_setup_PARAMMGR (Dwg_Object *obj);
12834
  //EXPORT int dwg_setup_PARAMSCOPE (Dwg_Object *obj);
12835
  //EXPORT int dwg_setup_PILLAR (Dwg_Object *obj);
12836
  //EXPORT int dwg_setup_RAPIDRTRENDERENVIRONMENT (Dwg_Object *obj);
12837
  //EXPORT int dwg_setup_ROTATEACTIONENTITY (Dwg_Object *obj);
12838
  //EXPORT int dwg_setup_SCALEACTIONENTITY (Dwg_Object *obj);
12839
  //EXPORT int dwg_setup_STDPART2D (Dwg_Object *obj);
12840
  //EXPORT int dwg_setup_STRETCHACTIONENTITY (Dwg_Object *obj);
12841
  //EXPORT int dwg_setup_TCH_ARROW (Dwg_Object *obj);
12842
  //EXPORT int dwg_setup_TCH_AXIS_LABEL (Dwg_Object *obj);
12843
  //EXPORT int dwg_setup_TCH_BLOCK_INSERT (Dwg_Object *obj);
12844
  //EXPORT int dwg_setup_TCH_COLUMN (Dwg_Object *obj);
12845
  //EXPORT int dwg_setup_TCH_DBCONFIG (Dwg_Object *obj);
12846
  //EXPORT int dwg_setup_TCH_DIMENSION2 (Dwg_Object *obj);
12847
  //EXPORT int dwg_setup_TCH_DRAWINGINDEX (Dwg_Object *obj);
12848
  //EXPORT int dwg_setup_TCH_HANDRAIL (Dwg_Object *obj);
12849
  //EXPORT int dwg_setup_TCH_LINESTAIR (Dwg_Object *obj);
12850
  //EXPORT int dwg_setup_TCH_OPENING (Dwg_Object *obj);
12851
  //EXPORT int dwg_setup_TCH_RECTSTAIR (Dwg_Object *obj);
12852
  //EXPORT int dwg_setup_TCH_SLAB (Dwg_Object *obj);
12853
  //EXPORT int dwg_setup_TCH_SPACE (Dwg_Object *obj);
12854
  //EXPORT int dwg_setup_TCH_TEXT (Dwg_Object *obj);
12855
  //EXPORT int dwg_setup_TCH_WALL (Dwg_Object *obj);
12856
  //EXPORT int dwg_setup_TGrupoPuntos (Dwg_Object *obj);
12857
  //EXPORT int dwg_setup_VAACIMAGEINVENTORY (Dwg_Object *obj);
12858
  //EXPORT int dwg_setup_VAACXREFPANELOBJECT (Dwg_Object *obj);
12859
  //EXPORT int dwg_setup_XREFPANELOBJECT (Dwg_Object *obj);
12860
#endif
12861
// clang-format: on
12862
/* End auto-generated content */
12863
// clang-format on
12864
12865
#ifdef __cplusplus
12866
}
12867
#endif
12868
12869
#endif