DIMSTYLE 命令:标注样式管理器code
选中任何样式,修改能够看到该样式的属性:get
建立新的标注样式:it
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(); }
根据已有样式建立新的样式:io
// 建立新的标注样式表记录 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());