Dynamo應用秘籍:10:使用周期性運行製作動畫演示
要理解周期性運行,首先需要學習一下Dynamo的節點運行模式,我們知道可以將節點視為一系列的代碼的可視化外殼,有輸入,有輸出,但是在執行中,代碼是否被運行呢?通常的檢測方法是查看代碼的數據,如果有,一般認為是成功運行完成。
在手動運行狀態下再次點取運行時,雖然從理解上,節點應該再運行一次,但實際上,因為Dynamo的關聯性語法特性,當輸入沒有變化時,節點是不會「更新運行」的,因為節點除了承載代碼的運算關係,也同時承載了運算的結果數據。當輸入沒有變化,也就是結果數據不需要變化更新,從效率上是沒有運行代碼的必要的,而Dynamo也正是這樣表現的。
對同一個節點而言,其代表的運算關係是固定不變的,因此只有在輸入有變化時,其承載結果才會變化。這種表現為自動運行時的更新,只有當數據有變化時,自動運行才會真正被觸發,否則只是需要監控用戶操作而已。
幾乎所有Dynamo節點都沒有能自己改變自己已經承載的數據的能力,但是也有個例外,那就是時間監控器DateTime.Now。這個節點沒有輸入參數,但因為時間是連續變化的,因此其數據也就會隨著時間的流逝而數據不斷自動變化。對於這種變化,因為太連續,會不斷的觸發數據的更新,尤其是與之相連的其他節點,為了保持一個持續、穩定、流暢的更新過程,Dynamo提供了周期性的選項,這個選項是只有在DateTime.Now節點被使用後才能激活。如果不周期性執行,Dynamo可能可以按照毫秒的級別來不斷刷新程序,對於人來說是無法跟進到這麼精確的,這樣做也會消耗大量的計算機資源做無謂的計算,因為毫秒級的數據差異對後面的數據影響變化很小,計算量確沒有減少。這種更新將大大影響用戶的操作和用戶體驗。
激活周期性運行後,Dynamo允許用戶指定更新的時間間隔周期,可以指定程序每分鐘更新一次或者沒多少秒更新一次,更加自由。
如果需要展示一些圖形的動畫效果,可以把時間變化的因素添加到原來Dynamo程序的序列里,根據時間變化順次從序列中提取單個的操作值,這樣在周期性運行的驅動下,可以在Dynao中直接實現動畫的演示效果。
這裡給白馬的微信公眾號做個小廣告吧,也就不在這裡再重複演示了,可以到這裡直接看到白馬分享的製作簡易動畫鐘錶。
白馬的微信公眾號:BM_BIM
連載鏈接:上一篇 << ooo >> 下一篇
推薦閱讀:
※什麼軟體可以給實體模型分層用作激光切割?
※python unittest如何進行參數化?
※賓大(UPENN)建築學的課程設置、研究方向和就讀體驗怎麼樣 ?
※美國建築師弗蘭克.蓋里的設計方式能算是參數化設計嗎?
TAG:Dynamo | AutoDeskRevit | 参数化设计 |