> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CAD

> 將 Onshape 或 Onshape Government 連接到 Alforse，把物料清單匯入草稿的自製方法，並把已發行的圖面與 CAD 模型附加到既有品項。

CAD 整合把公司連結到 Onshape，讓工程資料不必重新輸入就能進入 Alforse。
工程師用它把組件的物料清單帶入自製方法，管理員則用它讓已發行的圖面與 3D 模型保持附加在對應的品項上。

## 整合的功能

資料單向流動：從 Onshape 到 Alforse。一次連線提供兩項功能。

| 功能 | 作用 | 使用位置 |
| - | - | - |
| 物料清單匯入 | 讀取 Onshape 組件在某個已儲存版本的 BOM，並寫入草稿的自製方法。 | 品項的**物料清單**。請見[匯入物料清單](#import-a-bill-of-materials)。 |
| 已發行資產同步 | 依零件編號比對，把已發行的 Onshape 圖面與 CAD 模型附加到 Alforse 中已存在的品項。它絕不建立品項。 | 整合卡片，開關**同步已發行資產（Sync released assets）**。請見[同步已發行資產](#sync-released-assets)。 |

### 選擇連線類型

Onshape 整合有兩種。它們執行相同的同步，差別只在於授權存取的 OAuth 應用程式由誰擁有。

| 整合 | Id | 授權 |
| - | - | - |
| **Onshape** | `onshape` | 使用 Alforse 的 OAuth 應用程式。你選取**連線**，並在彈出視窗中核准存取。 |
| **Onshape Government** | `onshape-government` | 使用由你的 Enterprise 擁有的私有 OAuth 應用程式，適用於 Onshape 的 ITAR 與 FedRAMP 版本。請見 [Onshape Government](#onshape-government)。 |

一家公司同一時間只能持有一個 Onshape 連線。如果在第一個已安裝時嘗試安裝第二個，Alforse 會拒絕並顯示 *Onshape is already connected*（Onshape 已連線）（或 *Onshape Government is already connected*（Onshape Government 已連線））。請先解除安裝目前的連線。

## 連接 Onshape

兩張 Onshape 卡片都位於**設定 → 整合**的 CAD 類別中。

### 授權連線

在 **Onshape** 卡片上選取**連線**。Onshape 會開啟彈出視窗；請在那裡核准存取。彈出視窗會自行關閉，整合頁面重新載入，卡片顯示為已安裝。

### 開啟已發行資產同步（選用）

開啟卡片並打開**同步已發行資產**。開關開啟後，會出現\*\*回填已發行資產（Backfill released assets）\*\*動作。

## Onshape Government

**Onshape Government** 是 Onshape 的 ITAR 與 FedRAMP 版本。它沒有公開的 App Store，所以你的 Enterprise 要為 Alforse 建立一個**私有 OAuth 應用程式**，並把其憑證輸入 Alforse。連線之後，它支援文件瀏覽、物料清單匯入與已發行資產同步，與 **Onshape** 相同。

### 在 Onshape 中建立私有應用程式

由 Enterprise 管理員開啟 **Enterprise settings → Developer → OAuth applications** 並建立新的 OAuth 應用程式：

* \*\*名稱：\*\*Alforse。給它一個唯一的主要格式（primary format），並將類型設為 **Connected Cloud App**。
* **重新導向 URL（Redirect URL）：**`https://app.alforse.com/api/integrations/onshape-government/oauth`。Alforse 中的 Onshape Government 側邊面板會顯示要貼上的確切重新導向 URL 與 OAuth URL。
* \*\*權限：\*\*授予 **Application can read your profile information**、**Application can read your documents** 與 **Application can write to your documents**。

Onshape 只會顯示一次用戶端密鑰，所以請立刻複製。如果你在 Enterprise 中給 Alforse 支援人員一個席位，支援人員可以協助建立應用程式。

### 在 Alforse 中輸入應用程式的詳細資料

在**設定 → 整合**中開啟 **Onshape Government**。輸入你的 Onshape URL（必須是 `https://` 位址），然後輸入應用程式的用戶端 ID 與用戶端密鑰。

### 核准連線

儲存設定。Alforse 會把你重新導向到 Onshape 核准存取；之後再回到 Alforse。

### Onshape Government 設定

| 設定 | 效果 |
| - | - |
| Onshape URL | 你的團隊登入 Onshape Government 所用的位址。每個 Enterprise 都有自己的位址。 |
| 用戶端 ID／用戶端密鑰 | 你的 Enterprise 私有 OAuth 應用程式的憑證。密鑰以加密方式儲存。欄位留空可保留已儲存的密鑰，或再次輸入以重新連線。 |
| 同步已發行資產 | 運作方式與 **Onshape** 完全相同：已發行的圖面與模型會被拉到相符的品項上。 |

HEADS UP

透過私有應用程式發出的呼叫，會計入你的 Enterprise 的 **Onshape API 年度上限**。瀏覽文件與匯入物料清單各需數次呼叫，但已發行資產同步對每個已發行的版次需要多次呼叫。如果你的額度吃緊，請保持同步關閉。

## 匯入物料清單

安裝 Onshape 連線後，品項的**物料清單**會顯示一張 Onshape 卡片。BOM 一律來自文件的已儲存版本，而不是即時工作區。

1. 用箭頭展開 Onshape 卡片。
2. 選擇**文件**、**版本**與**組件**。
3. 選取**擷取**。Alforse 讀取 Onshape BOM，並將其列在**物料清單**方塊中。其零件沒有零件編號的列會標示 *沒有零件編號*。
4. 選取**儲存**，將這些列寫入自製方法。

第一次儲存之後，卡片會顯示 *Last synced*（上次同步）。選取**重新整理**可重新載入清單。

### 匯入規則

* **僅限草稿。**卡片只在自製方法為**草稿**時才可使用。在啟用中的方法上它會被停用，因為啟用中的方法已在使用。
* **權限。**儲存需要 **parts: update**。
* **完整取代。**儲存會讓方法的各行與 Onshape BOM 完全一致，包含子組件。
* **已發放的子組件。**如果某個子組件的已發放方法與 Onshape 不同，儲存會被拒絕。請為該子組件建立新版本（草稿），然後再次儲存。

## 同步已發行資產

**同步已發行資產**預設為關閉。開啟後，Onshape 會把每次發行通知 Alforse，Alforse 再把已發行的檔案附加到已存在的品項：

| Onshape 發行 | 附加到品項為 |
| - | - |
| 已發行零件或組件的 CAD 模型 | 品項的 3D 模型 |
| 已發行的圖面 | 以零件編號與版次命名的 PDF |

### 品項如何比對

* 零件編號與版次會與品項 ID 比對。
* 編號為 `DRW-<number>` 的圖面會附加到 `PRT-<number>` 或 `ASM-<number>`。
* 如果沒有品項相符，或有多個相符，則不附加任何東西。同步只連結檔案；絕不建立品項。
* 重複同一次發行不會把相同檔案附加兩次。

### 回填既有發行

新的發行會即時同步。若要拉入你開啟同步之前就已發行的資產，請在卡片上選取**回填已發行資產**（僅在同步開啟時出現）。Alforse 隨後會一次為每個相符的品項擷取已發行資產。回填需要 **settings: update** 權限。

資產同步需要 OAuth 應用程式的寫入權限。如果缺少該權限，卡片會要求你重新連線並授予寫入存取。

## 疑難排解

當連線嘗試失敗時，Alforse 會在整合頁面顯示訊息。

| 訊息或症狀 | 原因 | 解決方法 |
| - | - | - |
| *Onshape denied the connection*（寫入權限）（Onshape 拒絕了連線） | Onshape 回傳 `invalid_scope`：OAuth 應用程式缺少 "Application can write to your documents"。 | 在 OAuth 應用程式上授予該權限，然後再次連線。 |
| *Onshape denied the connection*（Onshape 拒絕了連線） | 授權在 Onshape 被拒絕。 | 再次連線。 |
| *The Onshape connection expired*（Onshape 連線已過期） | 登入狀態在你核准之前就逾時了。 | 回到整合頁面並再次連線。 |
| *Onshape rejected the authorization*（Onshape 拒絕了授權） | 以授權碼換取權杖失敗。 | 再次連線。對於 Government，請檢查 Onshape URL 與用戶端密鑰。 |
| *Couldn't save the Onshape connection*（無法儲存 Onshape 連線） | Onshape 已授權存取，但儲存連線失敗。 | 重試。 |
| *Onshape is already connected* ／ *Onshape Government is already connected* | 公司已持有另一個 Onshape 連線。 | 將其解除安裝，然後連線。 |
| 選取**連線**後沒有任何反應 | 瀏覽器封鎖了彈出視窗，所以 Alforse 改為把整個頁面送到 Onshape。 | 允許 Alforse 的彈出視窗並重試。 |

## 相關內容

**品項**

CAD 檔案所附加的零件記錄。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/items.md)

**方法與供應來源**

零件的物料清單如何建立。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/methods.md)

**版次**

為什麼零件的每個版次都是各自獨立的品項記錄。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/items.md#revisions)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.