最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Dynamo數(shù)據(jù)淘金——07//列表的層級(jí)與連綴屬性

2023-02-10 19:57 作者:非天生建筑師  | 我要投稿

這一節(jié),將以第4節(jié)為基礎(chǔ),講解列表的兩個(gè)重要屬性:層級(jí)與連綴.同樣的,仍以Revit自帶的案例(rac_basic_sample_project)作為數(shù)據(jù)源.

一、層級(jí)

前面已經(jīng)強(qiáng)調(diào)過,dynamo與Excel交互時(shí),所有數(shù)據(jù)都是以列表的結(jié)構(gòu)形式存儲(chǔ)的.這些數(shù)據(jù)對(duì)應(yīng)到Excel中,每一行就是一個(gè)列表,很多行組成了一個(gè)工作表單,而工作表單是更大的一個(gè)列表.

如果用列表的方式存儲(chǔ),就是:

工作表單第一行數(shù)據(jù):list 0

工作表單第二行數(shù)據(jù):list 1

工作表單第三行數(shù)據(jù):list 2

……

工作表單第N行數(shù)據(jù):list (N-1)

所有這些數(shù)據(jù)匯總成整個(gè)工作表單:

整個(gè)工作表單(列表list)=[list0, list1, list2, …,list(N-1)]

如果用Dynamo的呈現(xiàn)形式則為:

list

?????? 0 list

?????? 1 list

?????? 2 list

?????? ……

?????? (N-1)list

0,1,2,……,N-1,這些數(shù)字是索引值.

由上可知,用列表存儲(chǔ)數(shù)據(jù)時(shí),不可避免的出現(xiàn)了列表的嵌套,因此就形成了列表的層級(jí).

整個(gè)工作單形成的列表是第一層級(jí):@L1

每一行數(shù)據(jù)形成的列表是第二層級(jí): @L2

每一行數(shù)據(jù)的單個(gè)數(shù)據(jù)是第三層級(jí):@L3

?通過實(shí)際操作演示一下

(1)創(chuàng)建如下節(jié)點(diǎn),根據(jù)標(biāo)高把房間成組:

由結(jié)果可知,通過標(biāo)高把房間成組,成組(groups)后的輸出為三級(jí)列表.

第一層級(jí)為整個(gè)大列表list

第二層級(jí)分別為0 list, 1list

第三層級(jí)分別為L(zhǎng)evel 2、Level 1的房間

(2)獲取對(duì)成組后的房間的編碼,根據(jù)編碼數(shù)字大小排序.

可知,編碼可以獲取,但是排序報(bào)錯(cuò)!

List.SortByKey節(jié)點(diǎn)是列表的一個(gè)排序方法,操作對(duì)象是列表.我們想排序的是201,202,203這些數(shù)字,它們是屬于第二層級(jí)0 list列表的元素,因此List.SortByKey節(jié)點(diǎn)操作的列表級(jí)別應(yīng)該是第二層級(jí).否則默認(rèn)是第一層級(jí).

(3)修改節(jié)點(diǎn)的列表層級(jí)后,運(yùn)行正確.

(4)列表有層級(jí)后,一旦對(duì)內(nèi)部層級(jí)的列表進(jìn)行操作,就需要一直對(duì)節(jié)點(diǎn)進(jìn)行層級(jí)的選擇,會(huì)帶來(lái)不便.因此,有時(shí)候會(huì)根據(jù)需要把列表的層級(jí)取消,一般使用List.Flatten節(jié)點(diǎn).

二、連綴

連綴屬性是兩個(gè)列表之間的對(duì)應(yīng)關(guān)系.為了更好的理解,仍然續(xù)接上面的節(jié)點(diǎn),以獲取房間的參數(shù)數(shù)據(jù)為例.

(1)編輯節(jié)點(diǎn)獲取房間的三個(gè)參數(shù)數(shù)據(jù):

(2)節(jié)點(diǎn)過于冗余,優(yōu)化節(jié)點(diǎn),通過一個(gè)節(jié)點(diǎn)實(shí)現(xiàn),只需將參數(shù)以列表形式存儲(chǔ)即可:

顯示結(jié)果并不正確.因?yàn)樽髠?cè)房間有14個(gè),右側(cè)僅顯示三個(gè)數(shù)據(jù).

Element.GetParameterByName節(jié)點(diǎn)輸入端連接的是兩個(gè)列表,一個(gè)是包含14個(gè)房間的列表,另一個(gè)是包含3個(gè)參數(shù)的列表.

兩個(gè)列表的映射關(guān)系可以有好幾種方式:

假定兩個(gè)列表表示為

List 1 =[房間1,房間2,房間3,……,房間14]

List 2 =[參數(shù)1,參數(shù)2,參數(shù)3]

//連綴屬性--最短

房間1—參數(shù)1

房間2—參數(shù)2

房間3—參數(shù)3

剩下房間不再執(zhí)行操作

//連綴屬性--最長(zhǎng)

房間1—參數(shù)1

房間2—參數(shù)2

房間3—參數(shù)3

剩下房間執(zhí)行最后一個(gè)參數(shù)

房間1-14—參數(shù)3

//連綴屬性—叉積

房間1-14—參數(shù)1

房間1-14—參數(shù)2

房間1-14—參數(shù)3

默認(rèn)情況下,節(jié)點(diǎn)自動(dòng)選擇連綴屬性.這三個(gè)連綴屬性適用于不同的數(shù)據(jù)處理.可知,我們想要實(shí)現(xiàn)的功能是”叉積”

(3)修改節(jié)點(diǎn),右鍵將連綴屬性改為”叉積”,顯示正確.

以上就是列表的層級(jí)與連綴屬性.


Dynamo數(shù)據(jù)淘金——07//列表的層級(jí)與連綴屬性的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
寿阳县| 浦北县| 西宁市| 周口市| 年辖:市辖区| 吕梁市| 浦北县| 蛟河市| 和静县| 梅河口市| 华蓥市| 沈阳市| 洛隆县| 拜泉县| 嵩明县| 读书| 乌拉特后旗| 循化| 岗巴县| 岳阳市| 衡东县| 雅安市| 梁平县| 临猗县| 敦煌市| 苏尼特右旗| 安徽省| 河曲县| 佛坪县| 延川县| 阳朔县| 大方县| 南陵县| 秦皇岛市| 扶沟县| 昂仁县| 安丘市| 郓城县| 景泰县| 新余市| 徐汇区|