DIMSTYLE 命令:标注样式管理器
选中任何样式,修改可以看到该样式的属性:
创建新的标注样式:
void ZffCHAP4AddDimStyle()
{
// 获得要创建的标注样式名称
char styleName[100];
if (acedGetString(Adesk::kFalse, "\n输入新样式的名称:",styleName) != RTNORM)
{
return;
}
// 获得当前图形的标注样式表
AcDbDimStyleTable *pDimStyleTbl = NULL;
acdbHostApplicationServices()->workingDatabase()->getDimStyleTable(pDimStyleTbl, AcDb::kForWrite);
if (pDimStyleTbl->has(styleName))
{
pDimStyleTbl->close();//已经存在
return;
}
// 创建新的标注样式表记录
AcDbDimStyleTableRecord *pDimStyleTblRcd = NULL;
pDimStyleTblRcd = new AcDbDimStyleTableRecord();
// 设置标注样式的特性
pDimStyleTblRcd->setName(styleName); // 样式名称
pDimStyleTblRcd->setDimasz(3); // 箭头长度
pDimStyleTblRcd->setDimexe(3); // 尺寸界线与标注点的偏移量
pDimStyleTblRcd->setDimtad(1); // 文字位于标注线的上方
pDimStyleTblRcd->setDimtxt(3); // 标注文字的高度
// 将标注样式表记录添加到标注样式表中
pDimStyleTbl->add(pDimStyleTblRcd);
pDimStyleTblRcd->close();
pDimStyleTbl->close();
}
根据已有样式创建新的样式:
// 创建新的标注样式表记录
AcDbDimStyleTableRecord *pDimStyleTblRcd = NULL;
pDimStyleTblRcd = new AcDbDimStyleTableRecord();
// 获得已经存在的标注样式ISO-25
AcDbDimStyleTableRecord *pOldStyle = NULL;
pDimStyleTbl->getAt("ISO-25", pOldStyle, AcDb::kForRead);
// 设置新标注样式的特性
pDimStyleTblRcd->setName(styleName);
pDimStyleTblRcd->setDimtxt(pOldStyle->dimtxt());
pDimStyleTblRcd->setDimasz(pOldStyle->dimasz());
pDimStyleTblRcd->setDimexe(pOldStyle->dimexe());
pDimStyleTblRcd->setDimtad(pOldStyle->dimtad());