乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 94|回复: 6

objectarx修改块内实体无效

[复制链接]

62

主题

218

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
466
发表于 2015-10-28 18:44:00 | 显示全部楼层 |阅读模式
做了一个测试程序,试图将选中的块内直线的颜色改为红色,程序运行既不提示错误,运行过后也没有效果。不知道为什么?复制代码
回复

使用道具 举报

0

主题

275

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2015-10-28 22:10:00 | 显示全部楼层

1 Blockreference直接获取blockid不用entget
2 改完regen或更新所有blockreference
回复

使用道具 举报

62

主题

218

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
466
发表于 2015-10-28 22:57:00 | 显示全部楼层

Blockreference直接获取blockid不用entget,遍历块可以不用知道块的名称?这个没有看到实例,我也只是照着实例抄着来的。 更新所有blockreference这个还真不懂。希望能给个代码学习下!
回复

使用道具 举报

0

主题

275

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2015-10-29 08:04:00 | 显示全部楼层
复制代码
回复

使用道具 举报

62

主题

218

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
466
发表于 2015-10-29 15:21:00 | 显示全部楼层

谢谢指导!看到您的代码感觉受益良多!另外如果不用regen如何更新所有blockreference?
回复

使用道具 举报

0

主题

275

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2015-10-30 00:37:00 | 显示全部楼层

据说使用这两句
                actrTransactionManager->flushGraphics();  
                acedUpdateDisplay();
我是没有测试成功过,可以使用一个变通方法复制代码相当于强制更新
回复

使用道具 举报

62

主题

218

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
466
发表于 2015-10-30 14:50:00 | 显示全部楼层

这个我找到了解决方法,打开插入块的时候
AcDbEntity* pEntity;
AcDbObjectId blkId;
acdbOpenObject( pEntity, blkId, AcDb::kForWrite );
//更改...
pEntity ->recordGraphicsModified();
pEntity ->close();
actrTransactionManager->flushGraphics();
acedUpdateDisplay();
谢谢了!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 22:01 , Processed in 0.150872 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表