Dynamo 提供了多種套件建立方式,供個人使用或與 Dynamo 社群分享。在以下案例研究中,我們將瞭解如何透過解構既有的套件以設置套件。此案例研究以上一章的課程為基礎,會提供一組自訂節點,以便在 Dynamo 曲面之間依 UV 座標對映幾何圖形。
我們將使用的範例套件會演示曲面之間點的 UV 對映。我們已在此手冊的建立自訂節點一節中建置了工具的基礎內容。以下檔案將示範我們如何利用 UV 對映的概念,以及如何為可發佈資源庫開發一組工具。
在此影像中,我們將使用 UV 座標在曲面之間對映點。套件以此概念為基礎,但具有更複雜的幾何圖形。
在上一章中,我們探索了根據 XY 平面中定義的曲線在 Dynamo 中將曲面面板化的方式。此案例研究將針對幾何圖形的更多標註延伸這些概念。我們會將此套件安裝為已建置的套件,以演示其開發方式。在下一節,我們將示範此套件的發佈方式。
在 Dynamo 中,按一下「套件」>「Package Manager」,然後搜尋套件「MapToSurface」(全部一個字,無空格)。按一下「安裝」以開始下載,並將套件加入您的資源庫。
安裝後,「Add-ons」>「DynamoPrimer」區段下應該會顯示自訂節點。
現在已安裝套件,接下來瞭解其設置方式。
我們將建立的套件會使用已建置供參考的五個自訂節點。接下來瞭解每個節點的行為。某些自訂節點會建置其他自訂節點,圖表的配置可供其他使用者以簡單的方式進行瞭解。
這是具有五個自訂節點的簡單套件。在以下步驟中,我們將簡要討論每個自訂節點的設置。
這是一個基本自訂節點,是其他所有對映節點的基礎。簡言之,節點會將來源曲面 UV 座標的點對映至目標曲面 UV 座標的位置。由於點是最基本的幾何圖形,以此為基礎會建置更複雜的幾何圖形,因此我們可以使用此邏輯在曲面之間對映 2D 甚至 3D 幾何圖形。
只需使用這裡的多邊形,即可示範將對映點從 1D 幾何圖形延伸至 2D 幾何圖形的邏輯。請注意,我們已將 PointsToSurface 節點巢狀插入此自訂節點中。使用此方式,我們可以將每個多邊形的點對映到曲面,然後從這些對映的點重新產生多邊形。透過保持正確的資料結構 (點清單的清單),我們可以在多邊形精簡為一組點後保持多邊形的獨立性。
這裡套用的邏輯與 PolygonsToSurface 節點中相同。但不是對映多邊形點,而是對映 NURBS 曲線的控制點。
OffsetPointsToSurface
此節點稍微複雜一些,但概念很簡單:此節點與 PointsToSurface 節點類似,可在曲面之間對映點。但是,它也會考慮到不在原始來源曲面上的點,會取得這些點距最近 UV 參數的距離,並將此距離對映到對應 UV 座標處的目標曲面法線。如果查看範例檔案,會比較有感覺。
這個簡單節點會建立一個參數式曲面,從來源格線對映到範例檔案中的波浪曲面。
範例檔案可在套件的根資料夾中找到。按一下「Package Manager」>「安裝的套件」頁籤。
按一下「MapToSurface」旁的垂直圓點功能表 >「展示根目錄」。
接著開啟 「extra」 資料夾,此資料夾包含套件中不是自訂節點的所有檔案。這是 Dynamo 套件的範例檔案 (若存在) 的儲存位置。以下螢幕擷取畫面討論每個範例檔案中示範的概念。
此範例檔案示範如何根據矩形的格線使用 PointsToSurface 將曲面平板化。這看起來應該很熟悉,因為我們在上一章示範了類似的工作流程。
此練習檔案使用類似的工作流程,展示在從一個曲面將圓 (或表示圓的多邊形) 對映到另一個曲面的設置。此練習檔案使用 PolygonsToSurface 節點。
此範例檔案使用「NurbsCrvToSurface」節點,因此複雜性更高。會將目標曲面偏移指定的距離,並將 NURBS 曲線對映至原始目標曲面與偏移曲面。由此對對映的兩條曲線執行斷面混成以建立曲面,然後增厚該曲面。產生的這個實體具有代表目標曲面法線的波浪線。
此範例檔案示範如何將褶狀的 PolySurface 從來源曲面對映到目標曲面。來源曲面與目標曲面分別是跨越格線的矩形曲面與旋轉曲面。
來源 PolySurface 從來源曲面對映到目標曲面。
由於自訂節點可以對映不同類型的曲線,因此這最後一個檔案參考從 Illustrator 匯出的 SVG 檔案,並將匯入的曲線對映到目標曲面。
剖析整個 .svg 檔案的語法,將曲線從 .xml 格式轉換為 Dynamo polycurve。
將匯入的曲線對映到目標曲面。我們可藉此以明確方式 (點選) 在 Illustrator 中設計一個平板化物件,匯入至 Dynamo,然後套用到目標曲面。
Dynamo 提供大量即裝即用的功能,並維護了豐富的套件資源庫,可顯著擴充 Dynamo 的功能。套件是自訂節點或其他功能的集合。Dynamo Package Manager 是一個入口網站,可讓社群下載已在線上發佈的套件。這些工具集由協力廠商開發,可擴充 Dynamo 的核心功能,任何人都能存取,按一下按鈕即可下載。
開放原始碼專案 (例如 Dynamo) 在此類型的社群參與下蓬勃發展。使用專屬的協力廠商開發人員,Dynamo 可以將其適用範圍延伸到一系列產業的工作流程中。因此,Dynamo 團隊齊心協力簡化套件的開發與發佈 (在後續各節中將更詳細地討論這一點)。
最簡易的套件安裝方式是使用 Dynamo 介面中的「套件」功能表選項。現在,讓我們直接開始安裝套件。在此簡單範例中,我們將安裝某個常見套件,在格線上建立四邊形板。
在 Dynamo 中,前往 「套件」>「Package Manager...」
在搜尋列中,我們搜尋「quads from rectangular grid」。片刻之後,您應該會看到符合此搜尋查詢的所有套件。我們要選取具有相符名稱的第一個套件。
按一下「安裝」,將此套件加入至您的資源庫,系統請您確認時,請接受。完成!
請注意,Dynamo 資源庫中現在有另一個群組稱為「buildz」。此名稱是指套件的開發人員,此群組中已放置自訂節點。我們可以立即開始使用。
使用 Code Block 可快速定義矩形格線,將結果輸出至 Polygon.ByPoints 節點,然後輸出至 Surface.ByPatch 節點,以檢視您剛剛建立的矩形板清單。
上述範例著重針對具有一個自訂節點的套件,不過您可以使用相同程序下載具有多個自訂節點的套件並支援資料檔案。現在使用更全面的套件 DynamoUnfold 示範。
如同上述範例,首先請選取 「套件」>「Package Manager...」。
這次我們要搜尋 「DynamoUnfold」,這是一個字,沒有空格。當我們看到套件時,按一下「安裝」下載,將 DynamoUnfold 加入您的 Dynamo 資源庫。
在 Dynamo 資源庫中,我們有一個 DynamoUnfold 群組,當中有多個品類和自訂節點。
現在,我們看一下套件的檔案結構。
請先前往「套件」>「Package Manager」>「已安裝的套件」。
然後按一下「展示根目錄」,以開啟此套件的根資料夾。
這會將我們帶到套件的根目錄。請注意,我們有 3 個資料夾和 1 個檔案。
bin 資料夾包含 .dll 檔案。此 Dynamo 套件使用 Zero-Touch 進行開發,因此自訂節點保留在此資料夾中。
dyf 資料夾包含自訂節點。此套件不是使用 Dynamo 自訂節點進行開發,所以此套件的此資料夾是空的。
extra 資料夾包含所有其他檔案 (包括範例檔案)。
pkg 檔案是定義套件設定的基本文字檔案。現在我們可以忽略該檔案。
開啟「extra」資料夾,我們可以看到隨安裝而下載的一系列範例檔案。並非所有套件都有範例檔案,但此若套件有範例檔案,您可以在此處找到這些檔案。
接下來開啟「SphereUnfold」。
開啟檔案並按一下求解器上的「執行」後,就會看到一個展開的圓球!諸如此類的範例檔案有助於學習如何使用新的 Dynamo 套件。
!
在「Package Manager」中,您可以使用「搜尋套件」頁籤中的排序和篩選選項來瀏覽套件。該頁籤提供數種篩選,包含主程式、狀態 (新的、已棄用或取消棄用),以及套件是否具有相依性。
透過排序套件,您可以找出高評等或下載次數最多的套件,或尋找最近更新的套件。
您也可以按一下「檢視詳細資料」,針對每個套件取得更多詳細資料。這會開啟 Package Manager 中的側面板,您可以在其中尋找資訊,例如版本管理和相依性、網站或儲存庫 URL、授權資訊等。
探索 Dynamo 套件的另一種方式是探索 Dynamo Package Manager 網站。您可以在這裡找到套件和作者排行榜的統計資料。您也可以從 Dynamo Package Manager 下載套件檔案,但是從 Dynamo 直接執行會更順暢。
如果您想要查看套件檔案的儲存位置,請在頂端導覽中按一下「Dynamo」>「偏好」>「套件設定」>「節點和套件檔案位置」。您可以在這裡找到您目前的根資料夾目錄。
套件預設安裝在與以下資料夾路徑類似的位置:C:/Users/[使用者名稱]/AppData/Roaming/Dynamo/[Dynamo 版本]。
Dynamo 社群在不斷成長與發展。透過不時地探索 Dynamo Package Manager,您會發現一些激動人心的新開發功能。在以下各節,我們將從終端使用者的視角到建立您自己的 Dynamo 套件,更深入地查看套件。
Dynamo Mesh Toolkit 可提供工具,以匯入外部檔案格式的網格、根據 Dynamo 幾何圖形物件建立網格,並根據網格的頂點與索引手動建置網格。資源庫還提供工具來修改網格、修復網格,或萃取水平切片,以用於加工。
Dynamo Mesh Toolkit 是 Autodesk 持續進行網格研究的一部分,因此在未來的幾年將繼續成長。該工具箱將頻繁推出新方法,請隨時與 Dynamo 團隊聯繫以提供註解、錯誤以及新功能的建議。
下面的練習演示了使用 Mesh Toolkit 可執行的一些基本網格作業。在此練習中,我們將網格與一系列的平面相交,如果使用實體執行此作業,則運算成本很高。與實體不同,網格具有一組「解析度」,不以數學方式定義,而是以拓樸方式定義,我們可根據要執行的作業來定義此解析度。有關網格與實體關係的詳細資訊,您可以參考此手冊的用於計算設計的幾何圖形一章。有關 Mesh Toolkit 的更詳細資訊,您可以參考 Dynamo Wiki 頁面。我們利用下面的練習來瞭解此套件。
在 Dynamo 中,前往頂部功能表列中的「套件」>「Package Manager...」。在搜尋欄位中,鍵入 MeshToolkit (全部一個字,無空格)。按一下「安裝」,系統請您確認時,請接受,即可開始下載。非常簡單!
按一下下方的連結下載範例檔案。
附錄中提供完整的範例檔案清單。
在此範例中,我們將瞭解 Mesh Toolkit 的 Intersect 節點。我們將匯入網格並將其與一系列輸入平面相交以建立切片。這是準備模型以使用鐳射切割、水刀切割或數控機床進行加工的起點。
首先,在 Dynamo 中開啟 Mesh-Toolkit_Intersect-Mesh.dyn。
檔案路徑: 找到要匯入的網格檔案 (stanford_bunny_tri.obj)。支援的檔案類型為 .mix 和 .obj
Mesh.ImportFile: 連接檔案路徑以匯入網格
Point.ByCoordinates: 建構一個點 - 這將是弧的中心。
Arc.ByCenterPointRadiusAngle: 在該點週圍建構一個弧。這條曲線將用來定位一系列平面。 __設定如下: __
radius: 40, startAngle: -90, endAngle:0
建立一系列沿著弧轉向的平面。
Code Block:建立 25 個介於 0 和 1 之間的數字。
Curve.PointAtParameter: 將弧連接到 curve 輸入並將 Code Block 輸出連接至 param 輸入以擷取出一系列沿著曲線的點。
Curve.TangentAtParameter: 連接與前一個節點相同的輸入。
Plane.ByOriginNormal: 將點連接至 origin 輸入並將 vector 連接至 normal 輸入,在每個點建立一系列平面。
接下來,我們將使用這些平面與網格相交。
Mesh.Intersect: 將這些平面與匯入的網格相交,建立一系列 PolyCurve 輪廓線。在節點上按一下右鍵,並將交織設定為最長
PolyCurve.Curves: 將 PolyCurve 切斷為曲線段。
Curve.EndPoint: 擷取每條曲線的端點。
NurbsCurve.ByPoints: 使用點來建構 NURBS 曲線。使用設定為 True 的 Boolean 節點,以封閉曲線。
在繼續之前,請關閉某些節點 (例如:Mesh.ImportFile、Curve.EndPoint、Plane.ByOriginNormal 以及 Arc.ByCenterPointRadiusAngle) 的預覽,以更清楚地查看結果。
Surface.ByPatch: 為每條輪廓線建構曲面修補,以便建立網格的「切片」。
新增第二組切片,產生格子/蛋盒的效果。
您可能會發現與一個差不多的實體相比,網格相交作業的計算速度更快。例如本練習中示範的工作流程非常適合用於網格。
在先前各節中,我們詳細瞭解了如何使用自訂節點與範例檔案設置 MapToSurface 套件。但是,如何發佈已在本端開發的套件呢?此案例研究將示範如何從本端資料夾的一組檔案發佈套件。
有許多方式可以發佈套件。以下是建議的程序:本端發佈、本端開發,然後線上發佈。我們從包含套件中所有檔案的資料夾開始。
在對發佈 MapToSurface 套件進行瞭解之前,若您已在上一課程中安裝該套件,請將其解除安裝,以便不會使用相同的套件。
首先,請前往「套件」>「套件管理員」>「已安裝的套件」頁籤,然後按一下「MapToSurface」旁的垂直圓點功能表 >「刪除」。
然後重新啟動 Dynamo。重新開啟後,若查看 「管理套件」 視窗,會發現其中應該不再包含 MapToSurface。現在我們準備好重新開始!
在 Dynamo Sandbox 2.17 版及更新版本中,只要自訂節點和套件沒有主 API 相依性,即可加以發佈。在較舊版中,只有 Dynamo for Revit 和 Dynamo for Civil 3D 中可發佈自訂節點和套件。
在下方的連結按一下,下載範例檔案。
附錄中提供完整的範例檔案清單。
這是為套件首次提交的檔案,我們已將所有範例檔案與自訂節點置於一個資料夾中。準備好此資料夾後,我們就準備好上傳到 Dynamo Package Manager。
此資料夾包含五個自訂節點 (.dyf)。
此資料夾還包含五個範例檔案 (.dyn) 與一個匯入的向量檔案 (.svg)。這些檔案將作為介紹練習,用以向使用者示範如何使用自訂節點。
在 Dynamo 中,首先按一下 「套件」>「Package Manager」>「發佈新套件」 頁籤。
在 「發佈套件」 頁籤中,填寫視窗左側的相關欄位。
接下來,我們將加入套件檔案。您可以選取「加入目錄」(1),逐個加入檔案,或加入整個資料夾。若要加入非 .dyf 的檔案,請務必在瀏覽器視窗中將檔案類型變更為 「所有檔案 (.)」。請注意,我們會加入所有檔案,不會區分該檔案是自訂節點檔案 (.dyf) 或範例檔案 (.dyn)。發佈套件時,Dynamo 會將這些項目分類。
選取 MapToSurface 資料夾後,Package Manager 會顯示資料夾內容。如果您上傳您自己的套件,且套件的資料夾結構複雜,而您不希望 Dynamo 變更資料夾結構,則可以啟用「保留資料夾結構」切換開關。此選項適用於進階使用者,如果您的套件並非以特定方式刻意設定,最好不要開啟此切換開關,讓 Dynamo 視需要組織檔案。按一下「下一步」以繼續。
發佈前,您可以在這裡預覽 Dynamo 組織套件檔案的方式。按一下「完成」以繼續。
按一下「本端發佈」(1)來進行發佈。若您跟著這裡的說明操作,請確定您按的是 「本端發佈」,而不是 「線上發佈」,避免 Package Manager 中有多個重複的套件。
發佈後,在「DynamoPrimer」群組或 Dynamo 資源庫下應該會顯示自訂節點。
現在,我們看一下根目錄,以瞭解 Dynamo 如何格式化我們剛剛建立的套件。前往「已安裝的套件」頁籤 > 按一下「MapToSurface」旁的垂直圓點功能表 > 選取「展示根目錄」,即可查看根目錄。
請注意,根目錄位於套件的本端位置 (請記住,我們在「本端」發佈套件)。Dynamo 目前參考此資料夾以讀取自訂節點。因此,請務必使用本端發佈功能,將資料夾發佈到永久的資料夾位置 (即不是您的桌面)。以下將分解講述 Dynamo 套件資料夾。
bin 資料夾包含使用 C# 或 Zero-Touch 資源庫建立的 .dll 檔案。我們沒有為此套件建立任何內容,所以此範例的此資料夾為空白。
dyf 資料夾包含自訂節點。開啟此資料夾將顯示此套件的所有自訂節點 (.dyf 檔案)。
extra 資料夾包含所有其他檔案。這些檔案可能是 Dynamo 檔案 (.dyn),也可能是所需的任何其他檔案 (.svg、.xls、.jpeg、.sat 等)。
pkg 檔案是定義套件設定的基本文字檔案。它是 Dynamo 中自動建立的檔案,但是如果您希望取得詳細資料,可以編輯該檔案。
注意:除非您要真的發佈自己的套件,否則請勿繼續執行此步驟!
準備好發佈後,在「套件」>「Package Manager」>「已安裝的套件」視窗中,選取要發佈之套件右側的按鈕,然後選擇「發佈」。
如果您要更新已發佈的套件,請選擇「發佈版本」,Dynamo 將根據該套件根目錄中的新檔案,線上更新您的套件。非常簡單!
若要更新已發佈套件根資料夾中的檔案,您也可以在 「我的套件」 頁籤中選取 「發佈版本...」,以發佈新版本的套件。這是一個很順暢的方式,可以對內容進行必要更新以及與社群分享。只有當您是套件的維護者時,才能使用 「發佈版本」。
「Zero-Touch 匯入」是指匯入 C# 資源庫所使用的一個簡易點選方法。Dynamo 將讀取 .dll 檔案的公開方法,並將其轉換為 Dynamo 節點。您可以使用 Zero-Touch 開發自己的自訂節點與套件,並將外部資源庫匯入 Dynamo 環境。
.dll 檔
Dynamo 節點
使用 Zero-Touch,您可以實際匯入不一定是為 Dynamo 開發的資源庫,並建立一組新節點。目前的 Zero-Touch 功能展示出 Dynamo 專案的跨平台能力。
在 Dynamo 中,建立新檔案,然後選取 「檔案」>「匯入資源庫...」
接下來,找到 dll 檔。
在快顯視窗中,導覽至 AForge 安裝的「Release」資料夾。該資料夾可能位於類似如下的資料夾中:C:\Program Files (x86)\AForge.NET\Framework\Release。
AForge.Imaging.dll: 在此案例研究中,我們只希望使用 AForge 資源庫中的這個檔案。選取此 .dll,然後按一下 「開啟」。
回到 Dynamo,您應該會看到資源庫中已加入 AForge 節點群組。現在,可以從我們的視覺程式存取 AForge 影像資源庫!
在下方的連結按一下,下載範例檔案。
附錄中提供完整的範例檔案清單。
現在已匯入資源庫,我們將從這第一個簡易練習 (01-EdgeDetection.dyn) 開始。我們將對範例影像執行某些基本影像處理,以展示 AForge 影像如何進行篩選。我們將使用 Watch Image 節點展示結果,並在 Dynamo 中套用與 Photoshop 中類似的篩選。
File Path 節點僅提供我們所選影像的路徑字串。接下來,我們需要在 Dynamo 中將其轉換為可用的影像檔。
使用 File From Path,在 Dynamo 環境中將檔案路徑項目轉換為影像。
將 File Path 節點連接至 File.FromPath 節點。
為了將此檔案轉換為影像,我們將使用 Image.ReadFromFile 節點。
最後,我們來查看結果!將 Watch Image 節點放在圖元區上,並連接至 Image.ReadFromFile。我們尚未使用 AForge,但已成功將影像匯入 Dynamo。
在 AForge.Imaging.AForge.Filters (「導覽」功能表中) 下,您會發現有許多可用的篩選。我們現在將使用這些篩選的其中之一,以根據閾值對影像執行去飽和度。
將三個滑棒放至圖元區,然後將其範圍變更為 0 到 1,將其步長值變更為 0.01。
在圖元區加入 Grayscale.Grayscale 節點。這是 AForge 篩選,會將灰階篩選套用至影像。從步驟 1 將這三個滑棒連接至 cr、cg 和 cb。將頂部與底部滑棒的值變更為 1,將中間滑棒的值變更為 0。
若要套用灰階篩選,我們需要對影像採取某項動作。為此,我們使用 BaseFilter.Apply。將影像連接至影像輸入,並將 Grayscale.Grayscale 連接至 baseFilter 輸入。
插入 Watch Image 節點,我們得到一個去飽和度的影像。
我們可以控制如何根據紅、綠、藍的閾值對此影像執行去飽和度。這些閾值由 Grayscale.Grayscale 節點的輸入定義。請注意,影像看起來非常暗,這是因為我們的滑棒中將綠色的值設定為 0。
將頂部與底部滑棒的值變更為 0,將中間滑棒的值變更為 1。這樣即可取得更清晰的去飽和度影像。
接下來我們使用去飽和度影像,並對其套用其他篩選。去飽和度影像具有一定的對比度,因此我們要測試某些邊緣偵測。
在圖元區加入 SobelEdgeDetector.SobelEdgeDetector 節點。
將此節點連接至 BaseUsingCopyPartialFilter.Apply,並將去飽和度影像連接至此節點的影像輸入。
Sobel 邊偵測器已在新影像中亮顯邊。
拉近後,邊偵測器已顯示標示圈的外框 (以像素為單位)。AForge 資源庫的工具可利用與此類似的結果並建立 Dynamo 幾何圖形。我們將在下一個練習中探索該功能。
現在我們已介紹了一些基本影像處理,接下來使用影像來驅動 Dynamo 幾何圖形!在本練習中,基本上我們的目的是使用 AForge 與 Dynamo 執行影像的 「即時追蹤」。我們將使用簡易的作業從參考影像中擷取矩形,不過 AForge 中提供了執行更複雜作業的工具。我們將使用下載練習檔案中的 02-RectangleCreation.dyn。
使用 File Path 節點,導覽至練習資料夾中的 grid.jpg。
連接上述其餘的一系列節點,以顯示路線參數式格線。
在圖元區加入 BlobCounter,接著我們需要採取某種方式來處理影像 (類似於上一個練習的 BaseFilter.Apply 工具)。
很遺憾,「處理影像」節點不會立刻顯示在 Dynamo 資源庫中。這是因為函數可能沒有顯示在 AForge 原始程式碼中。若要修正此問題,我們需要尋找因應措施。
在圖元區加入 Python 節點,然後在 Python 節點中加入下列程式碼。此程式碼將匯入 AForge 資源庫,然後處理匯入的影像。
將影像輸出連接至 Python 節點輸入,Python 節點將產生 AForge.Imaging.BlobCounter 結果。
將 Python 指令碼的輸出連接至 BlobCounterBase.GetObjectRectangles。這會讀取影像中的物件,並根據閾值從像素空間萃取量化的矩形。
在圖元區加入另一個 Python 節點,連接至 GetObjectRectangles,然後輸入以下程式碼。這將建立經過組織的 Dynamo 物件清單。
轉置上一步 Python 節點的輸出。這會建立 4 個清單,分別代表每個矩形的 X、Y、寬度及高度。
使用 Code Block 將資料排列為適合 Rectangle.ByCornerPoints 節點的結構 (程式碼如下)。
我們現在有一系列形,代表影像中的白色正方形。透過程式設計,我們已實現與 Illustrator 中的即時追蹤 (大致) 類似的功能!
不過還需要清理一下。拉近後,可以看到有一些不需要的小矩形。
接下來要編寫程式碼,除去不需要的矩形。
在 GetObjectRectangles 節點與另一個 Python 節點之間插入一個 Python 節點。節點的程式碼位於下方,會移除小於指定大小的所有矩形。
消除多餘的矩形後,只是為了好玩,我們將從矩形建立曲面,並根據矩形的面積依距離擠出矩形。
最後,將 both_sides 輸入變更為 false,會產生一個方向的擠出。將產生的此結果浸入樹脂,將產生造型極為奇特的桌子。
建立一些自訂節點後,下一步是以套件方式開始組織和發佈它們 - 這是一個很便利的方式來儲存您的節點並與 Dynamo 社群分享。
在 DynamoUnfold 旁邊,選取選項功能表 。
本節將示範如何使用 Zero-Touch 匯入協力廠商的資源庫。如需有關開發自己 Zero-Touch 資源庫的資訊,請參考 。
Zero-touch 套件是使用者定義之自訂節點的良好補充。下表列出使用 C# 資源庫的一些套件。如需有關套件的更多詳細資訊,請造訪附錄中的。
在本案例研究中,我們將展示如何匯入 外部 .dll 資源庫。AForge 是功能強大的資源庫,提供從影像處理到人工智慧的一系列功能。我們將參考 AForge 的影像類別執行以下的一些影像處理練習。
我們從下載 AForge 開始。在 上,選取 [Download Installer (下載安裝程式)],並在下載完成後進行安裝。
若要匯入影像,請在圖元區加入 File Path 節點,並從練習資料夾 (相片來源:) 中選取「soapbubbles.jpg」。
在下一步,我們將參考影像中的白色正方形,並將其轉換為實際的 Dynamo 幾何圖形。AForge 具有許多功能強大的電腦視覺工具,這裡我們要使用其中一種很重要的資源庫工具,名為 。
後續步驟會展現一些熟練使用 的技巧。不必學會這些,也能處理 Dynamo 工作。這比較算是用來示範 Dynamo 環境的靈活度,可搭配多種外部資源庫使用。
以上是基本範例,但這裡描述的概念可以轉變成令人興奮的真實應用。電腦視覺可用於許多程序。這裡列示一些範例:條碼讀取器、透視配合、及。如需此練習相關的更多 AForge 進階主題,請完整閱讀。
標誌/影像 | 名稱 |