# 開發套件

Dynamo 提供了多種套件建立方式，供個人使用或與 Dynamo 社群分享。在以下案例研究中，我們將瞭解如何透過解構既有的套件以設置套件。此案例研究以上一章的課程為基礎，會提供一組自訂節點，以便在 Dynamo 曲面之間依 UV 座標對映幾何圖形。

## MapToSurface 套件

我們將使用的範例套件會演示曲面之間點的 UV 對映。我們已在此手冊的[建立自訂節點](/zh-tw/6_custom_nodes_and_packages/6-1_custom-nodes/2-creating.md)一節中建置了工具的基礎內容。以下檔案將示範我們如何利用 UV 對映的概念，以及如何為可發佈資源庫開發一組工具。

在此影像中，我們將使用 UV 座標在曲面之間對映點。套件以此概念為基礎，但具有更複雜的幾何圖形。

### 安裝套件

在上一章中，我們探索了根據 XY 平面中定義的曲線在 Dynamo 中將曲面面板化的方式。此案例研究將針對幾何圖形的更多標註延伸這些概念。我們會將此套件安裝為已建置的套件，以演示其開發方式。在下一節，我們將示範此套件的發佈方式。

在 Dynamo 中，按一下「套件」>「Package Manager」，然後搜尋套件「MapToSurface」(全部一個字，無空格)。按一下「安裝」以開始下載，並將套件加入您的資源庫。

<figure><img src="/files/09S9FBC6bgWHwavYpbFX" alt=""><figcaption></figcaption></figure>

安裝後，「Add-ons」>「DynamoPrimer」區段下應該會顯示自訂節點。

!

現在已安裝套件，接下來瞭解其設置方式。

### 自訂節點

我們將建立的套件會使用已建置供參考的五個自訂節點。接下來瞭解每個節點的行為。某些自訂節點會建置其他自訂節點，圖表的配置可供其他使用者以簡單的方式進行瞭解。

這是具有五個自訂節點的簡單套件。在以下步驟中，我們將簡要討論每個自訂節點的設置。

!

#### **PointsToSurface**

這是一個基本自訂節點，是其他所有對映節點的基礎。簡言之，節點會將來源曲面 UV 座標的點對映至目標曲面 UV 座標的位置。由於點是最基本的幾何圖形，以此為基礎會建置更複雜的幾何圖形，因此我們可以使用此邏輯在曲面之間對映 2D 甚至 3D 幾何圖形。

!

#### **PolygonsToSurface**

只需使用這裡的多邊形，即可示範將對映點從 1D 幾何圖形延伸至 2D 幾何圖形的邏輯。請注意，我們已將 *PointsToSurface* 節點巢狀插入此自訂節點中。使用此方式，我們可以將每個多邊形的點對映到曲面，然後從這些對映的點重新產生多邊形。透過保持正確的資料結構 (點清單的清單)，我們可以在多邊形精簡為一組點後保持多邊形的獨立性。

!

#### **NurbsCrvtoSurface**

這裡套用的邏輯與 *PolygonsToSurface* 節點中相同。但不是對映多邊形點，而是對映 NURBS 曲線的控制點。

!

**OffsetPointsToSurface**

此節點稍微複雜一些，但概念很簡單：此節點與 *PointsToSurface* 節點類似，可在曲面之間對映點。但是，它也會考慮到不在原始來源曲面上的點，會取得這些點距最近 UV 參數的距離，並將此距離對映到對應 UV 座標處的目標曲面法線。如果查看範例檔案，會比較有感覺。

!

#### **SampleSrf**

這個簡單節點會建立一個參數式曲面，從來源格線對映到範例檔案中的波浪曲面。

!

### 範例檔案

範例檔案可在套件的根資料夾中找到。按一下「Package Manager」>「安裝的套件」頁籤。

按一下「MapToSurface」旁的垂直圓點功能表 >「展示根目錄」。

<figure><img src="/files/BrH63Wj2osdyjfjSEoVj" alt=""><figcaption></figcaption></figure>

接著開啟 *「extra」* 資料夾，此資料夾包含套件中不是自訂節點的所有檔案。這是 Dynamo 套件的範例檔案 (若存在) 的儲存位置。以下螢幕擷取畫面討論每個範例檔案中示範的概念。

#### **01-PanelingWithPolygons**

此範例檔案示範如何根據矩形的格線使用 *PointsToSurface* 將曲面平板化。這看起來應該很熟悉，因為我們在[上一章](/zh-tw/6_custom_nodes_and_packages/6-1_custom-nodes/2-creating.md)示範了類似的工作流程。

!

#### **02-PanelingWithPolygons-II**

此練習檔案使用類似的工作流程，展示在從一個曲面將圓 (或表示圓的多邊形) 對映到另一個曲面的設置。此練習檔案使用 *PolygonsToSurface* 節點。

!

#### **03-NurbsCrvsAndSurface**

此範例檔案使用「NurbsCrvToSurface」節點，因此複雜性更高。會將目標曲面偏移指定的距離，並將 NURBS 曲線對映至原始目標曲面與偏移曲面。由此對對映的兩條曲線執行斷面混成以建立曲面，然後增厚該曲面。產生的這個實體具有代表目標曲面法線的波浪線。

!

#### **04-PleatedPolysurface-OffsetPoints**

此範例檔案示範如何將褶狀的 PolySurface 從來源曲面對映到目標曲面。來源曲面與目標曲面分別是跨越格線的矩形曲面與旋轉曲面。

!

來源 PolySurface 從來源曲面對映到目標曲面。

!

#### **05-SVG-Import**

由於自訂節點可以對映不同類型的曲線，因此這最後一個檔案參考從 Illustrator 匯出的 SVG 檔案，並將匯入的曲線對映到目標曲面。

!

剖析整個 .svg 檔案的語法，將曲線從 .xml 格式轉換為 Dynamo polycurve。

!

將匯入的曲線對映到目標曲面。我們可藉此以明確方式 (點選) 在 Illustrator 中設計一個平板化物件，匯入至 Dynamo，然後套用到目標曲面。

!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/zh-tw/6_custom_nodes_and_packages/6-2_packages/3-developing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
