一个关于dimesion的问题
请看下面这段代码:........
Acad::ErrorStatus es;
AcDbRotatedDimesion *pDm;
es=acdbOpenObject(pDim,dimId,Acad::kForWrite);//dimId有前面程序得到
if(es!=Acad::eOk)return;
es=pDim->setDimblk1("DOTSMALL");
if(es!=Acad::eOk)
{
pDim->close();
return;
}
acutPrintf("success!");
pDim->close();
.....
/*这段代码编译没有问题,运行的时候选择的实体也没有问题,但是有时候箭头能变成
dotsmall,有时候根本就不变.可运行的结果是success呀!!
请问这段代码有什么问题呢???还有setDimblk,setDimblk1,setDimblk2在使用的时候要注意什么问题呢??
*/ setDimblk1()函数修改标注对象的第一尺寸箭头形状。setDimblk2()函数修改第二尺寸箭头。setDimblk()同时修改两个箭头(或者引线箭头)。详见ACAD帮助的DIMBLK、DIMBLK1、DIMBLK2系统变量的说明。
从你的程序来看,setDimblk1()函数返回了Acad::eOk,看不到实体变化可能是因为:
1、setDimblk1()只修改标注对象的一个标注对象的箭头形状,是不是你没注意到?
2、或者,图形数据库内实体记录已经修改,并不意味着在ACAD界面中就立即可以看到,你试试在acutPrinf()之前插入:
acedRedraw(NULL,1); 我照楼上所说的试过了,可还是不好使得!!!!
页:
[1]