Cách giảm dung lượng file STL: mỗi tam giác tốn 50 byte

Mở Decimify online (miễn phí) →

File STL nhị phân nặng 84 byte cộng 50 byte cho mỗi tam giác, nên dung lượng chỉ phụ thuộc số tam giác: giảm một nửa tam giác là file nhẹ đi một nửa. Để làm nhẹ, mở file trong Decimify online, kéo slider và nhìn bộ đếm Faces, rồi xuất STL mới. Việc giảm chạy ngay trong tab trình duyệt và model không bị tải lên. Cần tài khoản 3dshouse miễn phí và có 3 lượt xuất miễn phí mỗi ngày; xem trước và kéo slider không bao giờ bị tính lượt.

Decimify online reducing the triangle count of a 3D model in the browser

Điều gì làm STL nặng: 50 byte cho mỗi tam giác

Định dạng này lưu từng tam giác riêng lẻ: một vector pháp tuyến, ba đỉnh dạng số thực 32-bit và trường thuộc tính 2 byte, tổng 50 byte, đứng sau phần đầu 80 byte và 4 byte ghi số tam giác (định dạng file STL). Một đỉnh trên bề mặt trơn thường chung của khoảng sáu tam giác và bị ghi một lần cho mỗi tam giác, nên bề mặt trơn không thể lưu rẻ hơn mức số tam giác cho phép.

Số tam giác STL nhị phân, 84 + 50 × n byte
100.000 5.000.084 byte (5 MB)
500.000 25.000.084 byte (25 MB)
1.000.000 50.000.084 byte (50 MB)
1.600.000 80.000.084 byte (80 MB)

Dòng cuối là giới hạn có thật: hướng dẫn làm nhẹ STL của JLC3DP nói mức tải lên tối đa của họ là 80 MB (nguồn), tương đương khoảng 1,6 triệu tam giác. Công thức đúng tuyệt đối trên file thật: một model mẫu có sẵn trong Decimify có 69.432 tam giác và nặng 3.471.684 byte, đúng bằng 84 + 50 × 69.432.

STL dạng ASCII là loại nặng hơn: mỗi con số được ghi ra thành chữ nên cùng số tam giác chiếm nhiều chỗ hơn. Decimify mở được cả hai loại và luôn ghi STL nhị phân, nên file ASCII nhẹ đi ngay khi xuất, kể cả trước khi bạn giảm gì.

Giảm STL trong bốn bước

  1. Mở decimify.3dshouse.com, đăng nhập bằng tài khoản 3dshouse miễn phí và bấm Choose file để chọn file .stl.
  2. Đợi Preparing simplification… chạy xong. Từ lúc đó mọi mức giữa bản gốc và bản nhẹ nhất đều có sẵn, nên slider kéo tới lui đều tức thì và mức 0 trả về đúng bản gốc.
  3. Kéo slider và xem Faces (hiện tại / ban đầu). Dung lượng file bạn sẽ nhận là 84 + 50 × số Faces hiện tại, tính bằng byte.
  4. Ở mục Export, bấm STL. Mỗi lần xuất STL hoặc GLB tính là một trong 3 lượt xuất miễn phí của ngày.

Giảm tới đâu là vừa? Để đường cong quyết định, không phải một con số phần trăm

Cùng một phần trăm nhưng ý nghĩa khác nhau trên mỗi model, còn thứ bản in lộ ra là bề mặt chia thành tam giác lệch khỏi bề mặt thật bao nhiêu. Một đường tròn bán kính R vẽ bằng n đoạn thẳng lệch tối đa R × (1 − cos(180°/n)), tại giữa mỗi đoạn. Với chi tiết tròn rộng 40 mm (R = 20 mm):

Số đoạn quanh vòng tròn Khe lớn nhất so với đường tròn thật
36 0,076 mm
72 0,019 mm
100 0,0099 mm
180 0,0030 mm

