📄 ad2.h
字号:
/* C:\ICADDEV\THIRDPARTY\MARCOMP\AD2.H
* Copyright (C) 1988-1998 Visio Corporation. All rights reserved.
*
* Abstract
*
* <TODO : Add Abstract here>
*
*/
/* ad2.h */
/* include file for OpenDWG Toolkit */
#ifndef AD2HINCLUDED
#define AD2HINCLUDED
#ifndef VMSTUFFDEFINED
#define VMSTUFFDEFINED
typedef char * AD_VMADDR;
#define AD_VMNULL NULL
#endif
/* these are the equates for the constants which define the version of
the drawing being processed */
#define AD_ACAD25 0 /* ac1002 */
#define AD_ACAD26 1 /* ac1003 */
#define AD_ACAD9 2 /* ac1004 */
#define AD_ACAD10 3 /* ac1006 */
#define AD_ACAD11 4 /* ac1009 */
#define AD_ACAD13 5 /* ac1012 */
#define AD_ACAD14 6
#define AD_ACAD2000 7
#define AD_MAXACADVER AD_ACAD2000
#define AD_ENT_LINE 1
#define AD_ENT_POINT 2
#define AD_ENT_CIRCLE 3
#define AD_ENT_SHAPE 4
#define AD_ENT_ELLIPSE 5
#define AD_ENT_SPLINE 6
#define AD_ENT_TEXT 7
#define AD_ENT_ARC 8
#define AD_ENT_TRACE 9
#define AD_ENT_REGION 10
#define AD_ENT_SOLID 11
#define AD_ENT_BLOCK 12
#define AD_ENT_ENDBLK 13
#define AD_ENT_INSERT 14
#define AD_ENT_ATTDEF 15
#define AD_ENT_ATTRIB 16
#define AD_ENT_SEQEND 17
#define AD_ENT_POLYLINE 19
#define AD_ENT_VERTEX 20
#define AD_ENT_LINE3D 21
#define AD_ENT_FACE3D 22
#define AD_ENT_DIMENSION 23
#define AD_ENT_VIEWPORT 24
#define AD_ENT_SOLID3D 25
#define AD_ENT_RAY 26
#define AD_ENT_XLINE 27
#define AD_ENT_MTEXT 28
#define AD_ENT_LEADER 29
#define AD_ENT_TOLERANCE 30
#define AD_ENT_MLINE 31
#define AD_OBJ_DICTIONARY 32
#define AD_OBJ_MLINESTYLE 33
#define AD_OBJ_CLASS 34
#define AD_ENT_BODY 35
#define AD_OBJ_GROUP 36
#define AD_OBJ_PROXY 100
#define AD_OBJ_XRECORD 101
#define AD_OBJ_IDBUFFER 102
#define AD_OBJ_PLOTSETTINGS 103
#define AD_GRENT_CIRCLE 2
#define AD_GRENT_CIRCLE3PT 3
#define AD_GRENT_CIRCULARARC 4
#define AD_GRENT_CIRCULARARC3PT 5
#define AD_GRENT_POLYLINE 6
#define AD_GRENT_POLYGON 7
#define AD_GRENT_MESH 8
#define AD_GRENT_SHELL 9
#define AD_GRENT_TEXT 10
#define AD_GRENT_TEXT2 11
#define AD_GRENT_XLINE 12
#define AD_GRENT_RAY 13
#define AD_GRENT_SUBENT_COLOR 14
#define AD_GRENT_SUBENT_LAYER 16
#define AD_GRENT_SUBENT_LINETYPE 18
#define AD_GRENT_SUBENT_MARKER 19
#define AD_GRENT_SUBENT_FILLON 20
#define AD_XD_STRING 1000
#define AD_XD_APPOBJHANDLE 1001
#define AD_XD_CONTROL 1002
#define AD_XD_LAYEROBJHANDLE 1003
#define AD_XD_BINDATA 1004
#define AD_XD_OBJHANDLE 1005
#define AD_XD_REALS 1010
#define AD_XD_WORLDPOS 1011
#define AD_XD_WORLDDISP 1012
#define AD_XD_WORLDDIR 1013
#define AD_XD_REAL 1040
#define AD_XD_DIST 1041
#define AD_XD_SCALE 1042
#define AD_XD_INT 1070
#define AD_XD_LONG 1071
#define AD_IS_A_PROXYENT(a) (a>=0x1F2)
#define AD_IS_A_GENERIC_PROXYENT(a) (a==0x1F2)
#define AD_IS_A_GENERIC_PROXYOBJ(a) (a==0x1F3)
#define AD_ITEM_CLASS_PROXY_ENTITY 0x1F2
#define AD_ITEM_CLASS_PROXY_OBJECT 0x1F3
#define AD_PROXYCAP_NONE 0
#define AD_PROXYCAP_ERASEOK 1
#define AD_PROXYCAP_TRANSFORMOK 2
#define AD_PROXYCAP_COLORCHANGEOK 4
#define AD_PROXYCAP_LAYERCHANGEOK 8
#define AD_PROXYCAP_LINETYPECHANGEOK 16
#define AD_PROXYCAP_LINETYPESCALECHANGEOK 32
#define AD_PROXYCAP_VISIBLITYCHANGEOK 64
#define AD_PROXYCAP_ALLBUTCLONINGOK 127
#define AD_PROXYCAP_CLONINGOK 128
#define AD_PROXYCAP_ALLOK 255
#define AD_PROXYCAP_R13FORMATPROXY 32768
#define AD_VPENT_STATUS_PERSPECTIVEMODE 1
#define AD_VPENT_STATUS_FRONTCLIP 2
#define AD_VPENT_STATUS_BACKCLIP 4
#define AD_VPENT_STATUS_UCSFOLLOW 8
#define AD_VPENT_STATUS_NOTATEYE 16
#define AD_VPENT_STATUS_UCSICON 32
#define AD_VPENT_STATUS_UCSATORIGIN 64
#define AD_VPENT_STATUS_FASTZOOM 128
#define AD_VPENT_STATUS_SNAPON 256
#define AD_VPENT_STATUS_GRIDON 512
#define AD_VPENT_STATUS_SNAPSTYLEISO 1024
#define AD_VPENT_STATUS_HIDDENINPLOT 2048
#define AD_VPENT_STATUS_SNAPISOPAIRTOP 4096
#define AD_VPENT_STATUS_SNAPISOPAIRRIGHT 8192
#define AD_VPENT_STATUS_ZOOMLOCKING 16384
#define AD_VPENT_STATUS_ALWAYS 32768
#define AD_VPENT_STATUS_NONRECTCLIP 65536
#define AD_VPENT_STATUS_OFF 131072
#define adHasPrimTraits(a) (a & 0xFFFFL)
#define adPrimsHaveColors(a) (a & 0x0001L)
#define adPrimsHaveLayers(a) (a & 0x0002L)
#define adPrimsHaveLinetypes(a) (a & 0x0004L)
#define adPrimsHaveMarkers(a) (a & 0x0020L)
#define adPrimsHaveVisibilities(a) (a & 0x0040L)
#define adPrimsHaveNormals(a) (a & 0x0080L)
#define adPrimsHaveOrientation(a) (a & 0x0400L)
#define adSetPrimsHaveColors(a) (a |= 0x0001L)
#define adSetPrimsHaveLayers(a) (a |= 0x0002L)
#define adSetPrimsHaveLinetypes(a) (a |= 0x0004L)
#define adSetPrimsHaveMarkers(a) (a |= 0x0020L)
#define adSetPrimsHaveVisibilities(a) (a |= 0x0040L)
#define adSetPrimsHaveNormals(a) (a |= 0x0080L)
#define adSetPrimsHaveOrientation(a) (a |= 0x0400L)
#define AD_DWG 0
#define AD_DXF 1
#define AD_BDXF 2
#define AD_MAX_STRLEN 512
#define AD_MAX_TRUNC_NAMELEN 26
#define AD_MAX_XREF_TRUNC_NAMELEN 4
#define AD_EXPORT_AS_UPPERCASE 0
#define AD_EXPORT_AS_LOWERCASE 1
#define AD_EXPORT_AS_CURRENT_CASE 2
#define AD_PAPERSPACE_HANDLE 0
#define AD_MODELSPACE_HANDLE 1
#define AD_TTF_OUTLINE 0x01
#define AD_TTF_FILL 0x02
#define AD_TTF_FREE_MEMORY 0x04
#define AD_MAXVPORTS 49
#define AD_VPMSKSIZE 8
typedef struct advpmskstru {
unsigned char data[AD_VPMSKSIZE];
} ADVPMSK;
typedef unsigned char AD_OBJHANDLE[8];
typedef void * AD_DB_HANDLE;
#define AD_ARBITRARY_HANDLE 0
#define AD_SOFT_POINTER_HANDLE 1
#define AD_HARD_POINTER_HANDLE 2
#define AD_SOFT_OWNER_HANDLE 3
#define AD_HARD_OWNER_HANDLE 4
#define NULLOBJHANDLE "\0\0\0\0\0\0\0\0"
#define AD_DELETE_BLOBS 1
#define AD_LEAVE_BLOBS 0
#define AD_VERBOSITY_NONE 0
#define AD_VERBOSITY_QUIET 1
#define AD_VERBOSITY_VERBOSE 2
#define AD_UNSAFEMODE 0
#define AD_SAFEMODE 1
#define AD_CRITERR_FILEREADERROR 1
#define AD_CRITERR_MALLOCERROR 2
#define AD_CRITERR_DISKFULL 3
#define AD_CRITERR_WRITEABORT 4
#define AD_CRITERR_BUFFEROVERRUN 5
#define AD_CRITERR_BADDATA 6
#define AD_DISKFULL_CALLWRITEABORT 0
#define AD_DISKFULL_RETRY 1
#define AD_DISKFULL_STOPWRITING 2
#define BLKCTRL 0
#define LAYERCTRL 1
#define SHPFILECTRL 2
#define LTYPECTRL 3
#define VIEWCTRL 4
#define UCSCTRL 5
#define VPORTCTRL 6
#define REGAPPCTRL 7
#define DIMSTYLECTRL 8
#define VPENTCTRL 9
#define MLINEDICSHADOW 0
#define GROUPDICSHADOW 1
#define DICTIONARYSHADOW 2
#define MSPACEBLKSHADOW 3
#define PSPACEBLKSHADOW 4
#define BYBLOCKLTPSHADOW 5
#define BYLAYERLTPSHADOW 6
#define MSPACEBLKENTSHADOW 7
#define MSPACEENDBLKENTSHADOW 8
#define PSPACEBLKENTSHADOW 9
#define PSPACEENDBLKENTSHADOW 10
#define CONTINUOUSLTPSHADOW 11
#define LAYOUTDICSHADOW 12
#define PLOTSETTINGSDICSHADOW 13
#define PLOTSTYLEDICSHADOW 14
#define AD_DXF_HEADER_PRESENT 1L
#define AD_DXF_LTYPE_TABLE_PRESENT 2L
#define AD_DXF_LAYER_TABLE_PRESENT 4L
#define AD_DXF_SHAPEFILE_TABLE_PRESENT 8L
#define AD_DXF_VIEW_TABLE_PRESENT 16L
#define AD_DXF_VPORT_TABLE_PRESENT 32L
#define AD_DXF_REGAPP_TABLE_PRESENT 64L
#define AD_DXF_DIMSTYLE_TABLE_PRESENT 128L
#define AD_DXF_UCS_TABLE_PRESENT 256L
#define AD_DXF_BLKREC_TABLE_PRESENT 512L
/* minimalheader1 is extents and version, 2 is extents only */
#define AD_DXF_COMPLETE 0
#define AD_DXF_MINIMALHEADER1 1
#define AD_DXF_MINIMALHEADER2 2
#define AD_DXF_ENTITIESONLY 4
#ifndef TYPEDOBJHANDLESTRUDEFINED
#define TYPEDOBJHANDLESTRUDEFINED
typedef struct typedobjhandlestru {
AD_OBJHANDLE typedhandle;
char handletype;
} AD_TYPEDOBJHANDLE,*PAD_TYPEDOBJHANDLE;
#endif
#define adHancpy(a,b) memcpy(a,b,8)
#define adHanclear(a) memset(a,0,8)
#ifdef AD_MEMCMPISSIGNED
/* SUNOS4 ONLY */
#define adHancmp(a,b) adHancmp(a,b)
#else
#define adHancmp(a,b) memcmp(a,b,8)
#endif
#define adHansame(a,b) (!adHancmp(a,b))
#define AD_PAPERSPACE_ENT 1
#define AD_EXTRUSION_INFO_VALID 2
#define AD_INVISIBLE 4
#define adEntIsInPaperspace(a) (a & AD_PAPERSPACE_ENT)
#define adEntHasExtrusion(a) (a & AD_EXTRUSION_INFO_VALID)
#define adEntIsInvisible(a) (a & AD_INVISIBLE)
#define adSetEntIsInPaperspace(a) (a |= AD_PAPERSPACE_ENT)
#define adSetEntHasExtrusion(a) (a |= AD_EXTRUSION_INFO_VALID)
#define adSetEntIsInvisible(a) (a |= AD_INVISIBLE)
#define adSetEntIsInModelspace(a) (a &= ~AD_PAPERSPACE_ENT)
#define adSetEntHasNoExtrusion(a) (a &= ~AD_EXTRUSION_INFO_VALID)
#define adSetEntIsNotInvisible(a) (a &= ~AD_INVISIBLE)
#define AD_PRELOAD_ALL 1
#define AD_PRELOAD_PARTIAL 2
/* flag "anders" & other constants */
#define AD_FACE3D_FACE1INVIS 1
#define AD_FACE3D_FACE2INVIS 2
#define AD_FACE3D_FACE3INVIS 4
#define AD_FACE3D_FACE4INVIS 8
#define AD_ATTDEF_INVIS 1
#define AD_ATTDEF_CONST 2
#define AD_ATTDEF_VERIFY 4
#define AD_ATTDEF_PRESET 8
#define AD_ATTRIB_INVIS 1
#define AD_ATTRIB_CONST 2
#define AD_ATTRIB_VERIFY 4
#define AD_ATTRIB_PRESET 8
#define AD_DIMTYPE_ROTATED 0
#define AD_DIMTYPE_ALIGNED 1
#define AD_DIMTYPE_ANGULAR 2
#define AD_DIMTYPE_DIAMETER 3
#define AD_DIMTYPE_RADIUS 4
#define AD_DIMTYPE_ANGULAR3PT 5
#define AD_DIMTYPE_ORDINATE 6
#define AD_DIMTYPE_XORDDIM 64
#define AD_DIMTYPE_TEXTPOS 128
#define AD_MTEXT_ATTACH_TOPLEFT 1
#define AD_MTEXT_ATTACH_TOPCENTER 2
#define AD_MTEXT_ATTACH_TOPRIGHT 3
#define AD_MTEXT_ATTACH_MIDDLELEFT 4
#define AD_MTEXT_ATTACH_MIDDLECENTER 5
#define AD_MTEXT_ATTACH_MIDDLERIGHT 6
#define AD_MTEXT_ATTACH_BOTTOMLEFT 7
#define AD_MTEXT_ATTACH_BOTTOMCENTER 8
#define AD_MTEXT_ATTACH_BOTTOMRIGHT 9
#define AD_MTEXT_ATTACH_TOLERANCE 10
#define AD_MTEXT_DRAWDIR_LTOR 1
#define AD_MTEXT_DRAWDIR_RTOL 2
#define AD_MTEXT_DRAWDIR_TTOB 3
#define AD_MTEXT_DRAWDIR_BTOT 4
#define AD_PLINE_CLOSED 1
#define AD_PLINE_CURVEFIT 2
#define AD_PLINE_SPLINEFIT 4
#define AD_PLINE_3DPLINE 8
#define AD_PLINE_3DMESH 16
#define AD_PLINE_CLOSEDN 32
#define AD_PLINE_POLYFACEMESH 64
#define AD_PLINE_CONTINUELT 128
#define AD_PLINE_SURFTYPE_NONE 0
#define AD_PLINE_SURFTYPE_QUAD 5
#define AD_PLINE_SURFTYPE_CUBIC 6
#define AD_PLINE_SURFTYPE_BEZIER 8
#define AD_TEXT_GEN_BACKWARD 2
#define AD_TEXT_GEN_UPSIDEDOWN 4
#define AD_TEXT_JUST_LEFT 0
#define AD_TEXT_JUST_CENTER 1
#define AD_TEXT_JUST_RIGHT 2
#define AD_TEXT_JUST_ALIGNED 3
#define AD_TEXT_JUST_MIDDLE 4
#define AD_TEXT_JUST_FIT 5
#define AD_TEXT_VALIGN_BASELINE 0
#define AD_TEXT_VALIGN_BOTTOM 1
#define AD_TEXT_VALIGN_MIDDLE 2
#define AD_TEXT_VALIGN_TOP 3
#define AD_VERTEX_FROMFIT 1
#define AD_VERTEX_HASTANGENT 2
#define AD_VERTEX_SPLINEVERTEX 8
#define AD_VERTEX_SPLINEFRAME 16
#define AD_VERTEX_3DPLINE 32
#define AD_VERTEX_3DMESHVERT 64
#define AD_VERTEX_FACELIST 128
#define AD_LEADER_PATH_STRAIGHT 0
#define AD_LEADER_PATH_SPLINE 1
#define AD_LEADER_ANNO_TEXT 0
#define AD_LEADER_ANNO_TOLERANCE 1
#define AD_LEADER_ANNO_BLOCK 2
#define AD_LEADER_ANNO_NONE 3
#define AD_SPLINE_CLOSED 1
#define AD_SPLINE_PERIODIC 2
#define AD_SPLINE_RATIONAL 4
#define AD_SPLINE_PLANAR 8
#define AD_SPLINE_LINEAR 16
#define AD_MLINE_JUST_TOP 0
#define AD_MLINE_JUST_ZERO 1
#define AD_MLINE_JUST_BOTTOM 2
#define AD_MLINE_LOCKED 1
#define AD_MLINE_CLOSED 2
#define AD_MLINE_SUPPRESS_START_CAPS 4
#define AD_MLINE_SUPPRESS_END_CAPS 8
#define AD_ENTRY_XREF_DEPENDENT 16
#define AD_XREF_RESOLVED 32
#define AD_REFERENCED 64
#define AD_BLOCK_ANONYMOUS 1
#define AD_BLOCK_HASATTRIBUTES 2
#define AD_BLOCK_XREF 4
#define AD_LAYER_OFF 0
#define AD_LAYER_ON 1
#define AD_LAYER_THAWED 0
#define AD_LAYER_FROZEN 1
#define AD_LAYER_VPFROZEN 2
#define AD_LAYER_LOCKED 4
#define AD_LAYER_NOCHANGE -1
#define AD_SHAPEFILE_SHAPES 1
#define AD_SHAPEFILE_VERTICAL 4
#define AD_SHAPEFILE_GEN_BACKWARD 2
#define AD_SHAPEFILE_GEN_UPSIDEDOWN 4
#define AD_VIEW_ISPAPERSPACE 1
#define AD_MLSTYLE_FILL_ON 1
#define AD_MLSTYLE_SHOW_MITERS 2
#define AD_MLSTYLE_START_SQUARE 16
#define AD_MLSTYLE_START_INNER_ARC 32
#define AD_MLSTYLE_START_ROUND 64
#define AD_MLSTYLE_END_SQUARE 256
#define AD_MLSTYLE_END_INNER_ARC 512
#define AD_MLSTYLE_END_ROUND 1024
#define AD_LWPLINE_HAS_CONSTANT_WIDTH 4
#define AD_LWPLINE_HAS_BULGES 16
#define AD_LWPLINE_HAS_WIDTHS 32
#define AD_LWPLINE_PLINEGEN 256
#define AD_LWPLINE_IS_CLOSED 512
#define AD_HATCH_PATHTYPE_LINE 1
#define AD_HATCH_PATHTYPE_CIRCARC 2
#define AD_HATCH_PATHTYPE_ELLIPARC 3
#define AD_HATCH_PATHTYPE_SPLINE 4
#define AD_HATCH_STYLE_NORMAL 0
#define AD_HATCH_STYLE_OUTER 1
#define AD_HATCH_STYLE_IGNORE 2
#define AD_HATCH_PATHFLAG_DEFAULT 0
#define AD_HATCH_PATHFLAG_EXTERNAL 1
#define AD_HATCH_PATHFLAG_POLYLINE 2
#define AD_HATCH_PATHFLAG_DERIVED 4
#define AD_HATCH_PATHFLAG_TEXTBOX 8
#define AD_HATCH_PATHFLAG_OUTERMOST 16
#define AD_HATCH_PATTERNTYPE_USER 0
#define AD_HATCH_PATTERNTYPE_PREDEFINED 1
#define AD_HATCH_PATTERNTYPE_CUSTOM 2
#define AD_IMAGE_CLIPBOUND_RECT 1
#define AD_IMAGE_CLIPBOUND_POLYGON 2
#define AD_IMAGE_DISPPROPS_SHOWIMAGE 1
#define AD_IMAGE_DISPPROPS_SHOWNONALIGNED 2
#define AD_IMAGE_DISPPROPS_USECLIP 4
#define AD_IMAGE_DISPPROPS_TRANSON 8
#define AD_ISDIMTYPE_ROTATED(a) ((a & 7)==0)
#define AD_ISDIMTYPE_ALIGNED(a) ((a & 7)==1)
#define AD_ISDIMTYPE_ANGULAR(a) ((a & 7)==2)
#define AD_ISDIMTYPE_DIAMETER(a) ((a & 7)==3)
#define AD_ISDIMTYPE_RADIUS(a) ((a & 7)==4)
#define AD_ISDIMTYPE_ANGULAR3PT(a) ((a & 7)==5)
#define AD_ISDIMTYPE_ORDINATE(a) ((a & 7)==6)
#define AD_ISDIMTYPE_XORDDIM(a) (a & 64)
#define AD_COLOR_RED 1
#define AD_COLOR_YELLOW 2
#define AD_COLOR_GREEN 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -