17#if !defined(OPENNURBS_THREEDM_INC_)
18#define OPENNURBS_THREEDM_INC_
66#define TCODE_COMMENTBLOCK 0x00000001
67#define TCODE_ENDOFFILE 0x00007FFF
68#define TCODE_ENDOFFILE_GOO 0x00007FFE
75#define TCODE_LEGACY_GEOMETRY 0x00010000
76#define TCODE_OPENNURBS_OBJECT 0x00020000
77#define TCODE_GEOMETRY 0x00100000
78#define TCODE_ANNOTATION 0x00200000
79#define TCODE_DISPLAY 0x00400000
80#define TCODE_RENDER 0x00800000
81#define TCODE_INTERFACE 0x02000000
82#define TCODE_TOLERANCE 0x08000000
83#define TCODE_TABLE 0x10000000
84#define TCODE_TABLEREC 0x20000000
85#define TCODE_USER 0x40000000
86#define TCODE_SHORT 0x80000000
88#define TCODE_CRC 0x8000
90#define TCODE_ANONYMOUS_CHUNK (TCODE_USER | TCODE_CRC | 0x0000 )
99#define TCODE_MATERIAL_TABLE (TCODE_TABLE | 0x0010)
100#define TCODE_LAYER_TABLE (TCODE_TABLE | 0x0011)
101#define TCODE_LIGHT_TABLE (TCODE_TABLE | 0x0012)
102#define TCODE_OBJECT_TABLE (TCODE_TABLE | 0x0013)
103#define TCODE_PROPERTIES_TABLE (TCODE_TABLE | 0x0014)
108#define TCODE_SETTINGS_TABLE (TCODE_TABLE | 0x0015)
119#define TCODE_BITMAP_TABLE (TCODE_TABLE | 0x0016)
120#define TCODE_USER_TABLE (TCODE_TABLE | 0x0017)
122#define TCODE_GROUP_TABLE (TCODE_TABLE | 0x0018)
124#define TCODE_FONT_TABLE (TCODE_TABLE | 0x0019)
125#define TCODE_DIMSTYLE_TABLE (TCODE_TABLE | 0x0020)
127#define TCODE_INSTANCE_DEFINITION_TABLE (TCODE_TABLE | 0x0021)
129#define TCODE_HATCHPATTERN_TABLE (TCODE_TABLE | 0x0022)
131#define TCODE_LINETYPE_TABLE (TCODE_TABLE | 0x0023)
133#define TCODE_OBSOLETE_LAYERSET_TABLE (TCODE_TABLE | 0x0024)
135#define TCODE_TEXTURE_MAPPING_TABLE (TCODE_TABLE | 0x0025)
137#define TCODE_HISTORYRECORD_TABLE (TCODE_TABLE | 0x0026)
139#define TCODE_ENDOFTABLE 0xFFFFFFFF
142#define TCODE_PROPERTIES_REVISIONHISTORY (TCODE_TABLEREC | TCODE_CRC | 0x0021)
143#define TCODE_PROPERTIES_NOTES (TCODE_TABLEREC | TCODE_CRC | 0x0022)
144#define TCODE_PROPERTIES_PREVIEWIMAGE (TCODE_TABLEREC | TCODE_CRC | 0x0023)
145#define TCODE_PROPERTIES_APPLICATION (TCODE_TABLEREC | TCODE_CRC | 0x0024)
146#define TCODE_PROPERTIES_COMPRESSED_PREVIEWIMAGE (TCODE_TABLEREC | TCODE_CRC | 0x0025)
147#define TCODE_PROPERTIES_OPENNURBS_VERSION (TCODE_TABLEREC | TCODE_SHORT | 0x0026)
150#define TCODE_SETTINGS_PLUGINLIST (TCODE_TABLEREC | TCODE_CRC | 0x0135)
151#define TCODE_SETTINGS_UNITSANDTOLS (TCODE_TABLEREC | TCODE_CRC | 0x0031)
152#define TCODE_SETTINGS_RENDERMESH (TCODE_TABLEREC | TCODE_CRC | 0x0032)
153#define TCODE_SETTINGS_ANALYSISMESH (TCODE_TABLEREC | TCODE_CRC | 0x0033)
154#define TCODE_SETTINGS_ANNOTATION (TCODE_TABLEREC | TCODE_CRC | 0x0034)
155#define TCODE_SETTINGS_NAMED_CPLANE_LIST (TCODE_TABLEREC | TCODE_CRC | 0x0035)
156#define TCODE_SETTINGS_NAMED_VIEW_LIST (TCODE_TABLEREC | TCODE_CRC | 0x0036)
157#define TCODE_SETTINGS_VIEW_LIST (TCODE_TABLEREC | TCODE_CRC | 0x0037)
158#define TCODE_SETTINGS_CURRENT_LAYER_INDEX (TCODE_TABLEREC | TCODE_SHORT | 0x0038)
159#define TCODE_SETTINGS_CURRENT_MATERIAL_INDEX (TCODE_TABLEREC | TCODE_CRC | 0x0039)
160#define TCODE_SETTINGS_CURRENT_COLOR (TCODE_TABLEREC | TCODE_CRC | 0x003A)
161#define TCODE_SETTINGS__NEVER__USE__THIS (TCODE_TABLEREC | TCODE_CRC | 0x003E)
162#define TCODE_SETTINGS_CURRENT_WIRE_DENSITY (TCODE_TABLEREC | TCODE_SHORT | 0x003C)
163#define TCODE_SETTINGS_RENDER (TCODE_TABLEREC | TCODE_CRC | 0x003D)
164#define TCODE_SETTINGS_GRID_DEFAULTS (TCODE_TABLEREC | TCODE_CRC | 0x003F)
165#define TCODE_SETTINGS_MODEL_URL (TCODE_TABLEREC | TCODE_CRC | 0x0131)
166#define TCODE_SETTINGS_CURRENT_FONT_INDEX (TCODE_TABLEREC | TCODE_SHORT | 0x0132)
167#define TCODE_SETTINGS_CURRENT_DIMSTYLE_INDEX (TCODE_TABLEREC | TCODE_SHORT | 0x0133)
169#define TCODE_SETTINGS_ATTRIBUTES (TCODE_TABLEREC | TCODE_CRC | 0x0134)
173#define TCODE_VIEW_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x003B)
175#define TCODE_VIEW_CPLANE (TCODE_TABLEREC | TCODE_CRC | 0x013B)
176#define TCODE_VIEW_VIEWPORT (TCODE_TABLEREC | TCODE_CRC | 0x023B)
177#define TCODE_VIEW_SHOWCONGRID (TCODE_TABLEREC | TCODE_SHORT | 0x033B)
178#define TCODE_VIEW_SHOWCONAXES (TCODE_TABLEREC | TCODE_SHORT | 0x043B)
179#define TCODE_VIEW_SHOWWORLDAXES (TCODE_TABLEREC | TCODE_SHORT | 0x053B)
180#define TCODE_VIEW_TRACEIMAGE (TCODE_TABLEREC | TCODE_CRC | 0x063B)
181#define TCODE_VIEW_WALLPAPER (TCODE_TABLEREC | TCODE_CRC | 0x073B)
182#define TCODE_VIEW_WALLPAPER_V3 (TCODE_TABLEREC | TCODE_CRC | 0x074B)
183#define TCODE_VIEW_TARGET (TCODE_TABLEREC | TCODE_CRC | 0x083B)
184#define TCODE_VIEW_DISPLAYMODE (TCODE_TABLEREC | TCODE_SHORT | 0x093B)
185#define TCODE_VIEW_NAME (TCODE_TABLEREC | TCODE_CRC | 0x0A3B)
186#define TCODE_VIEW_POSITION (TCODE_TABLEREC | TCODE_CRC | 0x0B3B)
189#define TCODE_VIEW_ATTRIBUTES (TCODE_TABLEREC | TCODE_CRC | 0x0C3B)
192#define TCODE_VIEW_VIEWPORT_USERDATA (TCODE_TABLEREC | TCODE_CRC | 0x0D3B)
195#define TCODE_BITMAP_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0090)
198#define TCODE_MATERIAL_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0040)
201#define TCODE_LAYER_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0050)
204#define TCODE_LIGHT_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0060)
205#define TCODE_LIGHT_RECORD_ATTRIBUTES (TCODE_INTERFACE | TCODE_CRC | 0x0061)
206#define TCODE_LIGHT_RECORD_ATTRIBUTES_USERDATA (TCODE_INTERFACE | 0x0062)
208#define TCODE_LIGHT_RECORD_END (TCODE_INTERFACE | TCODE_SHORT | 0x006F)
220#define TCODE_USER_TABLE_UUID (TCODE_TABLEREC | TCODE_CRC | 0x0080)
222#define TCODE_USER_TABLE_RECORD_HEADER (TCODE_TABLEREC | TCODE_CRC | 0x0082)
224#define TCODE_USER_RECORD (TCODE_TABLEREC | 0x0081)
228#define TCODE_GROUP_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0073)
231#define TCODE_FONT_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0074)
234#define TCODE_DIMSTYLE_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0075)
237#define TCODE_INSTANCE_DEFINITION_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0076)
240#define TCODE_HATCHPATTERN_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0077)
243#define TCODE_LINETYPE_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0078)
246#define TCODE_OBSOLETE_LAYERSET_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0079)
249#define TCODE_TEXTURE_MAPPING_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x007A)
252#define TCODE_HISTORYRECORD_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x007B)
255#define TCODE_OBJECT_RECORD (TCODE_TABLEREC | TCODE_CRC | 0x0070)
256#define TCODE_OBJECT_RECORD_TYPE (TCODE_INTERFACE | TCODE_SHORT | 0x0071)
257#define TCODE_OBJECT_RECORD_ATTRIBUTES (TCODE_INTERFACE | TCODE_CRC | 0x0072)
258#define TCODE_OBJECT_RECORD_ATTRIBUTES_USERDATA (TCODE_INTERFACE | 0x0073)
259#define TCODE_OBJECT_RECORD_HISTORY (TCODE_INTERFACE | TCODE_CRC | 0x0074)
260#define TCODE_OBJECT_RECORD_HISTORY_HEADER (TCODE_INTERFACE | TCODE_CRC | 0x0075)
261#define TCODE_OBJECT_RECORD_HISTORY_DATA (TCODE_INTERFACE | TCODE_CRC | 0x0076)
262#define TCODE_OBJECT_RECORD_END (TCODE_INTERFACE | TCODE_SHORT | 0x007F)
267// TCODE_OBJECT_RECORD
268// 4 byte length of entire object record
270// TCODE_OBJECT_RECORD_TYPE required - used to quickly filter and skip unwanted objects
271// 4 byte ON::object_type
273// TCODE_OPENNURBS_CLASS
275// TCODE_OPENNURBS_CLASS_UUID
277// value of ON_ClassId::m_uuid for this class
279// TCODE_OPENNURBS_CLASS_DATA
281// class specific data for geometry or annotation object
283// TCODE_OPENNURBS_CLASS_USERDATA (1 chunk per piece of user data)
285// 2 byte chunk version 2.1
286// TCODE_OPENNURBS_CLASS_USERDATA_HEADER
288// 16 byte value of ON_ClassId::m_uuid for this child class of ON_UserData
289// 16 byte value of ON_UserData::m_userdata_uuid
290// 4 byte value of ON_UserData::m_userdata_copycount
291// 128 byte value of ON_UserData::m_userdata_xform
292// 16 byte value of ON_UserData::m_application_uuid (in ver 2.1 chunks)
293// TCODE_ANONYMOUS_CHUNK
296// TCODE_OPENNURBS_CLASS_END
298// TCODE_OBJECT_RECORD_ATTRIBUTES (optional)
300// ON_3dmObjectAttributes information
303// TCODE_OBJECT_RECORD_ATTRIBUTES_USERDATA (optional)
305// TCODE_OPENNURBS_CLASS_USERDATA (1 chunk per piece of user data)
307// 2 byte chunk version 2.1
308// TCODE_OPENNURBS_CLASS_USERDATA_HEADER
310// 16 byte value of ON_ClassId::m_uuid for this child class of ON_UserData
311// 16 byte value of ON_UserData::m_userdata_uuid
312// 4 byte value of ON_UserData::m_userdata_copycount
313// 128 byte value of ON_UserData::m_userdata_xform
314// 16 byte value of ON_UserData::m_application_uuid (in ver 2.1 chunks)
315// TCODE_ANONYMOUS_CHUNK
319// TCODE_OBJECT_RECORD_HISTORY (optional) construction history
321// 2 byte chunk version
322// TCODE_OBJECT_RECORD_HISTORY_HEADER
324// 2 byte chunk version
327// TCODE_OBJECT_RECORD_HISTORY_DATA
329// 2 byte chunk version
333// TCODE_OBJECT_RECORD_END required - marks end of object record
338#define TCODE_OPENNURBS_CLASS (TCODE_OPENNURBS_OBJECT | 0x7FFA)
339#define TCODE_OPENNURBS_CLASS_UUID (TCODE_OPENNURBS_OBJECT | TCODE_CRC | 0x7FFB)
340#define TCODE_OPENNURBS_CLASS_DATA (TCODE_OPENNURBS_OBJECT | TCODE_CRC | 0x7FFC)
341#define TCODE_OPENNURBS_CLASS_USERDATA (TCODE_OPENNURBS_OBJECT | 0x7FFD)
342#define TCODE_OPENNURBS_CLASS_USERDATA_HEADER (TCODE_OPENNURBS_OBJECT | TCODE_CRC | 0x7FF9)
343#define TCODE_OPENNURBS_CLASS_END (TCODE_OPENNURBS_OBJECT | TCODE_SHORT | 0x7FFF)
348// TCODE_OPENNURBS_CLASS
349// length of entire openNURBS class object chunk
351// TCODE_OPENNURBS_CLASS_UUID
352// length of uuid (16 byte UUID + 4 byte CRC)
353// 16 byte UUID ( a.k.a. GUID ) openNURBS class ID - determines specific openNURBS class
354// 4 bytes (32 bit CRC of the UUID)
356// TCODE_OPENNURBS_CLASS_DATA
357// length of object data
358// ... data that defines object
359// use ON_classname::Read() to read this data and ON_classname::Write()
361// 4 bytes (32 bit CRC of the object data)
363// TCODE_OPENNURBS_CLASS_USERDATA ( 0 or more user data chunks)
365// TCODE_OPENNURBS_CLASS_END
375// The TCODEs below were used in the version 1 file format and are needed so that
376// the these files can be read and (optionally) written by the current OpenNURBS
384#define TCODE_ANNOTATION_SETTINGS (TCODE_ANNOTATION | 0x0001)
386#define TCODE_TEXT_BLOCK (TCODE_ANNOTATION | 0x0004)
387#define TCODE_ANNOTATION_LEADER (TCODE_ANNOTATION | 0x0005)
388#define TCODE_LINEAR_DIMENSION (TCODE_ANNOTATION | 0x0006)
389#define TCODE_ANGULAR_DIMENSION (TCODE_ANNOTATION | 0x0007)
390#define TCODE_RADIAL_DIMENSION (TCODE_ANNOTATION | 0x0008)
393#define TCODE_RHINOIO_OBJECT_NURBS_CURVE (TCODE_OPENNURBS_OBJECT | 0x0008)
394#define TCODE_RHINOIO_OBJECT_NURBS_SURFACE (TCODE_OPENNURBS_OBJECT | 0x0009)
395#define TCODE_RHINOIO_OBJECT_BREP (TCODE_OPENNURBS_OBJECT | 0x000B)
396#define TCODE_RHINOIO_OBJECT_DATA (TCODE_OPENNURBS_OBJECT | 0xFFFE)
397#define TCODE_RHINOIO_OBJECT_END (TCODE_OPENNURBS_OBJECT | 0xFFFF)
400#define TCODE_OPENNURBS_BUFFER (TCODE_OPENNURBS_OBJECT | TCODE_CRC | 0x0100)
403#define TCODE_LEGACY_ASM (TCODE_LEGACY_GEOMETRY | 0x0001)
404#define TCODE_LEGACY_PRT (TCODE_LEGACY_GEOMETRY | 0x0002)
405#define TCODE_LEGACY_SHL (TCODE_LEGACY_GEOMETRY | 0x0003)
406#define TCODE_LEGACY_FAC (TCODE_LEGACY_GEOMETRY | 0x0004)
407#define TCODE_LEGACY_BND (TCODE_LEGACY_GEOMETRY | 0x0005)
408#define TCODE_LEGACY_TRM (TCODE_LEGACY_GEOMETRY | 0x0006)
409#define TCODE_LEGACY_SRF (TCODE_LEGACY_GEOMETRY | 0x0007)
410#define TCODE_LEGACY_CRV (TCODE_LEGACY_GEOMETRY | 0x0008)
411#define TCODE_LEGACY_SPL (TCODE_LEGACY_GEOMETRY | 0x0009)
412#define TCODE_LEGACY_PNT (TCODE_LEGACY_GEOMETRY | 0x000A)
414#define TCODE_STUFF 0x0100
416#define TCODE_LEGACY_ASMSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_ASM)
417#define TCODE_LEGACY_PRTSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_PRT)
418#define TCODE_LEGACY_SHLSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_SHL)
419#define TCODE_LEGACY_FACSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_FAC)
420#define TCODE_LEGACY_BNDSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_BND)
421#define TCODE_LEGACY_TRMSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_TRM)
422#define TCODE_LEGACY_SRFSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_SRF)
423#define TCODE_LEGACY_CRVSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_CRV)
424#define TCODE_LEGACY_SPLSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_SPL)
425#define TCODE_LEGACY_PNTSTUFF (TCODE_LEGACY_GEOMETRY | TCODE_STUFF | TCODE_LEGACY_PNT)
428#define TCODE_RH_POINT (TCODE_GEOMETRY | 0x0001)
430#define TCODE_RH_SPOTLIGHT (TCODE_RENDER | 0x0001)
432#define TCODE_OLD_RH_TRIMESH (TCODE_GEOMETRY | 0x0011)
433#define TCODE_OLD_MESH_VERTEX_NORMALS (TCODE_GEOMETRY | 0x0012)
434#define TCODE_OLD_MESH_UV (TCODE_GEOMETRY | 0x0013)
435#define TCODE_OLD_FULLMESH (TCODE_GEOMETRY | 0x0014)
438#define TCODE_MESH_OBJECT (TCODE_GEOMETRY | 0x0015)
439#define TCODE_COMPRESSED_MESH_GEOMETRY (TCODE_GEOMETRY | 0x0017)
440#define TCODE_ANALYSIS_MESH (TCODE_GEOMETRY | 0x0018)
442#define TCODE_NAME (TCODE_INTERFACE | 0x0001)
443#define TCODE_VIEW (TCODE_INTERFACE | 0x0002)
444#define TCODE_CPLANE (TCODE_INTERFACE | 0x0003)
446#define TCODE_NAMED_CPLANE (TCODE_INTERFACE | 0x0004)
447#define TCODE_NAMED_VIEW (TCODE_INTERFACE | 0x0005)
448#define TCODE_VIEWPORT (TCODE_INTERFACE | 0x0006)
450#define TCODE_SHOWGRID (TCODE_SHORT | TCODE_INTERFACE | 0x0007)
451#define TCODE_SHOWGRIDAXES (TCODE_SHORT | TCODE_INTERFACE | 0x0008)
452#define TCODE_SHOWWORLDAXES (TCODE_SHORT | TCODE_INTERFACE | 0x0009)
454#define TCODE_VIEWPORT_POSITION (TCODE_INTERFACE | 0x000A)
455#define TCODE_VIEWPORT_TRACEINFO (TCODE_INTERFACE | 0x000B)
456#define TCODE_SNAPSIZE (TCODE_INTERFACE | 0x000C)
457#define TCODE_NEAR_CLIP_PLANE (TCODE_INTERFACE | 0x000D)
458#define TCODE_HIDE_TRACE (TCODE_INTERFACE | 0x000E)
460#define TCODE_NOTES (TCODE_INTERFACE | 0x000F)
461#define TCODE_UNIT_AND_TOLERANCES (TCODE_INTERFACE | 0x0010)
463#define TCODE_MAXIMIZED_VIEWPORT (TCODE_SHORT | TCODE_INTERFACE | 0x0011)
464#define TCODE_VIEWPORT_WALLPAPER (TCODE_INTERFACE | 0x0012)
467#define TCODE_SUMMARY (TCODE_INTERFACE | 0x0013)
468#define TCODE_BITMAPPREVIEW (TCODE_INTERFACE | 0x0014)
469#define TCODE_VIEWPORT_DISPLAY_MODE (TCODE_SHORT | TCODE_INTERFACE | 0x0015)
472#define TCODE_LAYERTABLE (TCODE_SHORT | TCODE_TABLE | 0x0001)
473#define TCODE_LAYERREF (TCODE_SHORT | TCODE_TABLEREC | 0x0001)
475#define TCODE_XDATA (TCODE_USER | 0x0001)
477#define TCODE_RGB (TCODE_SHORT | TCODE_DISPLAY | 0x0001)
478#define TCODE_TEXTUREMAP (TCODE_DISPLAY | 0x0002)
479#define TCODE_BUMPMAP (TCODE_DISPLAY | 0x0003)
480#define TCODE_TRANSPARENCY (TCODE_SHORT | TCODE_DISPLAY | 0x0004)
481#define TCODE_DISP_AM_RESOLUTION (TCODE_SHORT | TCODE_DISPLAY | 0x0005)
482#define TCODE_RGBDISPLAY (TCODE_SHORT | TCODE_DISPLAY | 0x0006)
483#define TCODE_RENDER_MATERIAL_ID (TCODE_DISPLAY | 0x0007)
485#define TCODE_LAYER (TCODE_DISPLAY | 0x0010)
488#define TCODE_LAYER_OBSELETE_1 (TCODE_SHORT | TCODE_DISPLAY | 0x0013)
489#define TCODE_LAYER_OBSELETE_2 (TCODE_SHORT | TCODE_DISPLAY | 0x0014)
490#define TCODE_LAYER_OBSELETE_3 (TCODE_SHORT | TCODE_DISPLAY | 0x0015)
493#define TCODE_LAYERON (TCODE_SHORT | TCODE_DISPLAY | 0x0016)
494#define TCODE_LAYERTHAWED (TCODE_SHORT | TCODE_DISPLAY | 0x0017)
495#define TCODE_LAYERLOCKED (TCODE_SHORT | TCODE_DISPLAY | 0x0018)
498#define TCODE_LAYERVISIBLE (TCODE_SHORT | TCODE_DISPLAY | 0x0012)
499#define TCODE_LAYERPICKABLE (TCODE_SHORT | TCODE_DISPLAY | 0x0030)
500#define TCODE_LAYERSNAPABLE (TCODE_SHORT | TCODE_DISPLAY | 0x0031)
501#define TCODE_LAYERRENDERABLE (TCODE_SHORT | TCODE_DISPLAY | 0x0032)
505#define TCODE_LAYERSTATE (TCODE_SHORT | TCODE_DISPLAY | 0x0033)
506#define TCODE_LAYERINDEX (TCODE_SHORT | TCODE_DISPLAY | 0x0034)
507#define TCODE_LAYERMATERIALINDEX (TCODE_SHORT | TCODE_DISPLAY | 0x0035)
509#define TCODE_RENDERMESHPARAMS (TCODE_DISPLAY | 0x0020)
513#define TCODE_DISP_CPLINES (TCODE_SHORT | TCODE_DISPLAY | 0x0022)
514#define TCODE_DISP_MAXLENGTH (TCODE_DISPLAY | 0x0023)
516#define TCODE_CURRENTLAYER (TCODE_SHORT | TCODE_DISPLAY | 0x0025 )
518#define TCODE_LAYERNAME (TCODE_DISPLAY | 0x0011)
520#define TCODE_LEGACY_TOL_FIT (TCODE_TOLERANCE | 0x0001)
521#define TCODE_LEGACY_TOL_ANGLE (TCODE_TOLERANCE | 0x0002)
523#define TCODE_DICTIONARY (TCODE_USER | TCODE_CRC | 0x0010)
524#define TCODE_DICTIONARY_ID (TCODE_USER | TCODE_CRC | 0x0011)
525#define TCODE_DICTIONARY_ENTRY (TCODE_USER | TCODE_CRC | 0x0012)
526#define TCODE_DICTIONARY_END (TCODE_USER | TCODE_SHORT | 0x0013)