⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad2.h

📁 这是树上的代码
💻 H
📖 第 1 页 / 共 5 页
字号:
#define _(a) ()
#endif


#ifdef __cplusplus
extern "C" {
#endif

#ifndef ADERRORDEFINED
#define ADERRORDEFINED
enum ader {
  AD_NO_ERROR,
  AD_CANT_ALLOC_CONTROL_BLOCK,
  AD_GENERAL_FAILURE,
  AD_CANT_OPEN_FILE,
  AD_ERROR_READING_HEADER,
  AD_CANT_DETERMINE_FILE_TYPE,
  AD_CANT_INIT_FILE_SYSTEM,
  AD_CANT_ALLOC_FILE_CONTROL,
  AD_UNSUPPORTED_ACAD_VERSION,
  AD_ERROR_XD_READ_ALLOC,
  AD_ERROR_XD_WRITE_ALLOC,
  AD_CANT_ALLOC_READ_BUFFER,
  AD_CANT_ALLOC_WRITE_BUFFER,
  AD_CANT_SET_WRITE_BUFFER,
  AD_CANT_CREATE_DXF_TEMP_LIST,
  AD_CANT_ALLOC_WRITE_BLOCKS,
  AD_CHAR_NOT_IN_FONT,
  AD_FONT_NOT_IN_TABLE,
  AD_CANT_ALLOC_TEMP_STRING,
  AD_CANT_OPEN_XREF_TEMP_FILE,
  AD_CANT_OPEN_XREF,
  AD_UNSUPPORTED_WRITE_VERSION,
  AD_UNSUPPORTED_DXF_VERSION,
  AD_NO_BMP_IN_DWG_FILE,
  AD_CANT_OPEN_BMP_OUTPUT_FILE,
  AD_NO_WMF_IN_DWG_FILE,
  AD_CANT_OPEN_WMF_OUTPUT_FILE,
  AD_DISK_FULL,
  AD_NOT_ENOUGH_MEMORY_TO_DRAW_LEADER,
  AD_NOT_ENOUGH_MEMORY_TO_DRAW_SPLINE,
  AD_UNEXPECTED_END_OF_FILE,
  AD_ERROR_IN_DXF_HEADER,
  AD_ERROR_IN_DXF_ENTITIES,
  AD_ERROR_IN_DXF_TABLES,
  AD_ERROR_IN_DXF_BLOCKS,
  AD_ERROR_IN_DXF_OBJECTS,
  AD_VM_TOO_MANY_PAGE_FRAMES,
  AD_VM_TOO_MANY_PAGES_IN_FILE,
  AD_VM_ATTEMPT_TO_MALLOC_ZERO_BYTES,
  AD_VM_BAD_MAGIC_ON_MALLOC,
  AD_VM_TRIED_TO_FREE_A_NULL_PTR,
  AD_VM_TRIED_TO_FREE_A_FREE_PTR,
  AD_VM_TRIED_TO_FREE_A_NON_MALLOCED_PTR,
  AD_VM_NOT_ENOUGH_MEMORY_TO_INIT,
  AD_VM_FILE_WRITE_FAILED,
  AD_ERROR_LOADING_LINETYPES,
  AD_ERROR_LOADING_LAYERS,
  AD_ERROR_LOADING_CLASSES,
  AD_ERROR_LOADING_VPORTS,
  AD_ERROR_LOADING_UCSS,
  AD_ERROR_LOADING_REGAPPS,
  AD_ERROR_LOADING_VIEWS,
  AD_ERROR_LOADING_SHAPES,
  AD_ERROR_LOADING_DIMSTYLES,
  AD_ERROR_LOADING_BLOCKHEADERS,
  AD_ERROR_LOADING_ENTITIES,
  AD_ERROR_LOADING_OBJECTS,
  AD_CANT_ALLOC_FOR_FILE_SAVE,
  AD_ERROR_WRITING_HEADER,
  AD_CANT_RESOLVE_HDRCURLAYER,
  AD_CANT_RESOLVE_HDRCURLTYPE,
  AD_CANT_RESOLVE_HDRCURDIMSTYLE,
  AD_CANT_RESOLVE_HDRCURUCS,
  AD_CANT_RESOLVE_HDRCURPUCS,
  AD_CANT_RESOLVE_HDRCURTEXTSTYLE,
  AD_CANT_RESOLVE_HDRCURDIMTEXTSTYLE,
  AD_CANT_RESOLVE_LAYER,
  AD_CANT_RESOLVE_LTYPE,
  AD_CANT_RESOLVE_STYLE,
  AD_CANT_RESOLVE_DIMSTYLE,
  AD_ERROR_RESOLVING_VPENTS,
  AD_CANT_RESOLVE_XD_APP_INDEX,
  AD_CANT_RESOLVE_XD_ENT_LAYER,
  AD_CANT_FIND_BLOCK_FOR_ENTITY_READ,
  AD_NO_ENTITIES_FOR_BLOCK,
  AD_CANT_RESOLVE_BLOCKHEADER,
  AD_NO_LINETYPES_IN_LIST,
  AD_DID_NOT_FIND_LINETYPE_TO_DELETE,
  AD_NO_REGAPPS_IN_LIST,
  AD_DID_NOT_FIND_REGAPP_TO_DELETE,
  AD_NO_SHAPEFILES_IN_LIST,
  AD_DID_NOT_FIND_SHAPEFILE_TO_DELETE,
  AD_NO_DIMSTYLES_IN_LIST,
  AD_DID_NOT_FIND_DIMSTYLE_TO_DELETE,
  AD_NO_VIEWS_IN_LIST,
  AD_DID_NOT_FIND_VIEW_TO_DELETE,
  AD_NO_VPORTS_IN_LIST,
  AD_DID_NOT_FIND_VPORT_TO_DELETE,
  AD_NO_UCSS_IN_LIST,
  AD_DID_NOT_FIND_UCS_TO_DELETE,
  AD_NO_LAYERS_IN_LIST,
  AD_DID_NOT_FIND_LAYER_TO_DELETE,
  AD_NO_BLOCKHEADERS_IN_LIST,
  AD_DID_NOT_FIND_BLOCKHEADER_TO_DELETE,
  AD_ERROR_REMOVING_PURGED_ITEMS,
  AD_DROPPED_SHAPE_ENTITY_FROM_FILE,
  AD_CANT_READ_HEADER_BLOCK,
  AD_ERROR_DELETING_ENT_XDATA,
  AD_ERROR_DELETING_ENT_LONGDATA,
  AD_ERROR_DELETING_ENTITY,
  AD_ERROR_DELETING_REGAPP_XDATA,
  AD_ERROR_DELETING_REGAPP,
  AD_ERROR_FREEING_REGAPP,
  AD_ERROR_DELETING_LAYER_XDATA,
  AD_ERROR_DELETING_LAYER,
  AD_ERROR_FREEING_LAYER,
  AD_ERROR_DELETING_LTYPE_XDATA,
  AD_ERROR_DELETING_LTYPE,
  AD_ERROR_FREEING_LTYPE,
  AD_ERROR_DELETING_SHPTB_XDATA,
  AD_ERROR_DELETING_SHPTB,
  AD_ERROR_FREEING_SHPTB,
  AD_ERROR_DELETING_VIEW_XDATA,
  AD_ERROR_DELETING_VIEW,
  AD_ERROR_FREEING_VIEW,
  AD_ERROR_DELETING_VPORT_XDATA,
  AD_ERROR_DELETING_VPORT,
  AD_ERROR_FREEING_VPORT,
  AD_ERROR_DELETING_DIMSTYLE_XDATA,
  AD_ERROR_DELETING_DIMSTYLE,
  AD_ERROR_FREEING_DIMSTYLE,
  AD_ERROR_DELETING_UCS_XDATA,
  AD_ERROR_DELETING_UCS,
  AD_ERROR_FREEING_UCS,
  AD_ERROR_DELETING_BLOCKHDR_XDATA,
  AD_ERROR_DELETING_BLOCKHDR_PREVIEWBLOB,
  AD_ERROR_DELETING_BLOCKHDR,
  AD_ERROR_FREEING_BLOCKHDR,
  AD_CANT_RESOLVE_HDR_MLSTYLE,
  AD_ERROR_LOADING_ENTITY_LIST,
  AD_ERROR_LOADING_BLOCK_ENTITIES,
  AD_ERROR_RESOLVING_HEADER,
  AD_CANT_GET_CURMLSTYLE,
  AD_CANT_ADD_DEFAULT_OBJECTS,
  AD_CANT_MALLOC_FOR_RASTER_FILE_WRITE,
  AD_ERROR_IN_RASTER_DATA,
  AD_UNABLE_TO_ALLOC_VM_MEMORY,
  AD_MAX_MEM_BLKS_EXCEEDED,
  AD_ATTEMPT_TO_READ_FROM_NON_EXISTENT_VM_BLOCK,
  AD_FILE_HAS_NO_BMP,
  AD_FILE_HAS_NO_WMF,
  AD_FILE_ALREADY_HAS_BMP,
  AD_FILE_ALREADY_HAS_WMF,
  AD_ERROR_LOADING_BMP,
  AD_ERROR_LOADING_WMF,
  AD_ERROR_ON_BLOCK_ENT_READ,
  AD_ERROR_FLUSHING_OBJECT_TO_VM,
  AD_ERROR_ON_LAYER_READ_START,
  AD_ERROR_READING_LAYER,
  AD_COULDNT_FIND_VPENT_HDR_HANDLE,
  AD_ERROR_CLOSING_FILE,
  AD_ATTEMPT_TO_DELETE_FROM_NULL_LIST,
  AD_ENTITY_NOT_FOUND_IN_LIST,
  AD_DUPLICATE_HANDLE_IN_FILE,
  AD_INCOMPLETE_ACIS_ENTRY,
  AD_UNEXPECTED_END_OF_FILE_IN_DXF,
  AD_INVALID_DXF_VERSION,
  AD_CANT_ALLOC_BLOB_BUF,
  AD_ERROR_WRITING_DICTIONARY_OBJECT,
  AD_ERROR_DELETING_PROXY_DATA,
  AD_ERROR_DELETING_PROXY_OBJIDS,
  AD_ERROR_WRITING_PROXY_OBJECT,
  AD_ATTEMPT_TO_READ_FROM_NULL_BLOB,
  AD_ATTEMPT_TO_WRITE_TO_NULL_BLOB,
  AD_NO_OBJECTS_IN_LIST,
  AD_UNKNOWN_XRECORD_TYPE_READ,
  AD_ATTEMPT_TO_WRITE_UNKNOWN_XRECORD_TYPE,
  AD_CANNOT_PROCESS_LARGE_PROXY_ENT,
  AD_DID_NOT_FIND_OBJECT_TO_DELETE,
  AD_ERROR_FREEING_OBJECT,
  AD_ERROR_DELETING_OBJECT,
  AD_CANT_FIND_LEADER_DIMSTYLE,
  AD_ATTEMPT_TO_ADD_DUPLICATE_HANDLE,
  AD_BTREE_ERROR,
  AD_CANT_FIND_TOLERANCE_DIMSTYLE,
  AD_ERROR_DELETING_DURING_REPLACE,
  AD_NO_CLASSES_IN_LIST,
  AD_ERROR_DELETING_CLASS_XDATA,
  AD_ERROR_DELETING_CLASS,
  AD_ERROR_FREEING_CLASS,
  AD_DID_NOT_FIND_CLASS_TO_DELETE,
  AD_ERROR_ALLOCATING_TMP_HEADER,
  AD_UNABLE_TO_OPEN_INIT_FILE,
  AD_INCORRECT_INIT_FILE_VERSION,
  AD_BAD_HEADER_SIZE,
  AD_BAD_HEADER_CRC,
  AD_BAD_DWG_INFO,
  AD_BAD_ENTITY,
  AD_BAD_BLOCKHEADER,
  AD_BAD_LAYER,
  AD_BAD_SHAPEFILE,
  AD_BAD_LINETYPE,
  AD_BAD_VIEW,
  AD_BAD_UCS,
  AD_BAD_VPORT,
  AD_BAD_REGAPP,
  AD_BAD_DIMSTYLE,
  AD_BAD_VPORTENTHDR,
  AD_BAD_BLOCKENTITY,
  AD_BAD_EXTRAENTITY,
  AD_BAD_SECONDHEADER,
  AD_BAD_OBJECT,
  AD_BAD_CLASSDEF,
  AD_OBJ_MAP_WRITE_ERROR,
  AD_NO_PSPACE_VPORT_FOUND,
  AD_CANT_REPLACE_DIFFERING_OBJECTS,
  AD_ERROR_ALLOC_PARENT_BUF,
  AD_ERROR_ALLOCATING_CODEPAGE_BUF,
  AD_ERROR_ALLOC_PROXY_BUFFER,
  AD_ERROR_ALLOCATING_BTREE_BUFFER,
  AD_ERROR_ALLOCATING_BLOB_BUFFER,
  AD_ERROR_ALLOC_OBJHANDLE_BUFFER,
  AD_ERROR_ALLOC_BESTENTRY_BUF,
  AD_ERROR_ALLOC_VP_PTR,
  AD_CANT_ALLOC_VM_BTNODE,
  AD_CANT_ALLOC_VM_BLOB,
  AD_CANT_ALLOC_VM_TEMPMEM,
  AD_CANT_ALLOC_VM_HDR,
  AD_CANT_ALLOC_VM_LLIST,
  AD_CANT_ALLOC_VM_LLALLOC,
  AD_CANT_ALLOC_VM_LTYPE,
  AD_CANT_ALLOC_VM_BLKH,
  AD_CANT_ALLOC_VM_BINDATA,
  AD_CANT_ALLOC_VM_STRU,
  AD_CANT_ALLOC_LWPLINE_TEMP,
  AD_CANT_ALLOC_HATCH_DATA,
  AD_CANT_FIND_ENTITY_TO_REPLACE,
  AD_CANT_SET_CURRENT_NODE,
  AD_ERROR_ON_ENTITY_ADD_DURING_REPLACE,
  AD_ERROR_ON_VPENT_LIST_UPDATE,
  AD_CANT_CREATE_IDBUFFER_CLASS,
  AD_ATTEMPT_TO_ADD_NULL_HANDLE,
  AD_INSERT_OF_BAD_BLOCK,
  AD_CANT_ALLOC_VERTEX,
  AD_CANT_ALLOC_LINETYPE,
  AD_CANT_ALLOC_SHPTB,
  AD_CANT_ALLOC_VIEW_MATRICES,
  AD_CANT_ALLOC_SKIP_VERTEX,
  AD_CANT_ALLOC_POINT_MATRIX,
  AD_CANT_ALLOC_SHAPE_MATRICES,
  AD_CANT_ALLOC_POLYLINE,
  AD_CANT_ALLOC_PL_STORAGE,
  AD_CANT_ALLOC_VERT,
  AD_CANT_ALLOC_BLOCK,
  AD_CANT_ALLOC_MLINE_TYPE,
  AD_CANT_ALLOC_SOLMAT,
  AD_CANT_ALLOC_ELLIPSE_VIEWMAT,
  AD_CANT_ALLOC_MLINE_ARCS_VIEWMAT,
  AD_CANT_ALLOC_MLINE_ARC_CAPS,
  AD_CANT_ALLOC_SEGLTYPES,
  AD_CANT_ALLOC_MESH_VERTS,
  AD_CANT_ALLOC_GRDATA_STORAGE,
  AD_CANT_ALLOC_SHELL_VERTS,
  AD_CANT_ALLOC_SHELL_FACES,
  AD_CANT_ALLOC_GRSHELL_PRIMS,
  AD_CANT_ALLOC_PROXY_IMG_VIEWMAT,
  AD_CANT_ALLOC_MLINE_LTYPE,
  AD_CANT_ALLOC_MLINE_SEGLTYPES,
  AD_CANT_ALLOC_TEXT_SHMAT,
  AD_CANT_ALLOC_MTEXT_STORAGE,
  AD_CANT_ALLOC_MTEXT_SHMAT,
  AD_CANT_ALLOC_SECOND_VERT,
  AD_CANT_ALLOC_VERT_TEMPPTR,
  AD_CANT_ALLOC_POLYARC_VERT,
  AD_CANT_ALLOC_POLYMESH_VERT,
  AD_CANT_ALLOC_POLYMESH_POINTS,
  AD_CANT_ALLOC_POLYMESH_VPTR,
  AD_CANT_ALLOC_SHP_SMALLINDEX,
  AD_CANT_ALLOC_SHP_TEMP,
  AD_CANT_ALLOC_BIGINDEX_TEMP,
  AD_CANT_ALLOC_BIGINDEX,
  AD_CANT_ALLOC_SHP_DATABLOCK,
  AD_CANT_ALLOC_TEMP_ADHD,
  AD_CANT_ALLOC_DRAW_TEMPS,
  AD_CANT_ALLOC_SPLINE_STUFF,
  AD_CANT_ALLOC_AD3_CTRL_BLOCKS,
  AD_CANT_ALLOC_LT_SHAPE_SHMAT,
  AD_CANT_FIND_GROUP_DICTIONARY,
  AD_CANT_SEEK_GROUP_DICTIONARY,
  AD_CANT_ADD_GROUP,
  AD_CANT_READ_DIC_ITEM_BLOB,
  AD_CANT_REPLACE_DICTIONARY_OBJ,
  AD_CANT_REPLACE_ENTITY,
  AD_CANT_SEEK_ENTITY,
  AD_CANT_ALLOC_AD_INTERNAL_DATA,
  AD_CANT_MALLOC_FOR_RASTER_ADD,
  AD_R14_BETA_FORMAT_UNSUPPORTED,
  AD_VPENT_WITH_NO_XDATA,
  AD_CANT_RESOLVE_ENTITY_XDATA,
  AD_CANT_ADD_ENTITY,
  AD_CANT_ADD_ENTHANDLE_TO_INDEX,
  AD_CANT_ADD_VPENT_TO_LIST,
  AD_DUPLICATE_HANDLE,
  AD_ERROR_ALLOCATING_SHAPEFILE,
  AD_CANT_INIT_SHFILE_SYSTEM,
  AD_INIT_DATA_MUST_BE_LOADED,
  AD_UNABLE_TO_OPEN_FONT,
  AD_UNABLE_TO_OPEN_BIGFONT,
  AD_DXF_LINE_TOO_LONG,
  AD_DXF_LINE_CONTAINS_NON_NUMS,
  AD_BAD_OBJHANDLE_IN_HEADER,
  AD_PROBABLE_BAD_VPENT_DATA,
  AD_ERROR_IN_VPENT_HEADER,
  AD_HANDLE_NOT_FOUND_IN_BTREE,
  AD_UNABLE_TO_SET_CURRENT_NODE_IN_LIST,
  AD_UNABLE_TO_GET_REQUESTED_ITEM,
  AD_SAVE_ATTEMPTED_TO_INCOMPATIBLE_VERSION,
  AD_ERROR_IN_ACIS_READ

} ;
#endif

#ifndef AD2GRDATASTRUDEFINED
#define AD2GRDATASTRUDEFINED

typedef struct adgrcirclestru {
  double pt0[3],radius,normal[3];
} AD_GR_CIRCLE,*PAD_GR_CIRCLE;

typedef struct adgrcir3ptstru {
  double pt0[3],pt1[3],pt2[3];
} AD_GR_CIR3PT,*PAD_GR_CIR3PT;

typedef struct adgrcircarcstru {
  double pt0[3],radius,normal[3],startvector[3],sweepangle;
  long arctype;
} AD_GR_CIRCARC,*PAD_GR_CIRCARC;

typedef struct adgrcircarc3ptstru {
  double pt0[3],pt1[3],pt2[3];
  long arctype;
} AD_GR_CIRCARC3PT,*PAD_GR_CIRCARC3PT;

typedef struct adgrplinestru {
  long numpts;
} AD_GR_PLINE,*PAD_GR_PLINE;

typedef struct adgrpolygonstru {
  long numpts;
} AD_GR_POLYGON,*PAD_GR_POLYGON;

typedef struct adgrvertexstru {
  double pt0[3];
} AD_GR_VERTEX,*PAD_GR_VERTEX;

typedef struct adgrmeshstru {
  long rows,cols;
  double *vertex;
  unsigned long edgeprimflag,faceprimflag,vertprimflag;
  short *edgecolorid,*edgelayerid,*edgelinetypeid;
  long *edgegsmarker,*edgevisibility;
  short *facecolorid,*facelayerid;
  long *facegsmarker;
  double *facenormal;
  long *facevisibility;
  double *vertexnormal;
  long vertexorientation;
} AD_GR_MESH,*PAD_GR_MESH;

typedef struct adgrshellreadstru {
  long numpts;
  double *vertex;
  long numfaceentries;
  long *faceentry;
  unsigned long edgeprimflag,faceprimflag,vertprimflag;
  short *edgecolorid,*edgelayerid,*edgelinetypeid;
  long *edgegsmarker,*edgevisibility;
  short *facecolorid,*facelayerid;
  long *facegsmarker;
  double *facenormal;
  long *facevisibility;
  double *vertexnormal;
  long vertexorientation;
} AD_GR_SHELL,*PAD_GR_SHELL;

typedef struct adgrtextstru {
  double pt0[3];
  double normal[3],direction[3],height,widthfactor,oblique;
  char textstr[512];
} AD_GR_TEXT,*PAD_GR_TEXT;

typedef struct adgrtext2stru {
  double pt0[3];
  double normal[3],direction[3];
  char textstr[512];
  char raw;
  long length;
  double height,widthfactor,oblique;
  double xdir[3];
  char fontfile[AD_MAX_STRLEN];
} AD_GR_TEXT2,*PAD_GR_TEXT2;

typedef struct adgrxlinestru {
  double pt0[3],pt1[3];
} AD_GR_XLINE, *PAD_GR_XLINE;

typedef struct adgrraystru {
  double pt0[3],pt1[3];
} AD_GR_RAY, *PAD_GR_RAY;

typedef struct ad2grdatastru {
  long grtype;
  union grbodyunion {
    AD_GR_CIRCLE       circle;
    AD_GR_CIR3PT       circle3pt;
    AD_GR_CIRCARC      circulararc;
    AD_GR_CIRCARC3PT   circulararc3pt;
    AD_GR_PLINE        pline;
    AD_GR_POLYGON      polygon;
    AD_GR_MESH         mesh;
    AD_GR_SHELL        shell;
    AD_GR_TEXT         text;
    AD_GR_TEXT2        text2;
    AD_GR_XLINE        xline;
    AD_GR_RAY          ray;
    long   colorindex;
    long   layerindex;
    long   linetypeindex;
    long   markerindex;
    long   fillon;
  } grbody;
} AD_GR_DATA,*PAD_GR_DATA;
#endif

#ifndef ADCDECL
#define ADCDECL
#endif

#ifndef ODT_WIN32ONLY
extern  int            odiow_fclose _((void *f));
extern  void *         odiow_fopen _((void *path,char *accessmodes));
extern  int            odiow_fputs _((const char *str,void *f));
extern  int            odiow_fread _((void *buf, unsigned int size, unsigned int num, void *f));
extern  int            odiow_fseek _((void *f, long offset, int whence));
extern  long           odiow_ftell _((void *f));
extern  int            odiow_fwrite _((void *b,int size,int count, void *f));
#endif

extern  int            odior_fclose _((void *f));
extern  short          odior_feof _((void *f));
extern  unsigned cha

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -