python和revit_如何在Python中产生新的RevitAPI对象
通過(guò)Python節(jié)點(diǎn)可以調(diào)用RevitAPI的內(nèi)容,那如何產(chǎn)生新的對(duì)象?
一、公開(kāi)構(gòu)造函數(shù)的類(lèi)
通過(guò)查看RevitAPI可以看到:對(duì)于XYZ類(lèi)給出了公開(kāi)的API構(gòu)造函數(shù),如下圖所示:
(Tips:類(lèi)的構(gòu)造函數(shù)名稱必須與類(lèi)名稱相同,例如XYZ類(lèi)的構(gòu)造函數(shù)名稱必須為XYZ(),可以作為查找構(gòu)造函數(shù)的依據(jù))
public XYZ(
double x,
double y,
double z
)
對(duì)于C#等其他語(yǔ)言來(lái)說(shuō),調(diào)用類(lèi)的構(gòu)造函數(shù)是需要添加關(guān)鍵字的,在C#中為new,而在Python中調(diào)用構(gòu)造函數(shù)則不需要任何關(guān)鍵字,像普通方法一樣調(diào)用即可;
point=XYZ(0,0,0)
二、未公開(kāi)構(gòu)造函數(shù)的類(lèi)
在RevitAPI中還有一些類(lèi)是沒(méi)有公開(kāi)構(gòu)造函數(shù)的,未公開(kāi)的原因與程序面向?qū)ο笤O(shè)計(jì)的原則有關(guān)(更好的程序架構(gòu)),例如:FamilyInstance類(lèi),那么如何構(gòu)造新的FamilyInstance?
RevitAPI把大部分工廠類(lèi)放在了Autodesk.Revit.Creation Namespace命名空間下,如果沒(méi)有找到合適的構(gòu)造函數(shù),可以到該命名空間下查找。
該命名空間下的類(lèi)下含有大量的工廠方法,讀者可以自己查找API文檔學(xué)習(xí)。
這里以FamilyInstance類(lèi)為例說(shuō)明:該類(lèi)的產(chǎn)生方法在document類(lèi)下,有很多中重載方法,下面展示部分方法:
按順序給出函數(shù)參數(shù),大部分情況下系統(tǒng)會(huì)自動(dòng)找到合適的重載方法。
如果要指定特定的構(gòu)造函數(shù)調(diào)用,可以參照IronPython官方文檔,本文屬于入門(mén)介紹,不做深入探討。
總結(jié)
以上是生活随笔為你收集整理的python和revit_如何在Python中产生新的RevitAPI对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python拆堆和堆叠的操作_pytho
- 下一篇: ui设计和python哪个容易学_软件开