查看原文
其他

薛定谔的猫?不对,块!


2019 年 10 月 31 日,老柴和我们上海办公室的 AutoCAD 产品组的同事,组织了一场用户调研活动,希望广大的上海地区的 AutoCAD 用户来参与哦另外,管饭管下午茶!管饭管下午茶!管饭管下午茶!(重要的事情说三遍!)


终于有用户来投稿问问题了,这次的用户给了我一张图纸,然后和我说:“他在数某几个块的时候,总是得不到正确的结果,无论是用 BCOUNT 命令、QSELECT 命令,还是 DATAEXTRACTION,数出来的块都比起实际的数目要少好多个……”


我拿了这个用户的图纸仔细研读了一下之后,在各个工具的帮助下,甚至出动了我们的开发兄弟,终于发现了问题所在,然后创建了下面这个样例文件:

 

这是一个会议室的平面图,从这张图上,能够得知当前图纸中有多少椅子呢?


各位可能就会不屑一顾:又不是给自家小朋友做数学启蒙,这里总共 18 把椅子嘛……

 

但是,如果我用 QSELECT 命令,搜索一下这张图纸中所拥有的名称是【椅子】的块,能得到的数量是多少呢?为了更好的视觉效果,我这里使用了 AutoCAD for Mac 2020 版本:

 
 

很奇怪是吗?AutoCAD 的统计不如小学生?这究竟是为什么呢?


如果看一下整个对象列表:

 

这里就能发现可能出现问题的对象了:Array(Polar),一个关联阵列的环形阵列

 

关于关联性阵列的内容,可以看我之前的文章:AutoCAD中『关联阵列』功能怎么用


这里的关键问题就在于:块如果被关联阵列过了以后,就不会被认为是块了!


那么有没有解决方法呢?很遗憾,没有很直接的能够解决的方法。如果您需要正确的数出所有的块,那么我的建议只有下面两条:


  • 在进行统计活动(BCOUNT、QSELECT、DATAEXTRACTION)之前,用 QSELECT 找到所有的关联阵列,然后用分解命令(EXPLODE)把关联阵列分解掉;
  • 如果觉得上面的方法杀伤力太大,那么建议,在创建阵列前,如果您的阵列对象中要包含块,并且您有统计的需要的话,那么用传统阵列 ARRAYCLASSIC 命令

在上面两步的操作之下,块就应该能被正确的统计出来了……


如果您有更好的方法,欢迎来稿,老柴会给有好方法的投稿者送出一份礼物


  


柴立峰(Leaf)老师

Autodesk 资深软件测试工程师


在知乎 CAD 专栏拥有众多拥趸,曾从事多年 AutoCAD 教学工作,2005 年投入到 AutoCAD 2007 测试工作。参与 AutoCAD for Mac 所有版本的研发工作。在欧特克授权培训中心(ATC)中负责教授 AutoCAD 的中级/高级课程。作为一个行走的表情包,二次元段子手和有颜的内涵帝,柴老师教学风格轻松幽默,言简意赅,颇受学员青睐!


P.S.之后我们将持续为大家推出一分钟知识锦囊,帮您解决疑惑,有问题可以留言提问,也许你会在下期收到解答哦~


一分钟Q&A

Q

外部参照文件无法绑定,常规清理 pu,修复 audit 等操作完成之后无效。

A



我这边测试也是一样,如果不需要回天正编辑,可通过 EXPORTTOAUTOCAD 指令,将图元与外部参考转存后使用。


如果还有软件相关问题想问,欢迎加入我们跨行业讨论群,加群主二维码,AutoCAD问题实时解答

END




往期 AutoCA秘密回顾:AutoCAD软件技巧回顾1AutoCAD软件技巧回顾2

AutoCAD软件技巧回顾3


点击“阅读原文”,遇见精益求精的 AutoCAD 2020;回顾精彩视频,体验 AutoCAD 2020的全新功能与创意工具!

如果在看

请点这里↓↓↓

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存