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下数…

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

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

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

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

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

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

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

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

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

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

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

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

python 注释一段话_Python快速入门(一)

引言Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅…

linux ibus获取窗体位置,Ubuntu 12.04 显示ibus 的输入框

在虚拟机中安装了Ubuntu 12.04,系统是英文版本的,我能接受,但是苦于没有中文输入法。起先,我是安装SCIM,结果我折腾了半天,发现其只能在lib-office下使用。firefox,文字编辑器中都不能调出SCIM。无奈将其卸…

python批量下载文件教程_Python抓包菜鸟教程:批量下载图片的方法,电脑和手机都能用...

笔者看上了一组图集,然后准备一张一张下载时,瞄了一眼,这组图集还有100,好吧,我酸了。 笔者就是试试工具,你们别像我这样用,这么好的工具,做自媒体,那绝对了那如何批量下…

esxi挂载Linux的nfs盘,ESXi安装centos7挂载群晖NFS

前段时间折腾了ESXi,然后无尽的折腾接踵而来,今天要说的是如何安装centos7并挂载群晖虚拟机的NFS共享文件夹直接步入正题!先是下载centos7镜像,因为我是用来当服务器的,所以只需要minimal版即可【centos下载链接】自己…

传统的6d位姿估计fangfa1_李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪...

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达简介作者提出了一种基于RGB-D的深度学习方法6PACK,能够实时的跟踪已知类别物体。通过学习用少量的3D关键点来简洁地表示一个物体,基于这些关键点,通过关键点匹配来估计物体在…

安卓system镜像分区_玩机爱好者想要的PT分区到底是什么?可以使现有的安卓系统更快!...

小编第一次看见PT分区这个词。就比较好奇他到底是什么神仙技术。今天,小编给大家科普一下,可能小编理解的也不是特别准确,请各位谅解!! 欢迎关注小编。各位玩机爱好者总是沉浸在各种ROM包、第三发Rec,以及各…

python求和1到100_python等差数列求和公式前 100 项的和实例

python等差数列求和公式前 100 项的和实例 最近跑去学了下python,一个很简单的题,结果发现数学公示忘了,在不用for循环的情况下居然有些懵,记录为下.. 题:等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用…

jupyter kernel_新乡联通案例分享:Jupyter开发环境配置的常用技巧

Jupyter开发环境配置的常用技巧新乡联通网管中心 邢少华Python开发环境中,大部分人使用的是Jupyter,在Jupyter中有几个令人困扰的问题:1. Jupyter的默认打开目录如何修改2. Jupyter默认使用的浏览器如何修改3. 好用的Jupyter插件如何安装4.…

二叉树 中序遍历 python_LeetCode 105 树 从前序与中序遍历序列构造二叉树(Medium)

17(105) 从前序与中序遍历序列构造二叉树(Medium)描述根据一棵树的前序遍历与中序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。示例例如,给出前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7]返回如下的二叉树:3/ 9 20/ 1…

计算payload长度c语言,C语言0长度数组(可变数组/柔性数组)详解

1 零长度数组概念众所周知, GNU/GCC 在标准的 C/C 基础上做了有实用性的扩展, 零长度数组(Arrays of Length Zero) 就是其中一个知名的扩展.多数情况下, 其应用在变长数组中, 其定义如下struct Packet{ int state; int len; char cData[0]; //这里的0长结构体就为变长结构体提供…

go语言调用c 的头文件 so,golang 学习(10): 使用go语言调用c语言的so动态库-Go语言中文社区...

一、前言最近在学习go,因为需要调用c语言打包成的so动态库里面的方法,避免自己再去造轮子,所以想直接使用golang调用so,但是参考了其他博客大佬写的,我每一步原封不动的写下来,结果都是一堆错误&#xff0c…

android 开机动画 渐变,[Parallax Animation]实现知乎 Android 客户端启动页视差滚动效果...

前言Parallax Scrolling (视差滚动),是一种常见的动画效果。视差一词来源于天文学,但在日常生活中也有它的身影。在疾驰的动车上看风景时,会发现越是离得近的,相对运动速度越快,而远处的山川河流只是缓慢的移动着&…

python可以做计量分析吗_技术分享 - python数据分析(2)——数据特征分析(上)...

1 分布分析 分布分析能揭示数据的分布特征和分布类型。对于定量数据,欲了解其分布形式是对称的还是非对称的,发现某些特大或特小的可疑值,可通过绘制频率分布表、绘制频率分布直方图、绘制茎叶图进行直观地分析;对于定性分类数据&…