Ở xưởng, chuyện khách gửi file STL qua Zalo rồi hỏi “in được luôn không anh” xảy ra mỗi ngày. Phần lớn file in được. Nhưng cứ khoảng vài file lại có một file mở lên thấy lạ: slicer báo vàng, lớp in bị khuyết một mảng, hoặc mô hình 20 cm bỗng nhỏ như hạt đậu. Những lỗi đó gần như không bao giờ nằm ở máy in. Nó nằm ở chính file.
Bài này gom lại những lỗi file STL mà thợ in 3D gặp nhiều nhất, giải thích vì sao nó sinh ra, và cách sửa bằng các phần mềm miễn phí hoặc có sẵn trên máy. Cuối bài có một checklist ngắn để bạn tự kiểm tra trước khi gửi file đặt in. Nếu bạn chưa rõ STL khác file CAD thế nào, nên đọc trước bài file STL và file CAD khác nhau ở đâu, vì hiểu bản chất lưới tam giác thì sửa lỗi sẽ dễ hơn nhiều.

Vì sao file STL hay bị lỗi?
File STL không lưu đường cong. Nó chỉ lưu một đống tam giác nhỏ ghép lại thành bề mặt. Khi bạn xuất từ SolidWorks, Fusion 360 hay Rhino, phần mềm phải “chặt” các mặt cong mượt thành tam giác. Formlabs có một hình ảnh so sánh khá dễ nhớ: việc chuyển sang mesh giống như đập vỡ một tấm gương phẳng rồi dán lại từng mảnh cho giống ban đầu. Dán khéo thì không ai nhận ra. Dán vụng thì có khe hở, có mảnh chồng lên nhau, có mảnh lật ngược.
Có ba nguồn gây lỗi chính mà mình hay gặp:
Thứ nhất là file tải từ mạng. Prusa Research nói thẳng trong tài liệu hướng dẫn của họ rằng rất nhiều mô hình 3D trên internet bị hỏng theo cách này hay cách khác. Người làm mô hình để render đẹp thì không cần file kín, nhưng máy in thì cần.
Thứ hai là file scan 3D. Dữ liệu quét luôn có chỗ máy không nhìn tới, ví dụ khe sâu, mặt đáy, vùng bóng. Kết quả là mesh bị lủng nhiều lỗ nhỏ. Bạn có thể xem thêm cách xử lý dữ liệu này ở bài quét mẫu 3D và xử lý dữ liệu scan 3D.
Thứ ba là file dựng bằng phần mềm đồ họa như Blender, ZBrush, SketchUp. Người dựng hay ghép nhiều khối lại với nhau mà không gộp (Boolean), hoặc dùng mặt phẳng không có độ dày để làm lá cây, cánh mỏng.
Lỗi 1: Non-manifold, file không kín nước
Đây là lỗi phổ biến nhất và cũng gây khó chịu nhất. Một mesh muốn in được phải “watertight”, tức kín như một quả bóng bơm nước, không có chỗ nào rò ra ngoài.
Tài liệu Blender giải thích quy tắc rất gọn: mỗi cạnh (edge) phải nối với đúng 2 mặt. Nếu cạnh chỉ nối 1 mặt, nghĩa là có lỗ. Nếu nối 3 mặt trở lên, cũng không hợp lệ. Cả hai trường hợp đều gọi là non-manifold edge.
Khi file bị non-manifold, slicer không biết đâu là bên trong, đâu là bên ngoài. Hậu quả bạn thấy trên bản in là lớp bị mất, có đường chạy nhựa lung tung xuyên qua khoảng trống, hoặc slicer tự bỏ qua cả một vùng.
Cách sửa: trong Blender, bật add-on 3D Print Toolbox (có sẵn, chỉ cần bật trong Preferences). Vào Sidebar, tab 3D-Print, bấm Check All. Kết quả ở mục Solid sẽ đếm số cạnh non-manifold. Ở Edit Mode, bấm vào kết quả để chọn đúng vùng lỗi, rồi bấm Make Manifold trong mục Clean Up. Lệnh này cố gắng sửa normals sai, lấp lỗ và xóa các cạnh, mặt rỗng.
Với Meshmixer, vào Analysis, chọn Inspector. Phần mềm sẽ cắm cờ màu lên từng chỗ lỗi. Bạn có thể bấm từng cờ để sửa riêng hoặc bấm Auto Repair All.

