- UID
- 7031
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-6-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我想对一条直线段进行尺寸标注,函数如下。
函数传递的参数是当前dwg文件中的某条直线段,
利用AdDbAlignedDimension类将其长度标注上去。
void dimALine(AcDbObjectId lineId)
{
AcGePoint3d startPt, endPt;
AcDbLine *pLine;
//获取直线段的起点终点
acdbOpenObject(pLine, lineId, AcDb::kForRead);
startPt = pLine->startPoint();
endPt = pLine->endPoint();
pLine->close();
//将长度值转换成字符串
char dimText[20] ;
sprintf(dimText,"%8.2f",startPt.distanceTo(endPt));
//根据直线段的起点终点构造标注类
AcDbAlignedDimension *pDim = new AcDbAlignedDimension(startPt, endPt, startPt,dimText,AcDbObjectId::kNull);
//将标注实体类加入当前数据库
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);
pBlockTable->close();
AcDbObjectId dimId;
pBlockTableRecord->appendAcDbEntity(dimId, pDim);
pBlockTableRecord->close();
pDim->close();
}
但是,这样标注之后,标注线和直线段重合在一起,
我想将标注线偏移一段小距离,不知道AcDbAlignedDimension的构造函数中的几个参数该如何调用? |
|