Bài viết Kỹ thuật By Kỹ Thuật Công Nghiệp Ánh Dương

Bài viết Kỹ thuật By Kỹ Thuật Công Nghiệp Ánh Dương

Rhino: MergeAllFaces – Gộp Mặt Phẳng Đồng Phẳng (Có Bài Tập)

MergeAllFaces gộp các mặt phẳng đồng phẳng bị chia nhỏ (thường sau Boolean) thành một mặt liền, làm khối sạch và nhẹ. Trong bài này bạn sẽ tìm hiểu:

  • Vì sao khối bị chia nhỏ mặt
  • MergeAllFaces gộp mặt thế nào
  • Chỉ gộp mặt đồng phẳng liền kề
  • Lợi ích: khối sạch, nhẹ, dễ bo
  • Bài tập làm sạch khối sau Boolean

Và còn nhiều hơn thế nữa…

Sau các phép Boolean hay Split, một mặt phẳng của khối thường bị chia thành nhiều mảnh nhỏ dư thừa, làm khối rối và khó bo cạnh. Lệnh MergeAllFaces gộp các mảnh đồng phẳng lại thành một mặt liền. Bài viết hướng dẫn cách dùng và bài tập làm sạch khối.

Vì sao khối bị chia nhỏ mặt

Khi bạn Boolean hay Split, Rhino cắt các mặt tại đường giao, để lại một mặt phẳng bị chia thành nhiều mảnh dù chúng vốn nằm trên cùng một mặt phẳng. Các đường chia thừa này làm khối rối, nặng và gây khó khi bo cạnh hay tạo bản vẽ.

Đây là hiện tượng bình thường của mô hình bề mặt NURBS sau các phép cắt ghép.

Sau Boolean, mặt phẳng bị chia nhỏ; MergeAllFaces gộp lại thành một.
Sau Boolean, mặt phẳng bị chia nhỏ; MergeAllFaces gộp lại thành một.

Dùng lệnh MergeAllFaces

Gọi lệnh, chọn khối (hoặc cả nhiều khối) rồi Enter. Rhino quét toàn khối và gộp mọi nhóm mặt phẳng đồng phẳng liền kề thành một mặt duy nhất. Số mặt giảm, khối gọn hơn hẳn, thấy rõ ở bảng thông tin.

MergeAllFaces gộp mọi mặt phẳng đồng phẳng liền kề của khối một lần.
MergeAllFaces gộp mọi mặt phẳng đồng phẳng liền kề của khối một lần.

Chỉ gộp mặt phẳng đồng phẳng

MergeAllFaces chỉ gộp các mặt phẳng nằm cùng một mặt phẳng (đồng phẳng) và liền kề nhau. Nó không gộp mặt cong (vì gộp mặt cong dễ đổi hình). Vì vậy đây là thao tác an toàn, không làm thay đổi hình dạng khối, chỉ dọn cấu trúc mặt.

MergeAllFaces chỉ gộp mặt phẳng đồng phẳng liền kề, không đổi hình.
MergeAllFaces chỉ gộp mặt phẳng đồng phẳng liền kề, không đổi hình.

Lợi ích khối sạch

Gộp mặt mang lại nhiều lợi ích: khối nhẹ hơn (ít mặt), FilletEdge chạy trơn hơn (không vướng cạnh thừa), Make2D cho bản vẽ sạch không nét thừa, và render đẹp hơn. Đây là bước dọn dẹp nên làm sau mỗi loạt Boolean.

Gộp mặt giúp khối nhẹ, bo cạnh trơn, bản vẽ và render sạch hơn.
Gộp mặt giúp khối nhẹ, bo cạnh trơn, bản vẽ và render sạch hơn.

MergeFace cho từng cặp

Nếu chỉ muốn gộp hai mặt cụ thể (không phải cả khối), dùng MergeFace chọn từng cặp. Hữu ích khi bạn muốn giữ lại một số đường chia có chủ đích mà chỉ dọn vài chỗ. MergeAllFaces làm tất cả; MergeFace làm chọn lọc.

MergeAllFaces dọn cả khối; MergeFace gộp chọn lọc từng cặp mặt.
MergeAllFaces dọn cả khối; MergeFace gộp chọn lọc từng cặp mặt.

Các lỗi thường gặp

MergeAllFaces không gộp được nếu các mặt không thực sự đồng phẳng (lệch nhẹ do dung sai); khi đó dùng RebuildEdges hoặc kiểm tra lại. Nó cũng không gộp mặt cong nên đừng mong nó dọn được mặt trụ bị chia. Với khối lỗi, sửa lỗi trước khi gộp.

Mặt lệch nhẹ hay khối lỗi khiến MergeAllFaces không gộp được.
Mặt lệch nhẹ hay khối lỗi khiến MergeAllFaces không gộp được.

Kết hợp trong quy trình

Nên đưa MergeAllFaces vào cuối quy trình dựng khối: sau khi Boolean và trước khi bo cạnh, Make2D hay xuất file. Kết hợp với Purge (dọn dữ liệu thừa) và SelBadObjects (kiểm tra lỗi), bạn có một khối sạch hoàn chỉnh.

MergeAllFaces là một bước trong quy trình dọn khối sau Boolean.
MergeAllFaces là một bước trong quy trình dọn khối sau Boolean.

Các ứng dụng thực tế

MergeAllFaces dùng để dọn khối sau khi ghép nhiều chi tiết bằng Boolean, làm sạch khối nhập từ file có nhiều mặt vụn, chuẩn bị khối trước khi bo cạnh hàng loạt, và tối ưu khối trước khi xuất cho gia công. Nó là bước vệ sinh khối tiêu chuẩn.

MergeAllFaces dọn khối sau Boolean, làm sạch khối nhập và tối ưu xuất.
MergeAllFaces dọn khối sau Boolean, làm sạch khối nhập và tối ưu xuất.

Bài tập bước 1: tạo khối nhiều mặt

Bây giờ hãy tự làm. Dựng một hộp lớn 100x100x40, rồi BooleanDifference vài trụ nhỏ xuyên qua mặt trên. Sau Boolean, mặt trên hộp bị chia thành nhiều mảnh quanh các lỗ. Đây là khối cần dọn.

Bài tập bước 1: Boolean khoét lỗ khiến mặt trên hộp bị chia mảnh.
Bài tập bước 1: Boolean khoét lỗ khiến mặt trên hộp bị chia mảnh.

Bài tập bước 2: gộp và kiểm tra

Gọi MergeAllFaces, chọn khối. Các mảnh mặt trên gộp lại thành một mặt phẳng liền (chừa các lỗ). Xem bảng thông tin: số mặt giảm rõ. Giờ FilletEdge cạnh trên chạy trơn tru vì không còn cạnh thừa. Khối đã sạch.

Bài tập bước 2: MergeAllFaces gộp mặt, số mặt giảm, bo cạnh trơn hơn.
Bài tập bước 2: MergeAllFaces gộp mặt, số mặt giảm, bo cạnh trơn hơn.

Mẹo dùng MergeAllFaces

Để giữ khối luôn sạch, hãy ghi nhớ các nguyên tắc dưới đây, đặc biệt là gộp mặt sau mỗi loạt Boolean.

Năm mẹo giúp giữ khối sạch bằng MergeAllFaces sau các phép Boolean.
Năm mẹo giúp giữ khối sạch bằng MergeAllFaces sau các phép Boolean.