dynamo方程怎麼寫 Dynamo入門指南

2021-10-14 04:22:45 字數 1617 閱讀 6097

熟練使用dynamo的前提就是熟悉dynamo提供給我們的工具與使用工具的方法,工具就是dynamo內提供的一系列節點包,使用工具的方法就是呼叫節點的計算機語言,主要包括designscript語言、python語言等等。

dynamo的節點有點類似於python中「包」或者「模組」的概念,通過反覆呼叫多個簡單的方法,也可以實現較為複雜的功能,同時利用python可呼叫revitapi,實現很多以前需要二次開發才能完成的複雜問題。

學習中需注意的一大要點就是dynamo中所提供的幾何類之間的繼承關係,如下圖所示。

為什麼我說繼承關係是初學者第乙個需要注意的問題?

從程式設計的角度說:裡式替換,子類可以代替父類,父類不可以代替子類。初學者最最疑惑的問題可能就是節點輸入輸出應該怎麼連,為什麼這樣連可以?那樣連會報錯?這主要取決於輸入資料的型別。每個節點可以看做是乙個方法,而輸入處所連線的是方法引數,dynamo語法是一種靜態程式語言,即資料型別在編譯時即確定,python是動態語言,資料型別執行時確定。而靜態語言方法所需要的引數在定義方法時已經寫死,輸入任何不符合給定引數型別的資料,程式都會報錯,而當輸入引數型別是給定型別的子類或孫子類時,程式可以正常執行。反過來,當引數型別為子類時,輸入父類是不可行的。簡單地說:你爸的是你的,你的不是你爸的。

舉例說明:如果乙個節點要求輸入引數型別為curve時,我們除了可以給curve型引數外,也可以給下圖中curve下面的任何一種資料型別,程式都可以正常執行。

入門推薦:dynamo prime以及dynamo dictionary。

使用可見式程式設計的好處很明顯,但同時也存在一些缺陷,比如節點多了之後看起來很不方便,不方便使用流程控制語法等等,designscript可以部分解決這些問題,designscript可以理解為dynamo裡專用的一種計算機語言,語法上比較接近c#。

個人觀點:如果學習了python,不需要對該語法有過深入的理解,掌握基本的類與方法的呼叫即可,把dynamo提供的東西當成python的乙個模組來使用,如果不打算學習python,又對c#很熟悉的話,可以考慮深入了解該語法(建議使用python,方便後期呼叫api等其他程式集,python相對簡單,本人利用每天上下班地鐵上的時間看基本語法,持續乙個月左右就可以在dynamo中寫基本的指令碼了,本人並非計算機專業)。

關於designscript入門的介紹主要為官方的:《designscript guide》;

關於designscript較為深入的剖析有:robert aish的《designscript user manual》,詳細介紹了例如關聯式語法和命令式語法的區別,以及在designscript中如何物件導向程式設計。

在熟練掌握了dyanmo中提供的節點後,還可以通過以下途徑提公升運用水平,熟練掌握python語法,通過python結合dynamo中常用的節點包(包括第三方節點包)與revitapi,在不進行二次開發的前提下,通過dynamo就可以解決很多複雜的工程問題。

本人入門將近半年,把近半年來的學習心得記錄下來供廣大初學者參考,主要記錄學習途徑與方法,如有錯誤紕漏,請廣大網友為樓主指出,不勝感激。

「駱駝」怎麼寫

jelly是某大學計算機專業的學生,平時愛敲敲 上課卻不認真聽講。這不期末考試了,考英語的時候急得滿頭大汗。心想 平時整天敲那麼多字母,這英語咋就沒長進呢。看著最後一道作文題 請以 沙漠之舟 駱駝為題寫100詞左右。jelly想,沙漠之舟,沙漠之舟,a a boat of the the deser...

簡歷怎麼寫

簡歷為啥會石沉大海?想想問題還是出在對自己總結不夠,核心優勢沒有突出。簡歷想清楚在職期間自己的目標是什麼?基於這些目標,你都拆解了哪些動作 策略?基於這些動作跟策略你實際的產出跟業績是什麼?同時也要想下,這段工作期間你的收穫是什麼,專案中存在哪些不足,如果再來一次你重點考慮哪些方面。面試官很多時候只...

指令碼怎麼寫???

在micas的這段時間,我深刻體會到了linux系統與寫指令碼做 做綜合 做分析的重要性,對於乙個硬體開發者而言,學會linux系統的操作也是以編寫指令碼 執行指令碼為目的的。這篇隨筆我會記錄一些最基本的linux命令,以及四種指令碼的使用方法以及一些例項。想系統學習可以上這個網 但我建議先了解然後...