cad求和插件_黑科技 | 无BIM建模下平面CAD自动生成门窗表

如果你接到的施工图既不是用天正出的,也不是用revit出的,还得统计门窗表,那么你需要读完这篇文章。

为了能够让自己和所有底层同行们从这项无脑又烧脑的机械劳动中解脱,C君近期利用茶余饭后的时间开发了一个小插件,可以通过读取平面CAD文件中的门窗标注文字自动生成门窗表。

话不多说,先上效果:

35ef2cac1b304d0d10fdcbaa2992658d.png
原生cad图纸自动统计门窗表https://www.zhihu.com/video/1232411759262605312

除了免去画图狗许多枯燥重复的工作外,这款插件还有以下几个你不能拒绝的优点:

高效

这是一款Rhino插件而非CAD插件,Rhino更高的代码效率可以飞速批量处理文件,卡/崩率较低。

灵活

插件的工作原理是通过抓取平面图文件中的文字标注生成统计表的,与门窗本身是天正图块还是一堆PL线无关,标注完全对应导出内容

普适

用户可自定义门窗编号规则,适应不同设计院编号系统

智能

插件可以自动炸开图块获取文字自动排除重叠的相同文字,且不影响源文件。

在你迫不及待地要滑到最下获取安装包之前,请先花5min了解一下这项黑科技该如何科学使用。

从这里开始是技术干货


1.安装插件

文末链接提供的Rhino插件安装包扩展名为rhi

1.1. 如何选择版本

目前提供2种rhi安装包,分别是Rhino 6,Rhino5,均针对SR2以上版本Windows 64位系统(查看Rhino版本:顶部菜单栏【说明】- 【关于Rhinoceros】,点击后会弹出平时打开Rhino时初始化的界面,右下角可见版本号)。

Rhino6最低版本兼容至CAD 2018,高版本兼容至CAD2019,推荐使用。

Rhino5最低版本兼容至CAD2013,高版本兼容至CAD2017。

Rhino和CAD一样不能读取天正图块,应导出t3文件。

1.2. 安装操作

双击然后无脑下一步即可,在版本确认无误的情况下如果装不上,可能是你的盗版Rhino破解不完全,这种情况内测中很少但存在,应换个安装包重新安装Rhino。

2.准备与运行

2.1.对平面图纸的要求

1. 各层平面在不同的dwg文件中,各个文件名称中带有类似于F1,F2,B1,B2这样方便算法识别的关键字符。

2. 门窗编号文字需存在于模型空间而非布图空间内。

3.门窗编号文字可以存在于图块或者外部参照中,通过设置可以让程序进入图块和参照抓取文字。但是门窗编号文字不在图块或外部参照中的情况下,导出的速度会显著变快

4.需要统计的平面文件应该放在一个文件夹内。

做好这些准备之后,打开Rhino,命令行输入“WindowListToExcel”,会弹出一个对话框,可以选择放平面图的文件夹(注意!是选择文件夹!所以这个对话框中是看不到文件的,选文件夹就可以了)。

a71fc140f87f81db8f920ac44f682c3f.png
对话框1:设置平面图所在的文件夹

2.2.定义门窗编号规则

各个设计院的门窗编号规则差异很大,但是依然存在很多共性,程序只需要定义门窗编号的首字母即可。默认设置是W代表窗,D代表门,C代表幕墙,L代表百叶。

如果你的编号规则是C代表窗,M代表M,FM代表防火门,MQ代表幕墙,BY代表百叶,则将对话框右侧的默认设置从WDCL改为 CMFB即可。

eb3697ffbe1905f437f644bec9ff0b57.png
对话框2:定义门窗编号首字母

内测中,算法可以比较机智地识别出门窗编号,但是在某些情况下可能会导致多统计。比如存在轴号D1或楼栋编号D1栋,而同时门编号为D1、D2、D3,则应通过分离门窗标号和其他标注,单独导出dwg文件来避免这种情况。

2.3.设置自动查重和自动炸开

很多人在画图时会把门窗编号文字和门窗本身做成同一个图块,在这种情况下需要设置自动炸开;而很多人画图不小心,很多相同内容的文字标注重叠在一起可能会导致重复统计,在这种情况下需要设置自动查重。

自定义编号规则的窗口中点击【选项】,会弹出如下的对话框,你可以通过勾选选项进行设置。

b89dbbe16562edce34bb4726daa48812.png
△可选对话框3:设置炸开图块与排除重复

勾选【是否需要炸开图块】后,可以手动输入【自定义最大炸开次数】。如果藏得最深的那个门窗编号需要炸开2次才能获取应当输入2,为保险起见可适当增大数字至3或4。不建议输入10或100、1000这样的大数,因为这意味着将炸开文件内所有图块至没有图块存在,会无意义地减慢导出的速度。

