lwh-1234 发表于 2005-9-27 11:19:00

尺寸标注问题!!!!!!!!!!!!

在这个高手如云的地方,再次希望有人帮我解决一下下面的这个小问题!
我做了一个自动标注孔尺寸(包括孔径、孔深)的程序,部分代码如下:
double leaderLength=50;
   int iDimColor=1;
   int iTextColor=1;
   AcCmColor color;
   char* dimText=="光孔";
   AcDbDatabase *pcurdb=acdbHostApplicationServices()->workingDatabase();
   AcDbDimStyleTable *pnewdimtable;
   pcurdb->getSymbolTable(pnewdimtable,AcDb::kForWrite);
   AcDbDimStyleTableRecord *pnewdimrecord=new AcDbDimStyleTableRecord();
   pnewdimrecord->setDimasz(20);//设置箭头大小
   pnewdimrecord->setDimzin(8);//十进制小数显示时,抑制后续零
   pnewdimrecord->setDimexe(30);//设置尺寸界线超出尺寸线距离为400
   pnewdimrecord->setDimexo(0);//设置尺寸界线的起点偏移量为300
   pnewdimrecord->setDimtxt(30);//设置文字高度
   pnewdimrecord->setDimtad(1);//设置文字位置-垂直为上方,水平默认为居中,不用设置
   pnewdimrecord->setDimgap(10);//设置文字位置-从尺寸线的偏移量
   pnewdimrecord->setDimtih(0);
   pnewdimrecord->setDimtix(1);//设置标注文字始终绘制在尺寸界线之间
   pnewdimrecord->setDimtofl(1);//即使箭头放置于测量点之外,尺寸线也将绘制在测量点之间
   pnewdimrecord->setDimlfac(0.125);
   color.setColorIndex(iDimColor);
   pnewdimrecord->setDimclrd(color);      //尺寸线颜色
   pnewdimrecord->setDimclre(color);      //尺寸边界线颜色
   color.setColorIndex(iTextColor);         
   pnewdimrecord->setDimclrt(color);      //文字颜色
   AcDbObjectId dimrecordid;
   pnewdimtable->add(dimrecordid,pnewdimrecord);
   pnewdimtable->close();
   pnewdimrecord->close();

   AcGePoint3d Pt1(KD.ZB_X+t-KD.KongJing/2*cos(PI/4.0),KD.ZB_Y+t+KD.KongJing/2*sin(PI/4.0),0);
   AcGePoint3d Pt2(KD.ZB_X+t+KD.KongJing/2*cos(PI/4.0),KD.ZB_Y+t-KD.KongJing/2*sin(PI/4.0),0);
   
   AcDbBlockTable *pBlockTable;//定义块表指针
   acdbHostApplicationServices()->workingDatabase()
   ->getSymbolTable(pBlockTable, AcDb::kForRead);
   AcDbBlockTableRecord *pBlockTableRecord;
   pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
   AcDb::kForWrite);
   pBlockTable->close();
   AcDbDiametricDimension *pDim = new AcDbDiametricDimension(Pt6,Pt7,leaderLength,dimText,dimrecordid);
   pDim->setLeaderLength(20);
   AcDbObjectId Id;
   pBlockTableRecord->appendAcDbEntity(Id, pDim);
   pBlockTableRecord->close();
   pDim->close();
}
运行后标出了孔的直径,形式为“光孔Ф120”。其中“Ф120”是系统自动读取生成的。现在我想把Ф换成M,也就是变成“光孔M120”,不知道可不可能,怎末才能实现,请指教,谢谢1

lwh-1234 发表于 2005-9-28 08:48:00

没人理呀

lwh-1234 发表于 2005-9-30 15:12:00

期待中!

lwh-1234 发表于 2005-10-2 09:13:00

顶起来

hourui800720 发表于 2011-7-30 16:24:00

我也要解决
页: [1]
查看完整版本: 尺寸标注问题!!!!!!!!!!!!