Lỗi 2: Lỗ thủng trên bề mặt (holes)
Thật ra lỗ thủng là một dạng của non-manifold, nhưng mình tách riêng vì cách xử lý khác nhau tùy kích thước lỗ.
Lỗ nhỏ, nằm trên mặt phẳng hoặc mặt cong nhẹ thì cứ để phần mềm tự lấp. Hầu như phần mềm nào cũng làm tốt.
Lỗ lớn, nằm ở vùng cong phức tạp như má tượng, vai mascot, thì phải cẩn thận. Lấp tự động thường cho ra một mặt phẳng dẹt, nhìn rất “giả”. Trong Meshmixer, theo hướng dẫn của Formlabs, bạn chọn vùng quanh lỗ rồi dùng Edit, Erase and Fill, chỉnh kiểu Smooth MVC để có mặt lấp liền mạch hơn. Sau đó dùng cọ RobustSmooth quét nhẹ cho vùng vá hòa vào xung quanh.
Có một cách “mạnh tay” hơn là Make Solid trong Meshmixer. Lệnh này dựng lại toàn bộ khối thành một vật thể đặc, kín. Prusa đánh giá cách này gần như lúc nào cũng thành công, nhưng đổi lại mất độ phân giải. Với chi tiết lắp ráp cần kích thước chuẩn, mình không khuyên dùng Make Solid vì cạnh sắc sẽ bị bo tròn.
Lỗi 3: Pháp tuyến ngược (flipped normals)
Mỗi tam giác có một hướng gọi là normal, chỉ ra phía nào là mặt ngoài. Khi vài tam giác bị lật, phần mềm hiểu nhầm đó là mặt trong. Blender gọi lỗi này là Bad Contiguous edges: khi normal của một mặt chỉ khác hướng với các mặt bên cạnh.
Dấu hiệu dễ nhận: mở file trong slicer thấy vài mảng màu tối hoặc đỏ lạ, hoặc khi cắt lớp thấy vùng đó bị coi là rỗng.
Cách sửa nhanh nhất trong Blender: vào Edit Mode, chọn hết (A), rồi Mesh, Normals, Recalculate Outside (Shift + N). Với file nhỏ, Microsoft 3D Builder cũng tự sửa normals khi bạn bấm vào thông báo lỗi lúc mở file.

Lỗi 4: Mặt chồng, khối giao nhau, mảnh trôi nổi
Lỗi này hay gặp ở file dựng từ nhiều khối. Ví dụ người thiết kế làm thân robot, rồi đặt cánh tay vào, đầu vào, nhưng không gộp lại. Kết quả là nhiều lớp vỏ (shell) xuyên qua nhau. Một số file còn có tam giác lơ lửng nằm ngoài vật thể, hoặc mặt bị nhân đôi chồng khít lên nhau.
Blender có mục kiểm tra Intersections cho các mặt giao nhau, và tài liệu của họ cũng nói thật là một số slicer tự xử lý được nên không phải lúc nào cũng bắt buộc sửa. Tuy vậy, với máy in resin SLA hay máy bột MJF, mình vẫn khuyên gộp lại cho sạch, vì phần mềm chuẩn bị in công nghiệp thường khắt khe hơn.
Trong Meshmixer, quy trình Formlabs mô tả là: Edit, Separate Shells để tách các khối, mở Object Browser, chọn từng cặp rồi bấm Boolean Union. Nếu Boolean báo đỏ là thất bại, thử tăng Search Depth, giảm Target Edge Scale, hoặc dịch một khối đi vài phần trăm milimet rồi gộp lại. Mẹo dịch nhẹ này nghe hơi buồn cười nhưng hay được việc.
Mảnh trôi nổi thì đơn giản: Auto Repair All của Meshmixer sẽ xóa. Trong MeshLab có lệnh Split in Connected Components để tách ra xem rồi xóa phần thừa.
Còn mặt suy biến (degenerate), tức tam giác có diện tích bằng 0 hoặc cạnh dài bằng 0, Blender phát hiện ở mục Degenerate và sửa bằng Merge, By Distance.
Lỗi 5: Thành quá mỏng
Đây là lỗi không làm slicer báo đỏ nhưng làm hỏng bản in nhiều nhất. Mô hình kín hoàn toàn, normals đúng hết, nhưng có chỗ dày 0,3 mm. Máy FDM với đầu phun 0,4 mm không thể đùn ra một đường nhựa mỏng hơn đầu phun. Slicer sẽ bỏ qua vùng đó, và bạn nhận về một chiếc lá có lỗ, hoặc một cái gờ biến mất.
Blender có mục Thickness đánh dấu các mặt tạo thành hình khối quá mỏng mà slicer có thể bỏ sót, và mục Edge Sharp cho các cạnh sắc gây mỏng tương tự.
Bao nhiêu thì đủ dày tùy công nghệ in. Chuyện này mình không nhắc lại chi tiết ở đây vì đã có bài thiết kế 3D để in 3D theo nguyên tắc DfAM nói kỹ cho từng loại FDM, SLA, MJF, SLM. Điểm cần nhớ khi sửa file là: thành mỏng thì phải làm dày trong phần mềm (Meshmixer có Edit, Offset hoặc Extrude; Blender có Solidify modifier), không có nút “auto repair” nào làm thay được. Với mặt phẳng không độ dày như lá, cờ, tóc, Solidify là cách nhanh nhất.
Muốn biết thêm về dung sai thực tế từng công nghệ đạt được, bạn tham khảo bài độ chính xác và dung sai in 3D bên CT3D Group.

