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.pswp.cn/news/533828.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533828.shtml
英文地址,請注明出處:http://en.pswp.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!…