• 沒有找到結果。

實體模型系統(Spring Solid System)資料結構

第一章 緒論

2.1 實體模型系統(Spring Solid System)資料結構

Spring Solid System 以 特 徵 建 模 的 方 式 建 構 實 體 模 型 。 特 徵 建 模 的 流 程,從 最 初 先 依 照 外 形 繪 成 簡 單 的 實 體,接 著 以 此 簡 單 實 體 為 基 礎,逐 步 進 行 各 種 基 本 元 件 或 實 體 引 入 的 工 序,每 一 道 工 序 即 一 個 特 徵,每 個 特 徵 皆 可 搭 配 系 統 中 的 特 徵 管 理 員 進 行 編 修,到 最 後 所 有 特 徵 的 組 合 構 成 最 終 的 實 體 模 型 , 此 流 程 即 特 徵 建 模 。

Spring Solid System 的 資 料 結 構 則 採 用 CSG/B-rep 綜 合 表 示 法 , 用 CSG 表 示 法 記 錄 實 體 模 型 編 輯 之 歷 程 , 並 做 為 資 料 結 構 的 主 幹 , 搭 配 B-rep 表 示 法 儲 存 任 何 過 程 中 新 增 或 引 入 的 基 本 實 體 。 Spring Solid System 的 基 本 架 構 如 圖 2.1 所 示 。

21

CSG Tree Feature Manager

Face Collection Added Face Deleted Face Merged Body

B-rep

Result Body B-rep User Interface

圖 2.1 Spring Solid System 基 本 架 構

以 下 介 紹 系 統 定 義 之 CSG Tree 及 B-rep。

2.1.1

CSG Tree of Spring Solid

CSG Tree 又 稱 布 林 樹 , 將 基 本 元 件 依 照 CSG Tree 所 記 錄 的 歷 程 進 行 布 林 運 算 , 可 得 到 最 終 的 實 體 模 型 。 CSG Tree 以 二 元 樹 的 方 式 呈 現 資 料 結 構,並 記 錄 使 用 者 在 建 構 模 型 過 程 中,所 繪 製 的 凸 塊 (Pad)、

凹 槽 (Pocket)、孔 (Hole)等 基 本 元 件、引 入 的 實 體,以 及 合 併 物 體 等 布 林 運 算 元,其 節 點 可 分 成 兩 種,一 種 用 來 記 錄 布 林 運 算 元 和 布 林 運 算 的 歷 程 資 料 , 稱 為 布 林 樹 節 點 (tree_node); 另 一 種 用 來 存 放 基 本 元 件 的 資 料 , 稱 為 布 林 葉 節 點 (leaf_node)。

如 圖 2.2 所 示 , A、 B、 C 節 點 為 布 林 葉 節 點 (leaf_node), ∪ 、 - 節 點 則 為 布 林 樹 節 點 (tree_node)。

22

圖 2.2 CSG Tree of Spring Solid System

在 程 式 的 實 際 運 作 上 , 可 將 上 述 兩 種 布 林 節 點 視 為 同 樣 類 別 , 差 異 在 於 運 算 元 的 不 同。布 林 樹 節 點 的 運 算 元,是 三 種 基 本 布 林 運 算 元 (聯 集、交 集、差 集 )的 其 中 一 種,布 林 葉 節 點 的 運 算 元 則 是 特 殊 標 記 。 布 林 節 點 於 Spring Solid System 中 所 存 取 的 物 件 資 料 如 表 2.1 所 示 。

表 2.1 布 林 節 點 資 料 項 目 資 料 項 代 表 意 義

up 上 節 點

left 左 節 點

right 右 節 點

operation 運 算 元 primitiveType 後 運 算 類 別

leftDeleted 原 本 物 體 刪 去 的 面 rightAdded 新 物 體 加 進 來 的 面 resultBody 結 果 物 體

其 中 up 、 left 、 right 三 者 用 以 記 錄 布 林 節 點 間 的 相 對 位 置 。 operation 則 依 照 節 點 類 型 的 不 同,布 林 樹 節 點 或 布 林 葉 節 點,分 別 用 以 記 錄 基 本 布 林 運 算 元 或 是 特 殊 標 記 。 primitiveType 則 包 含 兩 種 ,

23

FeatureType 和 BooleanType,用 以 作 為 是 否 需 刪 除 節 點 或 重 新 計 算 的 判 斷 依 據 , 若 為 FeatureType 表 示 可 以 直 接 刪 除 節 點 不 需 重 算 , BooleanType 則 表 示 必 須 重 算 。 leftDeleted 記 錄 布 林 運 算 後 所 被 刪 除 的 面 資 料 , rightAdded 記 錄 布 林 運 算 後 所 被 新 增 的 面 資 料 與 來 源 , 利 用 leftDeleted 和 rightAdded 的 資 料 比 對 , 即 可 修 改 布 林 運 算 子 。 resultBody 則 存 放 完 成 運 算 後 的 物 體 資 料 。

2.1.2

B-rep of Spring Solid System

B-rep 資 料 結 構 分 成 拓 樸 資 料 和 幾 何 資 料 , 其 對 應 關 係 如 圖 2.3 所 示 。

24

圖 2.3 B-rep of Spring Solid System

(1) 拓 樸 資 料

拓 樸 資 料 用 以 記 錄 實 體 形 狀 的 抽 象 資 料 , 依 特 性 不 同 可 分 成 基 本 拓 樸 元 素 和 邊 界 拓 樸 元 素 。

基 本 拓 樸 元 素 :advanced_face、 edge_curve、 vertex_point。

邊 界 拓 樸 元 素 :closed_shell、 face_bound、 oriented_edge。

基 本 拓 樸 元 素 用 以 聯 繫 幾 何 資 料 , 邊 界 拓 樸 元 素 則 用 以 設 定 基 本 拓 樸 元 素 的 邊 界 。

25

(2) 幾 何 資 料

幾 何 資 料 為 表 示 實 體 形 狀 的 具 體 資 料 , 分 類 如 下 : Point: 一 維 空 間 座 標 , 以 座 標 形 式 記 錄 。

Curve:

二 維 曲 線 資 料,依 曲 線 類 型 的 不 同,可 分 成 直 線 (line)、圓 弧 (circle)、

圓 錐 曲 線 (ellipse)與 不 規 則 曲 線 (bspline curve、 bezier curve)。

Surface:

三 維 曲 面 資 料 , 依 曲 面 類 型 的 不 同 , 可 分 成 平 面 (plane)、 圓 柱 面 (cylinder surface)、圓 錐 面 (conical surface)、球 面 (spherical surface)、

環 狀 面 (toroidal surface) 、 不 規 則 曲 面 (bspline surface 、 bezier surface)。

布 林 運 算 處 理 時 , 依 拓 樸 資 料 取 出 所 需 的 幾 何 資 料 , 再 依 運 算 元 經 過 一 連 串 的 新 增 、 刪 除 、 修 改 後 , 依 結 果 重 整 拓 樸 架 構 , 如 此 獲 得 完 整 實 體 。

相關文件