objectarx修改块内实体无效
做了一个测试程序,试图将选中的块内直线的颜色改为红色,程序运行既不提示错误,运行过后也没有效果。不知道为什么?复制代码1 Blockreference直接获取blockid不用entget
2 改完regen或更新所有blockreference
Blockreference直接获取blockid不用entget,遍历块可以不用知道块的名称?这个没有看到实例,我也只是照着实例抄着来的。 更新所有blockreference这个还真不懂。希望能给个代码学习下! 复制代码
谢谢指导!看到您的代码感觉受益良多!另外如果不用regen如何更新所有blockreference?
据说使用这两句
actrTransactionManager->flushGraphics();
acedUpdateDisplay();
我是没有测试成功过,可以使用一个变通方法复制代码相当于强制更新
这个我找到了解决方法,打开插入块的时候
AcDbEntity* pEntity;
AcDbObjectId blkId;
acdbOpenObject( pEntity, blkId, AcDb::kForWrite );
//更改...
pEntity ->recordGraphicsModified();
pEntity ->close();
actrTransactionManager->flushGraphics();
acedUpdateDisplay();
谢谢了!
页:
[1]