曰微言薄论
发表于 2016-7-9 17:38:39
kozmosovia 发表于 2016-7-9 11:19 static/image/common/back.gif
那就别怕效率低,遍历块内可见图元或者炸开图块遍历
你是不知道效率有多底,历遍或炸开块,处理一个就要20多秒,要是来个几十个块,这速度连手动都赶不上。
小菜123
发表于 2016-7-9 20:18:24
对动态块没有研究,动态属性就那么几个,如果用bondingbox很难,何不读取属性得到图纸尺寸,相当于得到了bondingbox
曰微言薄论
发表于 2016-7-9 23:59:34
小菜123 发表于 2016-7-9 20:18 static/image/common/back.gif
对动态块没有研究,动态属性就那么几个,如果用bondingbox很难,何不读取属性得到图纸尺寸,相当于得到了bo ...
关键要程序具有通用性,要是读取属性值,一旦遇到不同属性名的动态块就不行了。
小菜123
发表于 2016-7-10 10:57:38
块中的Mtext不好求包围盒,其它的可以打碎后得到包围盒
自贡黄明儒
发表于 2016-7-10 14:43:36
小菜123 发表于 2016-7-10 10:57
块中的Mtext不好求包围盒,其它的可以打碎后得到包围盒
缩放_下,mtext自动变为text了。
kozmosovia
发表于 2016-7-10 16:50:01
本帖最后由 kozmosovia 于 2016-7-10 17:11 编辑
“处理一个就要20多秒,要是来个几十个块,这速度连手动都赶不上。”
---没过脑子的谬论,你有这种手速,还要程序干啥?
同时,遍历也没必要遍历全部实体,在做块时将最外围做成矩形,插入点一般选择最下角点,炸开图块后只需要选择插入点附近的矩形抽取其包围框即可。
小菜123
发表于 2016-7-10 21:20:57
初步写个框架,剩余的自行添加
曰微言薄论
发表于 2016-7-12 14:16:26
小菜123 发表于 2016-7-10 21:20 static/image/common/back.gif
初步写个框架,剩余的自行添加
根据测试,你提供的函数只能炸开我的动态块,得不到包围盒。
我想了很久,其实炸开不炸开不是根源,根源在于动态块有几个可见性布局,当选择其中一个可见性布局时,其它可见性布局虽然看不见,但是实际存在,所以我觉得唯一的方法是历遍块,并过滤掉不可见对象,最后计算可见对象的包围盒。
陨落
发表于 2016-7-12 14:36:58
炸开图块遍历非文字对象,应该不慢
曰微言薄论
发表于 2016-7-12 15:10:17
陨落 发表于 2016-7-12 14:36 static/image/common/back.gif
炸开图块遍历非文字对象,应该不慢
炸开不慢,历遍也不慢,但是慢在处理么多对象的包围盒