通過Python節點可以調用RevitAPI的內容,那如何產生新的對象?

一、公開構造函數的類

通過查看RevitAPI可以看到:對於XYZ類給出了公開的API構造函數,如下圖所示:

(Tips:類的構造函數名稱必須與類名稱相同,例如XYZ類的構造函數名稱必須為XYZ(),可以作為查找構造函數的依據)

public XYZ(
double x,
double y,
double z
)

對於C#等其他語言來說,調用類的構造函數是需要添加關鍵字的,在C#中為new,而在Python中調用構造函數則不需要任何關鍵字,像普通方法一樣調用即可;

point=XYZ(0,0,0)

二、未公開構造函數的類

在RevitAPI中還有一些類是沒有公開構造函數的,未公開的原因與程序面向對象設計的原則有關(更好的程序架構),例如:FamilyInstance類,那麼如何構造新的FamilyInstance?

RevitAPI把大部分工廠類放在了Autodesk.Revit.Creation Namespace命名空間下,如果沒有找到合適的構造函數,可以到該命名空間下查找。

該命名空間下的類下含有大量的工廠方法,讀者可以自己查找API文檔學習。

這裡以FamilyInstance類為例說明:該類的產生方法在document類下,有很多中重載方法,下面展示部分方法:

按順序給出函數參數,大部分情況下系統會自動找到合適的重載方法。

如果要指定特定的構造函數調用,可以參照IronPython官方文檔,本文屬於入門介紹,不做深入探討。

推薦閱讀:

相關文章