Lỗi 6: Sai đơn vị, mô hình to gấp 25 lần hoặc nhỏ như hạt gạo
STL không lưu đơn vị. Nó chỉ lưu con số. Phần mềm đọc file tự hiểu đó là milimet. Nếu người thiết kế làm bằng inch, chi tiết 4 inch (khoảng 101,6 mm) sẽ mở ra thành 4 mm. Ngược lại, người làm theo mét trong phần mềm kiến trúc, xuất ra 1,2 sẽ thành 1,2 mm thay vì 1,2 m.
Dấu hiệu là kích thước lệch theo tỷ lệ tròn: 25,4 lần (inch sang mm), 10 lần (cm), 1000 lần (m). Gặp tỷ lệ như vậy thì gần như chắc chắn là lỗi đơn vị chứ không phải người ta thiết kế sai.
Cách sửa: trong PrusaSlicer hay Bambu Studio, khi mở file quá nhỏ, phần mềm thường hỏi có muốn hiểu file theo inch không. Bấm đồng ý là xong. Nếu không có thông báo, scale thủ công theo đúng hệ số. Trong Blender, mục Transform của 3D Print Toolbox có Scale To Bounds, cho phép đặt kích thước trục lớn nhất về đúng con số bạn cần.
Mẹo nhỏ: khi gửi file đặt in, ghi kèm một kích thước tổng (ví dụ “cao 180 mm”). Thợ in chỉ cần nhìn là biết file có bị lệch đơn vị không.

