下載app免費(fèi)領(lǐng)取會(huì)員
寫在前面:相信很多bim工作者都聽說(shuō)過(guò)dynamo這個(gè)神奇的小工具,同時(shí)也有很多小伙伴做了一些嘗試和工作中的應(yīng)用,雖然可視化編程在桌子(Autodesk)平臺(tái)上的上線時(shí)間遠(yuǎn)不如Rhino上的Grasshopper,可能在穩(wěn)定性和第三方庫(kù)的豐富程度上還有很大的提升空間。但是筆者還是強(qiáng)烈建議每一個(gè)不甘心成為翻模機(jī)器的同學(xué),入門并學(xué)習(xí)一款可視化編程軟件,它將極大的解放你的雙手,并固化你的奇思妙想,目前來(lái)看,Dynamo在數(shù)據(jù)處理及重復(fù)性任務(wù)方面,已經(jīng)可以提供非常多的自動(dòng)化程序,在大量場(chǎng)景中幫助我們高效準(zhǔn)確的完成冗長(zhǎng)復(fù)雜的任務(wù),特別是再配合Python Script之后,定會(huì)幫助你開啟一個(gè)不一樣的工作視角。
本次分享主要討論一個(gè)大家比較感興趣的主題:’飾面’,現(xiàn)在市場(chǎng)上有很多插件可以做到這一點(diǎn),但大多產(chǎn)品生成邏輯可能和我們想要的效果并不一致,所以今天筆者想通過(guò)一個(gè)簡(jiǎn)單的小案例,幫助大家理解dynamo環(huán)境中,一個(gè)飾面從識(shí)別到生成的基本邏輯,以幫助伙伴們結(jié)合自己的知識(shí)和需求,寫出適合自己手頭工作的程序。
本教程適合有一定dynamo基礎(chǔ)的同學(xué),其中可能會(huì)涉及一些自定義節(jié)點(diǎn)或者python,大家不必感到困難,其實(shí)程序?qū)W習(xí)最重要的是思路,文末我會(huì)把所涉及的節(jié)點(diǎn)和代碼塊上傳供大家下載,前期只要能正確使用即可。
注:因?yàn)閐ynamo不同版本對(duì)電池端口的定義不同,為保證您在學(xué)習(xí)本章節(jié)的過(guò)程中,達(dá)成的結(jié)果和筆者一致,請(qǐng)務(wù)必使用:Revit—2018,dynamo-1.3.3進(jìn)行學(xué)習(xí)。
本課程涉及到的dynamo源文件,dynamo安裝包,revit案例素材以及Springs節(jié)點(diǎn)包
我已經(jīng)打包至: 鏈接:https://pan.baidu.com/s/1lUXDT9-X9gRRIIfiWsBBWQ
提取碼:ABIM
正文開始,為了方便理解,這里給大家做了一個(gè)小導(dǎo)圖
這個(gè)導(dǎo)圖是我對(duì)基于整體結(jié)構(gòu)模型(墻,梁,板,柱)生成面積正確,材質(zhì)可調(diào),扣減合理的飾面統(tǒng)一規(guī)劃,其中有些細(xì)節(jié)還沒(méi)有填寫,放在這里只是希望大家有個(gè)整體概念,使我們學(xué)習(xí)之前,很清晰的知道我為什么學(xué),學(xué)了以后能解決什么問(wèn)題。
學(xué)習(xí) Dynamo, 如果你把它當(dāng)成是愛好,學(xué)起來(lái)定然日進(jìn)千里。當(dāng)你能把愛好轉(zhuǎn)化成生產(chǎn),工作中亦是事半功倍。
好啦,熟悉整體部署了,我們來(lái)說(shuō)一下今天,就是此時(shí)此刻我們應(yīng)該解決的問(wèn)題。
第一行是我們的流程
每一列是實(shí)現(xiàn)當(dāng)前流程的方法
現(xiàn)在我們拿第一個(gè)流程既獲取待創(chuàng)建飾面的形狀和大小開始
我第一步從選擇實(shí)例-獲取表面-偏移表面開始,下面這個(gè)流程相信大家都能看懂,Offset節(jié)點(diǎn)用作偏移表面
如果你順利的完成了上述節(jié)點(diǎn),并在Offset節(jié)點(diǎn)上賦予了一個(gè)>0的值,那你將得到下圖,淡黃色且不可選中的圖元,就是我們用來(lái)計(jì)算的“面”
聰明的小伙伴看到這里可能已經(jīng)明白了,會(huì)說(shuō):好了好了 不用講了,只要把這個(gè)面轉(zhuǎn)化成實(shí)體就好了,這節(jié)課結(jié)束。
嗯,沒(méi)錯(cuò),這樣確實(shí)我們已經(jīng)完成了大部分的任務(wù),但是您將得到一個(gè)下圖這樣的飾面。
因?yàn)閷?shí)體飾面是存在厚度的,而我們獲取的是一個(gè)沒(méi)有厚度概念的相切平面,當(dāng)您給這樣的平面賦予厚度時(shí)棱角就出現(xiàn)了,沒(méi)錯(cuò),棱角的深度就是等于我們飾面的厚度的。
這種問(wèn)題顯然是我們積極上進(jìn)的青年人所不能接受的,所以我們還是承接上邊的流程,再生成實(shí)例之前,先把棱角處理掉。
看,人生就是這樣,我們一直在花80%的時(shí)間解決那20%的問(wèn)題。
所以我們來(lái)繼續(xù)分析,既然棱角是因?yàn)楹穸犬a(chǎn)生的,那我們其實(shí)是要在賦予厚度的同時(shí),將每一個(gè)“面”的四邊都擴(kuò)大與厚度等值的距離。
嗯,,小伙伴們停下來(lái)消化一下這句話,還沒(méi)想好的小伙伴參照下邊的圖片這就是我們今天想達(dá)到的效果
這時(shí)候又有聰明又伶俐的同學(xué)說(shuō)了,騙子!雖然棱角被填平了,但是你明明有重疊的部分。
哈哈哈,嗯,沒(méi)錯(cuò),一個(gè)程序誕生的過(guò)程,是我們不斷糾正思想的過(guò)程,為什么我沒(méi)有直接把節(jié)點(diǎn)包放上來(lái)呢,因?yàn)槲也幌敕窒砟骋粋€(gè)技能亦或是方法,我想把思路告訴大家,小時(shí)候家里窮(emmm好像現(xiàn)在也不富裕呢),村長(zhǎng)總是對(duì)我說(shuō),授人以漁不如有受人以魚。。。。此處省略
所以呢,我們這節(jié)課就按照這個(gè)方法做,這樣下節(jié)課我們對(duì)程序進(jìn)行改動(dòng)調(diào)整的時(shí)候你就會(huì)明白:噢噢噢噢!原來(lái)是這樣,妙啊~
上圖就是沒(méi)有棱角但是有重疊的飾面啦,所以我們繼續(xù)向著它前進(jìn)吧。
說(shuō)了這么多,我們其實(shí)只獲得了沒(méi)有厚度且未經(jīng)處理的表面而已,處理思路是:將“每個(gè)面”解析成“4條線”,將“4條線”沿著各自的向量方向“偏移與厚度等值的距離”,進(jìn)而形成新的“閉合輪廓”
聽起來(lái)有點(diǎn)繞嘴,我們上節(jié)點(diǎn)。
因?yàn)橐院髸?huì)同時(shí)處理多個(gè)表面,這里我們加一個(gè)拍平。
基于面生成新的矩形
到這里為止統(tǒng)一解釋兩個(gè)問(wèn)題(送給愛較真的同學(xué),新同學(xué)可以忽略):
1 為什么處理邊線之前,表面要從實(shí)例上炸開也就是(Offset)?
答:在dynamo環(huán)境中,共邊的“面”真的是在共用一條邊,我們都知道立方體有6個(gè)面每個(gè)面4條邊,所以一個(gè)體就有24條邊嗎?在dynamo中,只有棱邊,也就是12條?。。?/span>
所以我們要對(duì)每一個(gè)邊就行偏移的時(shí)候就會(huì)出問(wèn)題,別問(wèn)我怎么知道的。。。
解決方案就是我們這樣,操作之前先炸開(Offset),強(qiáng)制不共邊以后再操作。
2:為什么要把邊線轉(zhuǎn)變成矩形?而不是curve或者line什么的?
這個(gè)問(wèn)題如果您之前再dynamo中用point的方式創(chuàng)建過(guò)閉合輪廓可能會(huì)知道,組成閉合輪廓的角點(diǎn)是有先后順序的,順序錯(cuò)了會(huì)對(duì)后邊造成一系列的影響。同時(shí),因?yàn)槲覀兊?4條邊線是從12條棱邊分裂出來(lái)的,即便各自獨(dú)立,但是他們的方向向量還是雷同的,這點(diǎn)很重要。
我還是用圖片解釋一下:
上圖其實(shí)是我們想要達(dá)到的效果,四條邊線按照各自的法向量方向根據(jù)我們指定的數(shù)值偏移,但因?yàn)樯鲜龉策叺脑?,我們?shí)際要面對(duì)的其實(shí)是下圖的樣子。
因?yàn)橄蛄康睦淄?,造成了邊線的偏移錯(cuò)誤,而矩形的魅力在于自己特有的屬性使之邊線的法向量方向重置為正常。
相比較單獨(dú)處理每一根邊線的向量方向,先將其轉(zhuǎn)為矩形再輸出還是比較明智的。。。。
如果您堅(jiān)持聽我絮叨到了這里,那么恭喜您,現(xiàn)在的你應(yīng)該擁有了一個(gè)基于原有表面擴(kuò)大化的6個(gè)矩形表面了,如圖
通過(guò)上述的操作,1.體—2.面—3.offest—4.面—5.線—6.offest —7.面—8.體—9.寫入-10.牛批!這個(gè)流程中1-6我們都結(jié)束了,接下來(lái)只需要把我們按照飾面厚度正確改良過(guò)的新的飾面“邊線”轉(zhuǎn)化成新的面(surface),然后拉伸成有厚度的體,最后再寫入即可節(jié)點(diǎn)也很簡(jiǎn)單。
如果您看到上圖這個(gè)樣子,恭喜你,您只差最后一步了,將我們處理好的surface實(shí)體化并賦予材質(zhì),這里我們需要用到一個(gè)第三方節(jié)點(diǎn):Springs
第一個(gè)端口接入我們處理好的surface,然后依次對(duì)照?qǐng)D片填寫皆可。
諾,潔白的新衣就這樣做好了。
最后為了獎(jiǎng)勵(lì)大家這么認(rèn)真的堅(jiān)持到最后,再給大家補(bǔ)充一個(gè)知識(shí)點(diǎn)。
上圖族名程這里,如果老板想要讓我統(tǒng)計(jì)飾面數(shù)量或者自定義名稱該怎么辦呢
這里直接給大家一個(gè)方法。
回頭看看吧 是不是很完美。
節(jié)點(diǎn)包和源文件文首有鏈接,大家下載參照學(xué)習(xí),下節(jié)課我們學(xué)習(xí)給飾面添加尺寸信息及參數(shù),好好加油鴨?。?!
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit中基于線的模型與結(jié)構(gòu)框架的區(qū)別
下一篇:Revit中,瓷磚的縫(填充圖案)怎么調(diào)整?
推薦專題