勾选【是否需要排除重复】后,可以手动输入【自定义最大容许误差】,这个数值代表了排除重复的宽容度。有的时候相同的文字标注叠在一起,肉眼看起来是完全重叠,但是因为CAD捕捉点的不精确可能有0.15926个单位的误差,输入最大容许误差可以帮助算法确定排除重复的力度,输入数字默认0.1,一般不建议超过50。

2.4.设定导出门窗表目录

设定导出目录,依旧是选择文件夹,所以这个对话框中是看不到子文件的,选文件夹就可以了。

40c3f6f5a6de6e86fd44a993d410776d.png
△对话框4:设置导出Excel的文件夹

3.后续处理

3.1.从Excel到PDF

导出成功后弹出一个对话框,你可以点击导出目录链接在里面寻找一个叫All Floor Statistic_0.xls的文件(修改后第二次同文件夹导出将命名为All Floor Statistic_1.xls,依此类推)。

20601ed3fc71067dfacbe6c4039598ec.png
△对话框5:导出成功的消息与导出目录链接

打开Excel会看到图3.2这样的导出结果,你可以自己手动修改行距列距,地上和地下的楼层排列先后,以及用Excel内置的求和工具统计门窗总数。

编辑完成后在菜单栏中选择【文件】-【导出】-【创建PDF/XPS文档】导出PDF。

c4f6604e6764fb2ddac5b840266426fa.png
△导出的门窗表Excel文件

3.2.从PDF到DWG

用AI打开PDF,选中导出的内容【右键】-【释放选中的剪切蒙版】(有时候可能需要重复释放几次),获得可编辑的文字。

然后【文件】-【导出】-【选择导出格式为dwg】,最后CAD里往门窗表CAD图框一粘贴即可。

ab21a025ada6fbd83a6218452fa62d32.png
△在AI中将Excel导出的PDF转换为dwg格式

前往犀流堂同名课程页面获取插件:

在教课程 - 风叔的个人主页 - 犀流堂 - 设计师的碎片化犀牛学习课堂 - Powered By EduSoho​www.rhinostudio.cn
2c24dc9bf148c63148e9c0f566d81961.png

扫描下方二维码,关注公众号 CforChaos混沌设计登录 - 犀流堂 - 设计师的碎片化犀牛学习课堂 - Powered By EduSoho扫描下方二维码,关注公众号 CforChaos混沌设计

http://weixin.qq.com/r/1i4uNiPEQX4_rWdV93vE (二维码自动识别)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux数据库实例开机启动,linux下数据库实例开机自启动设置

linux下数据库实例开机自启动设置 1、修改/oratab [rootorg54 ~]# vi/etc/oratab --把N改为Y,如下提示 # This file is used by ORACLEutilities. It is created by root.sh # and updated by the Database ConfigurationAssistant when creating # a datablinux下数…

panic 苹果aop_Go Web开发之Revel - 拦截器

一个拦截器是一个框架在调用action方法前或后调用的函数. 它允许一种AOP的形式, 它经常被用于做下面几种事情:Request loggingError handlingStats keeping在Revel里, 一个拦截器能接受两种形式:1. 函数拦截器: 一个函数满足没有访问特定的应用程序Controller被调用在应用程序中…

make找不到linux内核函数,linux内核make menuconfig出错

今天实验刚从服务器上迁移过来的维护的linux 9260的内核,使用make menuconfig时出错,报错为:yongtaoyongtao-desktop:~/public/linux_release/linux-2.6.24$ make menuconfigHOSTCC scripts/kconfig/conf.oHOSTCC scripts/kconfig/kxgettex…

tensorboard ckpt pb 模型的输出节点_算法工程化系列——模型固化