Lỗi 7: Lưới quá dày, file nặng vài trăm MB
File scan 3D hoặc file điêu khắc từ ZBrush có thể chứa hàng triệu tam giác. Nhìn thì mịn, nhưng file nặng 300 – 500 MB, mở chậm, slicer treo, gửi qua mạng mất cả buổi. Trong khi đó máy in, nhất là FDM, không thể tái hiện chi tiết nhỏ hơn độ phân giải của nó.
Cách xử lý là giảm số tam giác (decimate) mà giữ hình dạng. Formlabs giới thiệu lệnh Quadratic Edge Collapse Decimation trong MeshLab, có tùy chọn Planar Simplification để giữ mặt phẳng tốt. Blender có Decimate modifier. Meshmixer có Reduce.
Ngoài ra, Formlabs khuyên lưu STL dạng Binary thay vì ASCII vì file nhỏ hơn đáng kể. Đây là tùy chọn có sẵn khi xuất file trong hầu hết phần mềm CAD, nhiều người không để ý.
Chọn phần mềm nào để sửa file STL?
Không có phần mềm nào sửa được mọi file. Prusa cũng thừa nhận: lúc thì cách này được, lúc thì cách kia, tùy từng mô hình. Dưới đây là cách mình chọn ở xưởng.
Microsoft 3D Builder là lựa chọn dễ nhất nếu bạn dùng Windows. Mở file, nếu có lỗi phần mềm sẽ hiện thông báo, bấm vào là nó tự sửa. Hợp với người không chuyên, file đơn giản. Prusa đánh giá đây là công cụ rất dễ dùng, nhưng chỉ có trên Windows.
PrusaSlicer tự sửa mô hình ở mức cơ bản khi nhập file. Trên Windows, nó còn có tùy chọn “Fix by Netfabb” khi bạn bấm chuột phải vào biểu tượng cảnh báo cạnh tên mô hình. Với người in FDM, đây thường là bước đầu tiên nên thử.
Meshmixer là công cụ Formlabs xếp hạng đầu trong bài so sánh của họ, vì giao diện dễ dùng mà vẫn đủ lệnh cho lỗi phức tạp: Inspector, Make Solid, Bridge, Remesh, Boolean. Phần mềm miễn phí, hợp với người làm mỹ thuật, figure, tượng.
Blender với 3D Print Toolbox mạnh và miễn phí, nhưng giao diện khó với người mới. Hợp với ai đã quen dựng hình trong Blender.
Netfabb và Materialise Magics là phần mềm cho kỹ sư, có phân tích độ dày thành, khoét rỗng, xếp chi tiết trong buồng in. Magics là bản trả phí, dùng nhiều trong in 3D công nghiệp. Formlabs cũng cho biết phần mềm PreForm của họ đã tích hợp chức năng sửa tự động của Netfabb.
MeshLab nhẹ, mạnh về xử lý dữ liệu scan và giảm lưới, nhưng sửa lỗi thì hạn chế và không có nút Undo. Formlabs nhắc phải lưu file sau mỗi thao tác quan trọng, nếu không sai là phải nhập lại từ đầu.

Quy trình sửa file STL theo thứ tự
Thứ tự làm quan trọng hơn bạn nghĩ. Làm sai thứ tự có thể khiến lỗi này sinh ra lỗi khác. Mình tham khảo quy trình Formlabs mô tả và rút gọn lại theo kiểu thợ xưởng:
- Chạy auto repair trước để xử lý các lỗi lặt vặt.
- Tách và gộp các shell: xóa mảnh trôi nổi, gộp các khối giao nhau bằng Boolean.
- Lấp lỗ, nối khe hở. Lỗ lớn ở vùng cong thì lấp thủ công.
- Xử lý mặt chồng, mặt giao nhau, mặt trùng, đỉnh trùng, normals ngược.
- Kiểm tra độ dày thành, làm dày chỗ mỏng.
- Giảm lưới nếu file quá nặng.
- Kiểm tra lại kích thước và đơn vị.
- Xuất STL dạng Binary, hoặc 3MF nếu muốn giữ thêm thông tin.
Sau bước 8, mở lại file bằng một phần mềm khác (ví dụ sửa trong Meshmixer thì mở kiểm tra bằng slicer). Nhìn bằng hai “con mắt” sẽ bắt được lỗi mà một phần mềm bỏ qua.