Hãy so con số đó với chiều cao lớp in và đường kính đầu phun: khe chỉ bằng một phần nhỏ của một lớp thì không thể lộ ra, khe cỡ một lớp thì có thể. Giảm từng bước, nhìn các phần cong trong khung xem, rồi xuất bản nhẹ nhất mà đường cong vẫn tròn ở kích thước bạn sẽ in.

Cài đặt quan trọng với STL, và một cái không có tác dụng

  • Preserve creases (bật mặc định) giữ các cạnh sắc không bị làm mượt, nên cạnh của chi tiết dạng hộp vẫn sắc còn phần cong mất bớt tam giác.
  • Lock boundaries (bật mặc định) giữ cố định các đỉnh nằm trên cạnh hở. Model kín (watertight) không có cạnh hở nên cài đặt này không có gì để giữ; bản scan có lỗ thì giữ nguyên viền của từng lỗ.
  • Maintain UV không có tác dụng ở đây. STL không có toạ độ UV, nên cài đặt này vô nghĩa và thông báo “Maintain UV is limiting reduction” không thể hiện ra với STL.

STL không mang được gì, và cách xử lý

  • Không màu, không texture. File STL xuất ra chỉ chứa hình học. Với model có texture, hãy giảm file GLB: bài giảm polygon mà vẫn giữ texture hướng dẫn cách làm.
  • Không có đơn vị. Định dạng không lưu đơn vị nào (“the units are arbitrary”, theo mô tả định dạng), nên hãy mở kết quả trong phần mềm slicer và so kích thước với bản gốc trước khi in.
  • Trục hướng lên. File xuất được ghi theo trục Z hướng lên, quy ước thông thường của STL.

Giới hạn cần biết

  • Slider là mục tiêu; Faces mới là kết quả. Những vùng lưới hỏng hoặc non-manifold không được sửa và phần lớn được để nguyên, nên với file hỏng Faces có thể dừng sớm hơn slider. Hãy sửa file trước rồi mới giảm.
  • Định dạng mở được là GLB và STL. Model ở định dạng khác phải xuất sang một trong hai trước.
  • Còn những cách khác. Reduce của Meshmixer nhắm được theo phần trăm, ngân sách tam giác hoặc độ lệch tối đa, và Reduce của Fusion 360 có các chế độ Tolerance, Proportion và Face Count; còn dịch vụ tải lên rồi nén như Aspose thì tự chọn mức giảm (bài viết của 3D Printerly). Điểm khác của Decimify là slider xem trực tiếp và không có gì rời khỏi trình duyệt của bạn.
  • Giảm STL để nhập vào SketchUp? Xem so sánh các công cụ giảm polygon cho SketchUp.

Câu hỏi thường gặp

Làm sao để đơn giản hóa lưới STL online?

Mở Decimify online, đăng nhập bằng tài khoản 3dshouse miễn phí, chọn file STL, kéo slider cho tới khi bộ đếm Faces hiện số tam giác bạn muốn rồi bấm STL ở mục Export. Việc giảm chạy ngay trong trình duyệt và file không bị tải lên.

Có công cụ đơn giản hóa STL online miễn phí không?

Có. Decimify chạy miễn phí trong trình duyệt với tài khoản 3dshouse và có 3 lượt xuất miễn phí mỗi ngày. Xem trước và kéo slider không bị tính lượt.

Làm sao giảm dung lượng file STL?

STL nhị phân nặng 84 byte cộng 50 byte cho mỗi tam giác, nên cách duy nhất để nhẹ hơn là ít tam giác hơn. Hãy giảm số tam giác bằng công cụ đơn giản hóa rồi xuất lại; STL dạng ASCII cũng nhẹ đi khi lưu sang dạng nhị phân.

Free: limited to 3 exports a day

Pro: unlimited, guaranteed to work, priority support

$64 $32 one-time
Giảm 50%
14-day money-back
Get Pro
Nguyen Huu Khanh

Architect turned developer

Thuê tôi: viết plugin & phần mềm 3D theo yêu cầu. Từ $40/giờ.

khanhnhkts@gmail.com · +642904524504 · WhatsApp