指南

單位:OBJ 轉 STL 時的毫米與公尺

更新 · 僅網格 OBJ 到 STL

STL 沒有內嵌單位。弄清模型為什麼會大或小 1000×,查看包圍盒,並在瀏覽器裡選取 mm 再轉換。

切片前攔住 1000× 的尺寸錯誤

確定 OBJ 裡一個單位是什麼,縮進毫米,下載 STL 前確認包圍盒。

  1. 步驟 1

    說出 OBJ 的單位

    確定 OBJ 裡一個座標單位是毫米、公分、公尺還是英吋。檔案不會替你標出來。

  2. 步驟 2

    在轉換裡選這個單位

    選對應的選項。毫米是預設,乘數是 1。公分乘 10,公尺乘 1000,英吋乘 25.4。

  3. 步驟 3

    用毫米讀包圍盒

    和你知道的尺寸比。40 mm 的零件不該讀成 40 公尺,也不該讀成 0.04 mm。

  4. 步驟 4

    尺寸看起來對了再下載

    儲存二進位 STL,並在切片器裡確認同樣的毫米。不要再疊一層 1000% 的縮放。

STL 是帶座標和面法線的三角形列表。它沒有單位欄。數字 10 可能是 10 毫米,也可能是 10 公尺。程式用習慣填上這段沉默。FDM 切片器幾乎總把一個單位當成一毫米。建模軟體常常不是這樣。兩種習慣之間的空隙,會讓鑰匙圈變成一間房那麼大的零件,或讓一間房大的道具變成熱床上的一粒點。

1000× 的情況

一公尺是 1000 毫米。如果 OBJ 把 0.08 公尺的公仔存成數字 0.08,而你把轉換留在毫米,STL 仍然是 0.08。切片器會打出 0.08 mm。你在平台上找不到它。反過來才是人們記得住的檔案:按「1 單位 = 1 公尺」建的物件匯出成數字 1,再被讀成 1 mm,就會極小;有人把公尺場景的原始數字不縮放就匯出,座標已經是幾千,物件就會巨大。

如果 OBJ 確實是公尺,把單位選單設成公尺。轉換在寫 STL 之前把每個座標乘以 1000。0.08 個模型單位變成 80 mm。包圍盒隨後應該在你期待的軸上讀出大約 80 mm。這個盒子就是這個控制的全部意義。沒有測量的單位選單,是你看不見的猜測。

公分是 10× 的親戚。按公分做的建築網格,留在毫米上,會打成預定尺寸的十分之一。英吋乘以 25.4。2 英吋的零件留在毫米上,會變成 2 mm 的零件。這些倍數事後都不會存在 STL 裡。它們被烤進座標。改主意就再轉換一次。不要留著錯誤檔案,在腦子裡「記住」縮放。

一公尺等於一千毫米,以及切片器假設毫米時這個比例如何出現的圖

算例:10 單位的範例立方體

內建範例是一個 10×10×10 的立方體(每條軸的座標從 −5 到 5)。選取 毫米 且縮放為 1 時,包圍盒大約讀作 10 × 10 × 10 mm。選取 公尺 時,每個座標都乘以 1000,於是同一個立方體大約讀作 10000 × 10000 × 10000 mm(每條邊 10 m,線性上是 1000× 的跳躍)。單位選單就是做這件事的。等盒子和你要的尺寸一致後再下載。

怎麼判斷你手裡是哪種單位

找一個你已經知道的尺寸。應該是 40 mm 的微縮模型底座,應該寬 80 mm 的手機支架,應該是 5 mm 的支架孔。選取毫米放下 OBJ,讀包圍盒。已知的那條邊對了,就結束。如果大約小了 1000×,檔案是公尺。大約小了 10×,試公分。大約小了 25.4×,試英吋。

Blender 的場景單位是線索,不是證據。有人把場景設成公尺,然後輸入「40」時想的是毫米,或者相反。匯出器寫下它有的數字。本站的單位選單問的是那些數字是什麼意思,這不總是場景面板說的那樣。兩者不一致時,相信一個已知的毫米測量。

匯出前在 Blender 裡套用物件縮放。物件上 0.01 的縮放可以把單位換算藏在物件變換裡。如果那個縮放沒套用,你在這裡「修好」單位仍然可能是錯的,因為頂點從來沒有檢視畫面暗示的那麼大。套用縮放,匯出一份新的 OBJ,再轉換那個檔案。

轉換上的額外縮放是另一個旋鈕。它是單位換算之後的乘數。只是把公尺翻譯成毫米時,把它留在 1。想故意做配合調整時用 1.05 或 0.98,並把這個選擇寫下來。用額外縮放來表示「這個檔案是公尺」會讓你下周糊塗。公尺這個選項已經是那個意思。

熱床、軸,以及切片器裡的第二次縮放

Y 朝上和 Z 朝上改變的是哪根軸是高度。它不該改變立方體最長的那一邊,但會改變公仔上哪個數字是 Z。先選朝上軸,再讀高度,不要反過來。把網格放到熱床上會移動 Z,讓最小值變成 0。它不改變零件尺寸。高度錯了,熱床位移修不好。

縮放只在一個地方做。如果在這裡選了公尺,就不要在 Cura 裡再輸入 1000%。兩處修正會相乘。乾淨的路徑是:本頁選對單位,額外縮放 1,然後切片器保持 100%,除非你是在按自己理解的收縮來調整。把切片器報告的尺寸和包圍盒對一下。它們應該一致。

檔案裡仍然不會有的東西

縮放正確之後,STL 仍然沒有單位。別的程式仍可能讀錯。縮放不改變三角形數量:12 個三角形的立方體,在 10 mm 或 10 m 時仍然是 12 個三角形。縮放不加細節,也不補洞。1000× 的尺寸錯誤和破掉的外殼是兩件事。二進位與 ASCII 的選擇也不改變尺寸。ASCII 不是更精確的單位制。它只是把同樣的角點寫成文字。

如果想要圍繞這次檢查的 Blender 逐步點擊,用 如何 OBJ 轉 STL。數字看起來對了,你在決定要不要留來源檔時,用 OBJ 與 STL。

問題

為什麼預設是毫米?

用於 FDM 列印的切片器,包括 Bambu Studio、Cura 和 PrusaSlicer,通常把 STL 座標當成毫米。跟上這個預設,可以避免常見情況下被悄悄重縮放。

Blender 場景寫的是公尺,但我是按毫米建的。選哪個?

如果兩者不一致,選和檔案裡的數字一致的單位,而不是場景面板上的標籤。你知道是 40 mm 的 40 單位底座就是毫米,哪怕場景單位顯示寫著公尺。

STL 會記下我選了毫米嗎?

不會。檔案只存座標。這個選擇會改變數字。然後切片器假設是毫米。包圍盒就是你看見這個選擇的方式。

選取毫米再轉換