日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

ironpython使用opencv_如何在Dynamo(PythonScript中导入第三方模块)

發(fā)布時(shí)間:2025/3/13 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ironpython使用opencv_如何在Dynamo(PythonScript中导入第三方模块) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

歡迎加入BIM行業(yè)開(kāi)發(fā)交流1群 群號(hào):711844216

一、背景

小伙伴們?cè)谑褂胐ynamo中的PythonScript節(jié)點(diǎn)時(shí),為了豐富PythonScript節(jié)點(diǎn)的功能,那么就需要引入第三方模塊。首先,我們得明白,PythonScirpt節(jié)點(diǎn)是基于IronPython的,因此模塊的導(dǎo)入方式與python是不一樣的。本文就介紹如何在IronPython中導(dǎo)入第三方模塊。

二、思路

首先,這種模塊必須是支持IronPython,而不是只支持Python

接著我們需要區(qū)分兩種模塊。

第一種是IronPython自帶的模塊

比如Math模塊,直接 import math就可以使用了

第二種是在.net中寫(xiě)好,為IronPython準(zhǔn)備好的模塊

對(duì)于這種,其實(shí)又包含兩種情況

2.1.第一種,使用revit中準(zhǔn)備好的模塊,比如RevitAPI

2.2.第二種,導(dǎo)入自定義模塊/第三方模塊,實(shí)例可以參看在dynamo中導(dǎo)入矩陣運(yùn)算

對(duì)于這兩大類,三種情況,就用下面的代碼進(jìn)行說(shuō)明

三、代碼

1.導(dǎo)入IronPython自帶模塊

import math #導(dǎo)入自身的數(shù)學(xué)庫(kù)模塊

import clr #導(dǎo)入自身對(duì).net dll引用的功能模塊,不管是revit中定義好的模塊,還是自定義/第三方模塊,都需要先引入這個(gè)模塊,然后再通過(guò)這個(gè)模塊方法進(jìn)行導(dǎo)入1

2

2.1導(dǎo)入revit中準(zhǔn)備好的模塊

import clr #導(dǎo)入自身對(duì).net dll引用的功能模塊

# 導(dǎo)入Revit自身的模塊 RevitAPI.dll 和 RevitAPIUI.dll

clr.AddReference("RevitAPI") #導(dǎo)入RevitAPI.dll文件,文件后綴.dll可以省略

clr.AddReference("RevitAPIUI")#導(dǎo)入RevitAPIUI.dll文件,文件后綴.dll可以省略

import Autodesk #導(dǎo)入Autodesk命名空間

from Autodesk.Revit.DB import * #再?gòu)木唧w的命名空間下引入模塊

from Autodesk.Revit.UI import * #再?gòu)木唧w的命名空間下引入模塊1

2

3

4

5

6

7

2.2導(dǎo)入自定義模塊/第三方模塊

import clr #導(dǎo)入自身對(duì).net dll引用的功能模塊

import sys #導(dǎo)入系統(tǒng)功能的模塊,下面主要用于指定dll路徑

sys.path.append(r"dll文件所在的地址") # 指定dll文件所在的地址,前面有r轉(zhuǎn)義字符,直接復(fù)制粘貼地址就行

clr.AddReference ("xxx.dll") # 需要導(dǎo)入的dll名稱

import xxxNamspace # 導(dǎo)入這個(gè)dll文件中,我們需要使用到的函數(shù)的命名空間

#上面這些操作的簡(jiǎn)便寫(xiě)法如下:

import clr

clr.AddReferenceToFileAndPath(r"dll文件所在的地址\xxx.dll")

import xxxNamspace # 導(dǎo)入這個(gè)dll文件中,我們需要使用到的函數(shù)的命名空間1

2

3

4

5

6

7

8

9

四、注意事項(xiàng)

1.在IronPython中導(dǎo)入.net下寫(xiě)好的dll與python導(dǎo)入模塊是有區(qū)別的。

2.對(duì)于導(dǎo)入IronPython自身,或者revit寫(xiě)好的模塊是不需要指定路徑的(IronPython,dynamo已經(jīng)幫我們做好了)。

3.對(duì)于導(dǎo)入自定義/外部模塊是需要我們?cè)诔绦蛑刑砑雍寐窂降摹?/p>

4.如果小伙伴們有需要,筆者會(huì)出一個(gè)自定義模塊的教程。

5.大家好,我是黑夜の騎士,歡迎大家關(guān)注我的博客,筆者將持續(xù)輸出revit二次開(kāi)發(fā)以及編程干貨。

總結(jié)

以上是生活随笔為你收集整理的ironpython使用opencv_如何在Dynamo(PythonScript中导入第三方模块)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。