- UID
- 47232
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-5-7
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
基本绘图函数库
基本绘图程序由PLOT1和PLOT2组成。PLOT1为一级程序,直接调用ACAD的类库。PLOT2为二级程序,调用PLOT1的子程序。
1.1 程序接口
PLOT1的程序接口如下:
extern AcDbObjectId selectObjectId();
程序功能
选择一个实体。
参数说明
无参数。
返 回 值
实体ID。
extern void
addXdataReal(AcDbObjectId pObjId,char appName[],int n,double BHD[]);
程序功能
在一个实体上附加一串实数(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
n——输入参数,数据个数;
BHD——输入参数,要附加的实数数组。
返 回 值
无。
extern int
getXdataReal(AcDbObjectId pObjId,char appName[],double BHD[]);
程序功能
得到附加于一个实体上的一串实数(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
BHD——输出参数,实数数组,附加于实体的实数。
返 回 值
数据个数。
extern void
addXdataInt(AcDbObjectId pObjId,char appName[],int n,long BHD[]);
程序功能
在一个实体上附加一串整数(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
n——输入参数,数据个数;
BHD——输入参数,要附加的整数数组。
返 回 值
无。
extern int
getXdataInt(AcDbObjectId pObjId,char appName[],long BHD[]);
程序功能
得到附加于一个实体上的一串整数(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
BHD——输出参数,整数数组,附加于实体的整数。
返 回 值
数据个数。
extern void
addXdataChar(AcDbObjectId pObjId,char appName[],char BHD[]);
程序功能
在一个实体上附加一字符串(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
BHD——输入参数,要附加字符串。
返 回 值
无。
extern bool
getXdataChar(AcDbObjectId pObjId,char appName[],char BHD[]);
程序功能
得到附加于一个实体上的一字符串(Xdata)。
参数说明
pObjId——输入参数,实体ID;
appName——输入参数,数据名;
BHD——输出参数,附加于实体的字符串。
返 回 值
数据个数。
extern void
addXrecordReal(char dictName[],char dataName[],int n,double r[]);
程序功能
在一个DWG文件上附加一串实数(Xrecord)。
参数说明
dictName——输入参数,字典名;
dataName——输入参数,数据名;
n——输入参数,数据个数;
r——输入参数,要附加的实数数组。
返 回 值
无。
extern void
addXrecordInt(char dictName[],char dataName[],int n,int r[]);
程序功能
在一个DWG文件上附加一串整数(Xrecord)。
参数说明
dictName——输入参数,字典名;
dataName——输入参数,数据名;
n——输入参数,数据个数;
r——输入参数,要附加的整数数组。
返 回 值
无。
extern int
getXrecordReal(char dictName[],char dataName[],double r[]);
程序功能
得到附加于DWG文件上的一串实数(Xrecord)。
参数说明
dictName——输入参数,字典名;
dataName——输入参数,数据名;
n——输入参数,数据个数;
r——输出参数,附加于DWG文件上的实数数组。
返 回 值
数据个数。
extern int
getXrecordInt(char dictName[],char dataName[],int r[]);
程序功能
得到附加于DWG文件上的一串整数(Xrecord)。
参数说明
dictName——输入参数,字典名;
dataName——输入参数,数据名;
n——输入参数,数据个数;
r——输出参数,附加于DWG文件上的整数数组。
返 回 值
数据个数。
extern void
createLineType(char Name[],char Description[],int n,
double Dashes[]);
程序功能
创建线型。
参数说明
Name——输入参数,线型名;
Description——输入参数,线型描述;
n——输入参数,线型虚实描述的实数个数;
Dashes——输入参数,线型虚实描述实数,正数为实线,负数为虚线,零为点。
返 回 值
无。
extern void
createLayerByComm(char Name[], int Color,char lType[]);
程序功能
由命令建层。
参数说明
Name——输入参数,层名;
Color——输入参数,颜色;
lType——输入参数,所用线型名;
返 回 值
无。
extern void
createLayerByProg(char Name[], int Color,char lType[]);
程序功能
由程序建层。
参数说明
Name——输入参数,层名;
Color——输入参数,颜色;
lType——输入参数,所用线型名;
返 回 值
无。
extern void
createTextStyle(char TextStyleName[],char BigFontFileName[],
char FontFileName[],double textSize,
double xScale);
程序功能
创建字形式样。
参数说明
TextStyleName——输入参数,字形式样名;
BigFontFileName——输入参数,大字体名,如HZTXT、CHINA等;
FontFileName——输入参数,小字体名,如TXT、SIMPLEX等;
textSize——输入参数,字高;
textSize——输入参数,字宽与字高之比。
返 回 值
无。
extern void
createDimStyle(char DimStyleName[],char TextStyleName[],
double scale,double TextHeight,
double TextFact,double exo);
程序功能
创建尺寸标注式样。
参数说明
DimStyleName——输入参数,尺寸标注式样名;
TextStyleName——输入参数,字形式样名;
scale——输入参数,正体比例;
TextHeight——输入参数,字高;
TextFact——输入参数,所标尺寸数的比例;
exo——输入参数,标注点到尺寸界线起点的距离。
返 回 值
无。
extern AcDbObjectId
createLine(AcGePoint3d startPt,AcGePoint3d endPt,char layer[]);
程序功能
画一条直线。
参数说明
startPt——输入参数,直线的起点;
endPt——输入参数,直线的终点;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
createDimR(double angle,char DimStyleName[],char layer[],
AcGePoint3d Pt1,AcGePoint3d Pt2,AcGePoint3d Pt3);
程序功能
三点及角度标尺寸。
参数说明
angle——输入参数,尺寸线与水平线的夹角(0~360或-180~180);
DimStyleName——输入参数,尺寸标注式样;
layer——输入参数,层。
Pt1——输入参数,标注的第一点;
Pt2——输入参数,标注的第二点;
Pt3——输入参数,尺寸线通过的点;
返 回 值
实体ID。
extern AcDbObjectId
createDimR(double angle,char DimStyleName[],char layer[],
AcGePoint3d Pt1,AcGePoint3d Pt2, double L);
程序功能
两点及角度标尺寸。
参数说明
angle——输入参数,尺寸线与水平线的夹角(0~360或-180~180);
DimStyleName——输入参数,尺寸标注式样;
layer——输入参数,层。
Pt1——输入参数,标注的第一点;
Pt2——输入参数,标注的第二点;
L——输入参数,标注点到尺寸线的距离。
返 回 值
实体ID。
extern AcDbObjectId
createDim(char DimStyleName[],char layer[],AcGePoint3d Pt1,
AcGePoint3d Pt2,double L);
程序功能
两点标尺寸。
参数说明
DimStyleName——输入参数,尺寸标注式样;
layer——输入参数,层。
Pt1——输入参数,标注的第一点;
Pt2——输入参数,标注的第二点;
L——输入参数,标注点到尺寸线的距离。
返 回 值
实体ID。
extern AcDbObjectId createPoint(AcGePoint3d center,char layer[]);
程序功能
创建一个点。
参数说明
center——输入参数,点的座标;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId createCircle
(AcGePoint3d center,double r,char layer[]);
程序功能
画圆。
参数说明
center——输入参数,圆心;
r——输入参数,半径;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
createArc(AcGePoint3d center,double r,double starAng,
double endAng,char layer[]);
程序功能
画圆弧。
参数说明
center——输入参数,圆心;
r——输入参数,半径;
starAng——输入参数,起始角度(弧度);
endAng——输入参数,终止角度(弧度);
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
createText(AcGePoint3d position,char layer[],
char style[],double height,double wFact,
double angle,char hv[2],char Text[]);
程序功能
写字符串。
参数说明
position——输入参数,字符串位置;
layer——输入参数,层。
style——输入参数,字形式样名;
height——输入参数,字高;
wFact——输入参数,字宽与字高之比;
angle——输入参数,与水平轴的夹角(0~360或-180~180);
hv[0]——输入参数,对齐方式;
hv[0]——水平对齐方式,可为c或C(上下左右居中)、r或R(右对齐)、m或M(居中)、其它字符(左对齐);
hv[1]——竖直对齐方式,可为o或O(底平)、m或M(居中)、t或T(上平);
Text——输入参数,要写的字符串;
返 回 值
实体ID。
extern AcDbObjectId createText
(AcGePoint3d position,char layer[],char style[],
double height,double wFact,double angle,
char hv[2],CString Text);
程序功能
写字符串。与前面程序的差别是将要写的字符串参数由char改为Cstring。
extern AcDbObjectId
createPline(int n,double w,int type,double z,
double xy[],char layer[]);
程序功能
画等宽多义线。
参数说明
n——输入参数,多义线的顶点数;
w——输入参数,多义线的线宽;
type——输入参数,封闭指示,0为不封闭,1为封闭;
z——输入参数,多义线的z坐标;
xy——输入参数,多义线的顶点x、y坐标,xy[2i]为x坐标,xy[2I+1]为y坐标;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
createPline(double w,int type,double z,
AcGePoint3dArray ptArr,char layer[]);
程序功能
画等宽多义线。与前面程序的差别是将多义线的顶点坐标由double改为AcGePoint3dArray。
extern AcDbObjectId
createGroup(AcDbObjectIdArray IdArray,
char groupName[],char layer[]);
extern AcDbObjectId
createGroup(AcDbObjectIdArray IdArray,
CString groupName,char layer[]);
程序功能
将多个实体组合成一个组(GROUP)。
参数说明
IdArray——输入参数,ID数组;
groupName——输入参数,组名;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
createHatch(AcDbObjectIdArray ,
AcDbHatch::HatchPatternType patType,
char patName[],double patScale,
double patAngle,char layer[]);
程序功能
填充。
参数说明
arrayId——输入参数,填充边界实体的ID数组;
patType——输入参数,填充方式可取值如下:
AcDbHatch::kUserDefined——使用复杂,不介绍;
AcDbHatch::kPreDefined——使用ACAD的填充图案;
AcDbHatch::kCustomDefined——使用自定义填充图案,文件名为patName,文件扩展名为.pat,该文件必需在ACAD的Support子目录中;
patName——输入参数,填充图案名;
patScale——输入参数,填充比例;
patAngle——输入参数,填充角度(弧度);
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
insertBlock(char blockName[],AcGePoint3d point,
double angle,double scale,char layer[]);
程序功能
插入块。
参数说明
blockName——输入参数,块名;
point——输入参数,插入点;
anglet——输入参数,插入角度(弧度);
scale——输入参数,插入比例;
layer——输入参数,层。
返 回 值
实体ID。
extern AcDbObjectId
insertDwgFile(char dwgName[],char blockName[],
double scale,AcGeVector3d basePoint,
bool purge,bool explode);
程序功能
插入DWG文件。
参数说明
dwgName——输入参数,DWG文件名;
blockName——输入参数,块名;
scale——输入参数,插入比例,缩放基点为原点;
basePoint——输入参数,缩放后的插入点;
purge——输入参数,为true时清除未引用的块、层、线型等;
explode——输入参数,为true时插入后炸开,为false时插入后成为一个块;
extern void
eraseByName(ads_name s1);
程序功能
用实体的ads_name删除实体。
参数说明
s1——输入参数,实体的ads_name名;
返 回 值
无。
extern void
eraseById(AcDbObjectId eIdi);
程序功能
用实体的ID删除实体。
参数说明
eIdi——输入参数,实体的ID;
返 回 值
无。
extern void
changeLayerByName(ads_name si,char layer[]);
程序功能
改变实体的层。
参数说明
si——输入参数,实体的ads_name名;
layer——输入参数,新的层名;
返 回 值
无。
extern void
changeTextByName(ads_name si,CString change);
程序功能
改变字符内容。
参数说明
si——输入参数,实体的ads_name名;
change——输入参数,新的字符串;
返 回 值
无。
extern void layerOff(char layer[]);
程序功能
关闭层。
参数说明
layer——输入参数,层名;
返 回 值
无。
extern void layerOn(char layer[]);
程序功能
打开层。
参数说明
layer——输入参数,层名;
返 回 值
无。
PLOT2的程序接口如下:
extern AcDbObjectId
createTextN(AcGePoint3d position,char layer[],
char style[],double height,double wFact,
double angle,char hv[2],int n);
程序功能
写一整数。
参数说明
n——输入参数,待写的整数;
其它参数同createText。
返 回 值
无。
extern AcDbObjectId
createTextR(AcGePoint3d position,char layer[],
char style[],double height,double wFact,
double angle,char hv[2],double r,int dot);
程序功能
写一实数。
参数说明
r——输入参数,待写的实数;
dot——输入参数,保留的小数位;
其它参数同createText。
返 回 值
无。
函数库下载:PlotLib.zip |
|