完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
    * 主體類型
    * 企業(yè)名稱
    * 信用代碼
    * 所在行業(yè)
    * 企業(yè)規(guī)模
    * 所在職位
    * 姓名
    * 所在行業(yè)
    * 學(xué)歷
    * 工作性質(zhì)
    請(qǐng)先選擇行業(yè)
    您還可以選擇以下福利:
    行業(yè)福利,領(lǐng)完即止!

    下載app免費(fèi)領(lǐng)取會(huì)員

    NULL

    ad.jpg

    Revit通過(guò)dynamo給房間按順序命名

    發(fā)布于:2019-12-20 16:12:51

    網(wǎng)友投稿

    更多

    Revit通過(guò)dynamo給房間按順序命名

    目的:通過(guò)繪制的多段線按照多段線穿過(guò)的房間順序給房間命名,房間名稱來(lái)源excel表格中的房間名稱。先看效果

    revit dynamo

    知識(shí)點(diǎn):dynamo中的點(diǎn)、坐標(biāo)、房間、列表、列表排序、交點(diǎn)等

    前言:之前也有其他人寫過(guò)dynamo,這個(gè)可能思路不太一樣,過(guò)程中出現(xiàn)過(guò)多次錯(cuò)誤,經(jīng)過(guò)修改調(diào)試現(xiàn)在基本可以完美命名編號(hào)了。

    教程如下:

    前期需要對(duì)項(xiàng)目中的房間做好標(biāo)記,并沿著你的你要標(biāo)記的房間順序畫一條多段線,原理是多段線通過(guò)房間和房間區(qū)域中我們要繪制的圖案相交,通過(guò)交點(diǎn)判斷順序,排序后加載excel中的數(shù)據(jù)給房間命名。

    首先我們用【SelectModel Element】節(jié)點(diǎn)選擇多段線,用【Element.Curves】節(jié)點(diǎn)識(shí)別選擇好的多段線。

    revit dynamo

    用【Categories】節(jié)點(diǎn)選擇房間節(jié)點(diǎn),用【AllElements of Category】節(jié)點(diǎn)把所有房間類型圖元都選擇,用【Element.Solids】節(jié)點(diǎn)獲取房間所在的圖元。

    revit dynamo

    用【Solid.Centroid】節(jié)點(diǎn)獲得每個(gè)房間幾何體的中心坐標(biāo),用【Point.X】和【Point.Y】節(jié)點(diǎn)分離出來(lái)中心坐標(biāo)的X坐標(biāo)和Y坐標(biāo),這樣就讓坐標(biāo)落在多段線所在的平面上了,再把獲得的新坐標(biāo)組合起來(lái)。

    revit dynamo

    我們用新獲得的坐標(biāo)為圓心畫圓,圓會(huì)和我們之前繪制的多段線有交點(diǎn),所以我們之前在繪制多段線的時(shí)候盡量要通過(guò)房間的中心。繪制圓用【Circle.ByCenterPointRadiusNormal】節(jié)點(diǎn),我們先設(shè)置半徑為1000看效果。

    revit dynamo

    運(yùn)行效果如下,每個(gè)圓和曲線都產(chǎn)生了交點(diǎn)

    revit dynamo

    接下來(lái)我們用【Geometry.IntersectAll】節(jié)點(diǎn)獲得交點(diǎn)(獲取交點(diǎn)的時(shí)候連綴改成叉集),但是交點(diǎn)一般都會(huì)有兩個(gè),所以我們?nèi)∶總€(gè)交點(diǎn)組中的第一組數(shù)據(jù)即可。過(guò)程中要用【List.Flatten】節(jié)點(diǎn)將數(shù)據(jù)維度降低一級(jí)。用【List.FirstItem】節(jié)點(diǎn)獲取交點(diǎn)中的第一個(gè)交點(diǎn)。

    revit dynamo

    接下來(lái)我們要通過(guò)交點(diǎn)處到曲線起點(diǎn)處區(qū)間的弧長(zhǎng),判斷交點(diǎn)在曲線上所處的次序,才能進(jìn)行后面的排序。

    通過(guò)【Curve.ParameterAtPoint】節(jié)點(diǎn)和【Curve.SegmentLengthAtParameter】節(jié)點(diǎn)獲得交點(diǎn)處曲線的弧長(zhǎng),并將列表拍平。

    revit dynamo

    通過(guò)【List.Sort】節(jié)點(diǎn)將列表從弧長(zhǎng)由短到長(zhǎng)進(jìn)行排序

    revit dynamo

    再通過(guò)【IndexOf】節(jié)點(diǎn)和【List.Map】節(jié)點(diǎn)獲得排序后的列表數(shù)據(jù)在排序前列表中的位置

    revit dynamo

    通過(guò)【List.GetItemAtIndex】節(jié)點(diǎn)將之前房間列表按照獲得的list.map中的數(shù)據(jù)排序

    revit dynamo

    這部分告一段落,我們?cè)贓xcel中獲取原來(lái)設(shè)置好的房間數(shù)據(jù),這個(gè)我在之前的相關(guān)dynamo的教程中有提及,這里就直接放節(jié)點(diǎn)了。

    revit dynamo

    最后一步,通過(guò)【Room.SetName】節(jié)點(diǎn)將整理好的excel數(shù)據(jù)給整理好的房間就大功告成了!

    這僅僅是一個(gè)案例,大家可以通過(guò)自己的學(xué)習(xí)和思考,并將這樣的辦法應(yīng)用在其他項(xiàng)目上。

    來(lái)源:微信公眾: Revit教程-原創(chuàng):BIM二狗子

    本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

    未標(biāo)題-1.jpg

    上一篇:這是一篇教你看懂梁平法的文章(上)

    下一篇:Revit利用dynamo兩點(diǎn)放置分割裝飾條

    主站蜘蛛池模板: 精品国产高清自在线一区二区三区| 亚洲AV无码一区二区三区鸳鸯影院 | 亚洲AV无码一区二区二三区入口 | 久久99热狠狠色精品一区| 免费一区二区三区在线视频| 国产精品高清一区二区三区 | 91video国产一区| 夜夜精品无码一区二区三区| 亚洲AV无码一区二区三区牲色| 亚洲中文字幕无码一区二区三区 | 日韩精品无码人妻一区二区三区| 亚洲一区中文字幕在线观看| 国偷自产一区二区免费视频| 国产另类ts人妖一区二区三区| 国产一区二区三区在线电影| 在线精品视频一区二区| 欧美激情国产精品视频一区二区 | 日韩人妻无码一区二区三区99| 国产乱码精品一区二区三| 一区二区三区内射美女毛片| 国产成人av一区二区三区在线观看| 亚洲Av永久无码精品一区二区| 精品香蕉一区二区三区| 亚洲一区二区三区在线网站| 国产午夜精品一区二区三区嫩草 | 国产精品伦一区二区三级视频| 亚洲福利精品一区二区三区| 麻豆一区二区免费播放网站| 国产主播福利一区二区| 一区二区传媒有限公司| 人妻视频一区二区三区免费| 欧美成人aaa片一区国产精品| 性色AV一区二区三区天美传媒| 亚洲av无码一区二区三区人妖| 日本精品一区二区三区视频| 亚洲国产一区二区三区在线观看| 国产一区二区免费视频| 国产亚洲一区二区三区在线| 精品无码国产一区二区三区AV| 亚洲一区欧洲一区| 色综合视频一区二区三区44|