摘要基于tensorflow训练的模型一般被保存为ckpt形式的文件,随着当前深度学习模型网络越来越大,对应模型也会非常大。当对外提供服务的时候,如果采用ckpt的形式,服务进程被调起来非常困难,且推理服务一般速度也较慢(会达…

深度linux内核升级,深度操作系统 2020.11.11 更新发布:内核升级

原标题:深度操作系统 2020.11.11 更新发布:内核升级IT之家11月11日消息 今日,深度操作系统宣布2020.11.11 更新现已发布。本次更新包括升级内核、Debian 10.6 仓库以及系统安全性更新。系统安全方面,本次更新修复了 Firefox-ESR 安…

unity 使用mysql实现登录注册_用mysql实现登录注册功能

1、创建用户表表结构如下idunameupwdisdelete注意:需要对密码进行加密。如果使用md5加密,则密码包含32个字符。如果使用sha1加密,则密码包含40个字符,这里使用这种方式。md5加密方式:import hashlibpwd 123456my_md5 …

python爬电影_使用Python多线程爬虫爬取电影天堂资源

最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载。刚开始学习python希望可以获得宝贵的意见。 先来简单介绍一下,网络爬虫的基本实…

打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...

题目描述:为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问&#xf…

erp 维护费 要交吗_ERP系统维护费

今年8月,SAP中国公司宣布2009年1月1日前将由传统支持服务转向企业级支持服务(SAP Enterprise Support)。同时将开始实施渐进式定价方案,并预计在2012年之前,逐渐将所有客户从现行的SAP Standard/Premium Support的定价协议过渡为SAP Enterpri…

sentinel 端口_Sentinel原理:控制台是如何获取到实时数据的

Sentinel 系列教程,现已上传到 github 和 gitee 中:GitHub:https://github.com/all4you/sentinel-tutorialGitee:https://gitee.com/all_4_you/sentinel-tutorialSentinel 能够被大家所认可,除了他自身的轻量级&#x…

linux桌面时区设置,如何在Ubuntu 20.04上设置或更改时区

对于许多与系统相关的任务和进程,使用正确的时区至关重要。 例如,cron守护程序使用系统的时区执行cron作业,而日志文件中的时间戳基于系统的同一时区。在Ubuntu上,系统的时区是在安装过程中设置的,但以后可以轻松更改。…

ironpython2.7.9_IronPython下载

IronPython是一种在 .NET 及 Mono上的 Python 实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软的DLR引擎;托管于微软的开源网站 CodePlex。IronPython 的官方并未实现 Python通用类库,仅实现了部分核心类。…

python 最小二乘回归 高斯核_「机器学习」一文读懂线性回归、岭回归和Lasso回归...

点击上方蓝色字体,关注AI小白入门哟作者 | 文杰编辑 | yuquanle本文介绍线性回归模型,从梯度下降和最小二乘的角度来求解线性回归问题,以概率的方式解释了线性回归为什么采用平方损失,然后介绍了线性回归中常用的两种范数来解决过…

天宫初级认证答案_跨境电商人才初级认证试题以及答案

跨境电商人才初级认证试题以及答案跨境电商人才初级认证试题一,单选题(共40题,每题1分,共40分)1.在拍摄反光性产品时,就是从哪个角度进行拍摄的A、正面B、侧面参考答案:B2.信用证就是一种( )信用A、商业B、银行C、民间D、企业参考答案:B3、阿里巴巴专业术语中,MA的全…

Linux打包软件版本带时间,带你写一个 linux 下的打包软件 tar

相信你对 linux 的 .tar.gz 有点熟悉,这就是先 tar 打包(.tar 后缀),再对此 tar 文件用 gzip 压缩(.tar.gz)的后缀名。值得注意的是, tar 不是压缩软件,它只做把一堆文件/文件夹打包到一个文件(tar 文件)里的事情,而文…

优先队列默认是小顶堆吗_一分钟带你读懂什么是堆?

堆其实就是一种特殊的队列——优先队列。 普通的队列游戏规则很简单:就是先进先出;但这种优先队列搞特殊,不是按照进队列的时间顺序,而是按照每个元素的优先级来比拼,优先级高的在堆顶。 这也很容易理解吧,…

螺旋测微器b类不确定度_物理实验直测量不确定度评估.ppt

物理实验直测量不确定度评估直接测量不确定度评估 Gauss分布 测量列的平均值、标准差 A类不确定度 t分布 B类不确定度 直接测量的合成不确定度 Gauss分布 也称正态分布。 δ的平均值等于0、方差为σ。 特征: 对称性——大于平均值与小于平均值的概率相等&#xff1b…

python 执行shell_python执行shell命令的方法

python执行shell命令的方法 os模块 os.system方式: import os os.system(top) os.system(cat /proc/cpuinfo) 说明 这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。 返回值是依赖于系统的,直接返回系统的调用返回值&am…

linux下c语言读取roed文件,如何在Linux系统上安装Android4.4.docx

Android (x86)项目致力于移植 Android系统到X86处理器上,使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码,增加补丁来使 Android能够在X86处理器,笔记本电脑和平板 电脑下工作。前一段时间,项目组发布了最新…

微信小程序setinterval_简单谈谈setTimeout与setInterval

感谢踩过的坑sf社区的第一篇文章。最近在做一个拍卖的微信小程序,用到了定时器setTimout和setInterval,简单谈谈这两个api。setTimeout最常见的用法就是第二种(第三种mdn文档不推荐),如:var timeoutId setTimeout(function() {console.log(hello world!…