Checklist 5 phút trước khi gửi file đặt in
Nếu bạn không muốn học sửa file, chỉ cần làm năm việc này trước khi gửi cho xưởng in:
- Mở file trong slicer hoặc 3D Builder, xem có cảnh báo lỗi không.
- Đo kích thước tổng, so với kích thước bạn muốn.
- Xoay mô hình, tìm chỗ nào mỏng như tờ giấy.
- Nếu có nhiều chi tiết lắp ghép, xuất mỗi chi tiết một file riêng, đặt tên rõ ràng.
- Ghi chú công nghệ mong muốn (FDM, resin, nylon) và mục đích dùng (trưng bày, lắp thử, làm mẫu khuôn).
Câu cuối nghe đơn giản nhưng rất quan trọng. Cùng một file, in để trưng bày thì lỗ nhỏ có thể bỏ qua. In để làm mẫu gốc cho khuôn silicon thì từng vết lủng sẽ in hằn lên mọi sản phẩm đúc ra sau này. Nếu bạn cần chọn công nghệ, bài so sánh công nghệ in 3D SLA, FDM, SLS, SLM sẽ giúp bạn quyết định nhanh.
Khi nào nên nhờ người khác sửa?
Có những file sửa mãi không được. Thường là file scan có hàng trăm lỗ, file điêu khắc bị giao nhau chằng chịt, hoặc file cần chỉnh kích thước lắp ghép chính xác. Lúc đó, thay vì vá mesh, cách đúng là dựng lại mô hình CAD từ dữ liệu cũ. Việc này thuộc về thiết kế ngược. Nếu chi tiết gốc đã gãy hoặc mòn, bạn có thể đọc thêm bài thiết kế ngược chi tiết gãy, mòn trong loạt bài mới của Chuyên Tạo Mẫu.
Với người đặt in, nhiều xưởng có kiểm tra file miễn phí trước khi báo giá. Đội kỹ thuật của CT3D cũng làm vậy: nhận file, kiểm tra, báo lỗi nếu có, và nếu cần thì nhận thiết kế 3D theo yêu cầu hoặc dựng lại file từ mẫu thật. Bạn có thể xem thêm danh sách công nghệ in tại dịch vụ in 3D của CT3D Group, hoặc bài in 3D theo yêu cầu tại TP.HCM.

Sau khi in xong, bản in còn phải qua chà nhám, sơn lót, sơn màu mới ra sản phẩm đẹp. Phần này mình viết riêng trong bài hậu xử lý bản in 3D. Với các chi tiết resin khổ lớn, bạn tham khảo thêm dịch vụ in 3D SLA khổ lớn.
Câu hỏi thường gặp
Slicer không báo lỗi thì file có chắc chắn ổn không?
Chưa chắc. Slicer hiện nay khá “dễ tính” và tự sửa nhiều lỗi mà không nói gì. Nhưng nó không cảnh báo thành mỏng hay sai đơn vị. Hãy luôn xem bản xem trước lớp (preview) trước khi in, kéo thanh lớp lên xuống để tìm chỗ bị khuyết.
Make Solid trong Meshmixer có nên dùng không?
Dùng được cho tượng, figure, mô hình trưng bày vì nó gần như luôn cho ra khối kín. Không nên dùng cho chi tiết cơ khí, vì lệnh này dựng lại lưới nên làm mất độ sắc cạnh và sai lệch kích thước nhỏ.
File của tôi nặng 400 MB, có cần giảm không?
Nên giảm. Với hầu hết bản in, giảm xuống vài chục MB không làm mất chi tiết nhìn thấy được. Nhớ lưu một bản gốc trước khi giảm lưới, phòng khi cần dùng lại.
Nên gửi file STL hay STEP cho xưởng in?
Nếu chỉ in, STL hoặc 3MF là đủ. Nếu có khả năng cần chỉnh kích thước, khoan lỗ, đổi kết cấu, hãy gửi kèm STEP. Xưởng sửa trên STEP chính xác và nhanh hơn nhiều so với vá mesh.
File scan 3D có in thẳng được không?
Được nếu file đã được xử lý kín và sạch. File scan thô hầu như luôn có lỗ, nên cần qua bước xử lý dữ liệu trước. Nếu bạn quét vật bóng hoặc trong suốt, lỗi còn nhiều hơn, xem bài scan 3D vật bóng, trong suốt, màu đen.
Cần kiểm tra file trước khi in, sửa file lỗi hoặc dựng lại mô hình từ mẫu thật, bạn liên hệ CT3D qua hotline/Zalo 0975 008 728. Gửi file kèm kích thước mong muốn và mục đích sử dụng để được báo giá nhanh.
Nguồn tham khảo
- Blender Foundation, 3D Print Toolbox, Blender 4.1 Manual: https://docs.blender.org/manual/en/4.1/addons/mesh/3d_print_toolbox.html
- Formlabs, How to Repair STL Files for 3D Printing With the 5 Best (Free) STL Repair Tools (2023): https://formlabs.com/blog/best-stl-file-repair-software-tools/
- Prusa Research, Corrupted 3D models for printing, Prusa Knowledge Base: https://help.prusa3d.com/article/corrupted-3d-models-for-printing_2205