跳至主要內容
SHAO MEDIA

圖紙先被打開給了機器:CADCraft 的 2D CAD,把控制權設計成另一種介面

從 V2EX 一則開源 2D CAD 軟體 CADCraft 的分享帖看起,觀察一款 Rust 工具如何在繪圖指令、跨平臺輸出與 MCP 控制介面之間被設計成可被腳本操作的圖紙。

科技 設計評論 約 3 分鐘閱讀

本章章節
  1. 設計與美學觀察

10 月 25 日,V2EX 網友 benbond 分享了一個名為 CADCraft 的開源專案。帖子本身寫得節制:一款以 Rust 構建的免費 2D CAD 應用,支援 Windows、macOS、Linux、FreeBSD 與 WebAssembly。功能列表也像一份規格書:LINE、CIRCLE、ARC、OFFSET、TRIM、HATCH、DIM 等繪圖指令,圖層與尺寸標註,DWG 與 DXF 的工作流,以及 PDF、SVG、PNG 三種匯出格式。

傳統 CAD 軟體的介面設計,向來是給「坐在螢幕前、手持滑鼠的人」看的。工具列密、快捷鍵多、指令以選單層層堆疊。AutoCAD 一系把這套邏輯做到了極致,也把學習成本做成了門檻。CADCraft 有趣的地方在於,它在這套給人的介面之外,同時提供了另一套給機器的介面:MCP、JSON 控制,以及無頭 CLI。原文的說法是,腳本或 AI agent 可以藉此建立圖紙、檢查實體、渲染截圖、轉換檔案並驗證結果。

這個選擇值得停下來看。多數開源 CAD 專案在功能清單上比拼的是指令數量與檔案相容性,比的是「能不能畫出那條弧線」。CADCraft 把「建立、檢查、渲染、轉換、驗證」這五個動作明確列為可被外部程式呼叫的能力,等於把一次設計工作流拆成了可組合的步驟,而每個步驟都有回傳結果可供核對。這與我們先前觀察過的smart-excel-mcp 把預覽與發送拆開的流程設計是同一種思路:當工具被設計成可被 AI 讀取的介面,流程裡的每一步都需要留下可檢查的痕跡。

Rust 作為實作語言,在這裡也與設計意圖互相呼應。跨五個平臺加上 WebAssembly,意味着同一套核心邏輯要能在瀏覽器裡跑,也要能在無頭環境裡跑。無頭 CLI 的存在尤其關鍵:渲染截圖這件事脫離了螢幕,變成一種可以被呼叫、被驗證的輸出。圖紙於是有了兩種觀看方式,一種給人,一種給程式。

授權採 MIT 或 Apache-2.0 雙條款,是 Rust 生態系的慣常做法,對想整合進自動化流程的工作者來說,法律上的可用性與技術上的可呼叫性被放在了同等位置。帖子下方僅有一則回覆,問的是專案是否在 GitHub 上,討論尚未展開,實際工作流中的表現也還缺乏可查證的使用回報。

回到設計層面,CADCraft 最值得注意的,是把 CAD 從「一套給工程師的桌面軟體」往「一組可被編排的能力」移了一步。匯出格式選了 PDF、SVG、PNG 而非封閉格式優先,控制介面選了 JSON 而非圖形錄製,這些取捨指向同一種假設:下一批 CAD 的使用者,有一部分會是腳本與代理程式。這個假設會不會成立,得看它能不能撐過真實工作流的檢驗,但方向本身已經足夠清楚。

設計與美學觀察

Design & Aesthetic Observation

本站為設計與美學觀察媒體,從具體物件與畫面讀出設計意圖。內容基於公開可查證之網路來源撰寫,分析與觀點僅代表本站立場。

主題 介面與互動設計、數位文化與科技

標籤 #cadcraft介面與互動設計、#開源cad數位文化與科技、#rust工具介面設計