www.pudn.com > dwg.rar > dwg.h
//*************************************************************************** //*------------用C写.DWG图形函数,程序名dwg.c,样板文件为ACAD 10.0版----------- // //* 本函数可以被VC++ 6.0调用 // //* 作者 :安徽省水利水电勘测设计院 水工一室 //* //* 朱 群 //* //* Email:zhuqunyj@sina.com.cn //* 1995.11. turbo 2.0 //* 2001.7.29. VC++ 6.0 //*************************************************************************** #ifndef _WRITE_ACAD_DWG_H #define _WRITE_ACAD_DWG_H #define int __int16 #pragma pack( 1 ) //Specifies packing alignment for structure /* 线型定义 */ #define CONTINUOUS 0 #define DASHED 1 #define HIDDEN 2 #define CENTER 3 #define PHANTOM 4 #define DOT 5 #define DASHDOT 6 #define BORDER 7 #define DIVIDE 8 /* 颜色定义 */ #define Red 1 #define Yellow 2 #define Green 3 #define Cyan 4 #define Blue 5 #define Magenta 6 #define White 7 #define STANDARD 0 /* txt,hztxt */ #define HZ_CMPLX 1 /* complex,hztxt */ #define CMPLX_VERT 2 /* complex 垂直字型 大字体无垂直字型*/ #define HZ_ROMS 3 /* romans,tztxt */ #define ROMS_VERT 4 /* romans 垂直字型 大字体无垂直字型*/ /*------------------------*/ /* 文本对齐方式及特征定义 */ /*------------------------*/ /* 方式设置 */ #define Rota 0x01 #define Xscal 0x02 /* X比例因子 */ #define Obliq 0x04 /* 倾斜角 */ #define Setsty 0x08 /* 设字型 */ #define Rgnsty 0x10 /* 生成方式 */ #define Dqsty 0x60 /* 对齐 */ /* 生成方式 */ #define Bkword 0x02 /* 反向 */ #define Updown 0x04 /* 颠倒 */ /* 对齐方式 */ #define Start 0 /* 起点 */ #define Center 1 /* 中央 */ #define Right 2 /* 右对齐 */ #define Align 3 /* 两点这间对准,高度可变 */ #define Mid 4 /* 中点对准 */ #define Fit 5 /* 文本在两点之间拟合,宽度可变 */ //******************************************************** //******采用PASCAL调用方式以便为VB使用******************** int FAR PASCAL wpoint(double x,double y); int FAR PASCAL startdwg(char *filename); int FAR PASCAL enddwg(); int FAR PASCAL chgcolor(char nom); int FAR PASCAL chgltype(char nom); int FAR PASCAL colorbylayer(); int FAR PASCAL ltypebylayer(); int FAR PASCAL wline(double x1,double y1,double x2,double y2); int FAR PASCAL wcircle(double x,double y,double r); int FAR PASCAL warc(double x,double y,double r,double sa,double ea); int FAR PASCAL settexthigh( double h); int FAR PASCAL settextrotang( double ang); int FAR PASCAL settextxscale( double xsca); int FAR PASCAL settextobliq( double obl); int FAR PASCAL settextstyle( char sty); int FAR PASCAL settextccstyle( char cc); int FAR PASCAL settextdqstyle(char dq); int FAR PASCAL cltextset(); int FAR PASCAL wtext(double x,double y,char *text,...); //wtext 仅用于VB,VC可采用wtext代替 int FAR PASCAL wtext1(double x,double y,char *text,double dqx,double dqy); int FAR PASCAL setlayer(char *layna,int color,int linetp); int FAR PASCAL setplinew(double sw,double ew); int FAR PASCAL wpline(char attr2); int FAR PASCAL wvertex(double x,double y,char attr2); int FAR PASCAL wseqend(); int FAR PASCAL wdoughnut(double x,double y,double rr,double ww); int FAR PASCAL w3dface(double x1,double y1,double x2,double y2,\ double x3,double y3,double x4,double y4); int FAR PASCAL wrect(double sx,double sy,double ex,double ey); int FAR PASCAL setbaseXY(double x,double y); int FAR PASCAL setrbase(double x,double y); int FAR PASCAL setscale(double sca); double FAR PASCAL getscale(); double FAR PASCAL getbasex(); double FAR PASCAL getbasey(); int FAR PASCAL npline(int n,...); int FAR PASCAL pline(double x1,double y1,double x2,double y2); int FAR PASCAL ppolygon(int n,...); int FAR PASCAL nline(int n,...); int FAR PASCAL lpolygon(int n,...); int FAR PASCAL Strlen(char *str); int FAR PASCAL wsolid(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4); #pragma pack() #undef int #endif