- UID
- 5537
- 积分
- 371
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-5-23
- 最后登录
- 1970-1-1
|
发表于 2002-11-2 18:04:48
|
显示全部楼层
[php]
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
//| 函数名: 设置标注样式
//| SetDimBz()
//|
//| 输入参数: char *strDimTexSys 标注文字样式名
//| char *strTexFileName 字体文件名
//| char *strTexFont 字体名
//| double rTexXScale 文字长宽比率
//| double rTextSize 文字大小
//| char *strDimSys 标注样式名
//| int iDimColor 标注颜色号
//| int iTextColor 标注字体颜色
//| double rDimexo 标注界限偏移
//| double rDimexe 标注尺寸界限
//| double rDimdli 标注尺寸线间距
//| double rDimgap 标注文字偏移
//| double rDimasz 标注箭头大小
//| int iDimtad 标注设定文字位置垂直
//| int iDimtoh 未知
//| int iDimtih 标注设定文字标注方式
//| char *strDimblk 标注设定箭头样式
//| 返回: BOOL
//| 说明: 略
//|
//| 举例: 略
//|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
AcDbObjectId SetDimBz(char *strDimTexSys,char *strTexFileName,
char *strTexFont,double rTexXScale,double rTextSize,
char *strDimSys,int iDimColor,int iTextColor,
double rDimexo ,double rDimexe,double rDimdli,
double rDimgap ,double rDimasz,int iDimtad,
int iDimtoh,int iDimtih,char *strDimblk)
{
AcCmColor color;
AcDbObjectId syDimId;
AcDbObjectId syBzTeId;
AcDbTextStyleTable *pTextStyleTbl;
if (acdbHostApplicationServices()->workingDatabase()->
getTextStyleTable(pTextStyleTbl,AcDb::kForWrite) != Acad::eOk) {
return 0;
}
if (pTextStyleTbl->getAt(strDimTexSys,syBzTeId) != Acad::eOk)
{
AcDbTextStyleTableRecord *pTextStyleTblRcd=new AcDbTextStyleTableRecord;
pTextStyleTblRcd->setName(strDimTexSys);
pTextStyleTblRcd->setFileName(strTexFileName);
pTextStyleTblRcd->setFont(strTexFont,0,0,130,49);
pTextStyleTblRcd->setXScale(rTexXScale); //设定文字样式
pTextStyleTblRcd->setTextSize(rTextSize);
if (pTextStyleTbl->add(syBzTeId,pTextStyleTblRcd) != Acad::eOk) {
pTextStyleTblRcd->close();
pTextStyleTbl->close();
return 0;
}
if (pTextStyleTblRcd->close() != Acad::eOk) {
pTextStyleTbl->close();
return 0;
}
}
if (pTextStyleTbl->close() != Acad::eOk) {
return 0;
}
AcDbDimStyleTable *pDimStyleTbl;
if (acdbHostApplicationServices()->workingDatabase()->
getDimStyleTable(pDimStyleTbl,AcDb::kForWrite) != Acad::eOk) {
return 0;
}
if (pDimStyleTbl->getAt(strDimSys,syDimId) != Acad::eOk)
{
AcDbDimStyleTableRecord *pDimStyleTblRcd=new AcDbDimStyleTableRecord;
pDimStyleTblRcd->setName(strDimSys);
color.setColorIndex(iDimColor);
pDimStyleTblRcd->setDimclrd(color); //尺寸线颜色
pDimStyleTblRcd->setDimclre(color); //尺寸边界线颜色
color.setColorIndex(iTextColor);
pDimStyleTblRcd->setDimclrt(color); //文字颜色
pDimStyleTblRcd->setDimexo(rDimexo); //界限偏移
pDimStyleTblRcd->setDimexe(rDimexe); //尺寸界限
pDimStyleTblRcd->setDimdli(rDimdli); //尺寸线间距
pDimStyleTblRcd->setDimgap(rDimgap); //文字偏移
pDimStyleTblRcd->setDimasz(rDimasz); //箭头大小
pDimStyleTblRcd->setDimtxsty(syBzTeId); //设定文字的样式
pDimStyleTblRcd->setDimtxt(rTextSize); //设定文字的高度
pDimStyleTblRcd->setDimtad(iDimtad); //设定文字位置垂直
pDimStyleTblRcd->setDimtoh(iDimtoh);
pDimStyleTblRcd->setDimtih(iDimtih); //设定文字标注方式
pDimStyleTblRcd->setDimtix(0); //设定文字始终在中间
pDimStyleTblRcd->setDimblk(strDimblk); //设定箭头样式
if (pDimStyleTbl->add(syDimId,pDimStyleTblRcd) != Acad::eOk) {
pDimStyleTblRcd->close();
return 0;
}
if (pDimStyleTblRcd->close() != Acad::eOk) {
pDimStyleTblRcd->close();
return 0;
}
}
pDimStyleTbl->close();
return syDimId;
}[/php] |
|