SketchUp không có lệnh fillet hay chamfer tích hợp sẵn. Đây là quyết định có chủ ý của geometry engine: SketchUp được thiết kế để người dùng vẽ từ đầu bằng mặt phẳng và cạnh thẳng — lệnh fillet đòi hỏi thêm mặt mới vào chỗ trước đó không có mặt, khác bản chất so với chỉnh sửa geometry đã tồn tại. Ba công cụ dưới đây giải quyết bài toán này theo ba cơ chế khác nhau, và hiểu tại sao chúng hoạt động như vậy sẽ thay đổi cách bạn dùng chúng.
Nhầm lẫn phổ biến nhất: Soften/Smooth Edges không bo tròn geometry. Nó ẩn đường cạnh và làm mờ chuyển tiếp shading trong viewport, nhưng hai mặt phẳng hai bên vẫn phẳng hoàn toàn. Trong bất kỳ render close-up nào, góc cạnh vẫn sắc vì nó vốn sắc. Bo tròn thật sự đòi hỏi chèn mặt mới giữa hai mặt gốc — mặt cắt arc quét dọc cạnh — đó chính xác là điều ba công cụ dưới đây thực hiện.
Điểm thứ hai hay gây nhầm: bán kính bevel bị giới hạn bởi chiều rộng mặt kề. Nếu bạn cố đặt radius 20 mm lên cạnh tiếp giáp với tấm panel dày 10 mm, geometry bevel không thể fit vào. Mỗi công cụ xử lý xung đột này khác nhau — cái bỏ qua cạnh đó, cái báo lỗi, cái tự clamp radius.
BevelUp — Miễn Phí, Engine TypeScript, Giữ UV
BevelUp là công cụ tôi xây dựng sau khi gặp phải một vấn đề cụ thể: mọi lựa chọn hiện có hoặc yêu cầu mua license, hoặc chạy qua Ruby — đủ chậm trên model phức tạp để phá vỡ feedback loop khi làm việc. Hướng tiếp cận khác: tính toán chạy trong TypeScript bên trong HtmlDialog của SketchUp, kết quả được gửi lại cho Ruby dưới dạng data payload để tạo geometry.
Geometry engine là shapemetry — mesh kernel tôi tự viết. Hàm cốt lõi là bevel(mesh, edges, radius, segments) — nhận mesh, danh sách cạnh được chọn, bán kính, và số segment. Khi segments = 1 ra chamfer phẳng (một mặt nghiêng). Khi segments ≥ 4 ra arc tròn xấp xỉ bằng số đó. Output luôn là triangulated mesh, softening cạnh áp dụng tự động.
Giữ UV (texture) là điểm BevelUp làm được mà không công cụ bo góc miễn phí nào khác làm: trước khi bevel, nó ghi lại 3 điểm anchor UV trên mỗi mặt, tái tạo planar projection qua Gram matrix solve, rồi project UV lên các mặt bevel mới tạo ra. Trong thực tế: vân gỗ tiếp tục chạy qua cạnh được bo tròn thay vì trở thành blank hoặc màu solid. Toán tái tạo xử lý được mọi scale, rotation, offset texture — kể cả material đã chỉnh qua right-click Texture Position.
Ngưỡng auto-soften mặc định 44°. Cạnh nào giữa hai mặt output có góc pháp tuyến ≤ 44° — tức là góc nhị diện ≥ 136° — được đặt soft và smooth tự động. Không cần bước thủ công softening sau operation. Ngưỡng này chưa cho phép điều chỉnh qua dialog (là hằng số trong code), nhưng 44° phủ được hầu hết nội thất và kiến trúc. Radius rất nhỏ với nhiều segment đôi khi cần soften thêm tay trên cạnh chuyển tiếp nếu góc rơi gần ngưỡng.
Các điểm cần biết về BevelUp:
- Yêu cầu SketchUp 2022 trở lên. JavaScript engine trong HtmlDialog của các phiên bản cũ hơn không hỗ trợ ES module mà TypeScript bundle cần.
- Yêu cầu đăng nhập. Cần tài khoản 3dshouse miễn phí để mở khóa tool — không có paywall nào khác. Không có Pro tier, không giới hạn tính năng.
- Output là triangulated. Ruby nhận triangle từ bridge. BevelUp tự ẩn và soften cạnh coplanar giữa chúng nên trông như n-gon trong viewport, nhưng bên trong là triangle. Nếu bạn sau đó dùng mặt bevel làm profile cho Follow Me, lưu ý mặt đó là triangle chứ không phải quad.
- Radius tính theo đơn vị model hiện tại. Radius 5 nghĩa là 5mm nếu model đang dùng mm. Gây nhầm khi file trao đổi giữa workspace mm và inch.
- Group và Component lồng nhau. BevelUp làm việc trong editing context hiện tại. Để bevel cạnh bên trong group, mở group đó trước. Không tự traverse qua hierarchy component từ ngoài vào.
RoundCorner của Fredo6 — Ba Mode, Ruby, Sketchucation
RoundCorner là công cụ bo góc được dùng rộng rãi nhất trong hệ sinh thái SketchUp, phát triển bởi Fredo6 — developer extension nổi tiếng với FredoScale, Curvizard, ThruPaint. Miễn phí, phân phối qua Sketchucation Plugin Store, hỗ trợ SketchUp 2017 đến 2026. Chạy bằng Ruby, tức là tính toán đi qua interpreter của SketchUp — chậm hơn đáng kể so với TypeScript trên mesh phức tạp, nhưng đủ dùng cho nội thất và kiến trúc thông thường.
Điểm khác biệt chính so với BevelUp là toolbar 3 mode:
- Round — fillet tròn cổ điển. Thêm mặt cong (mặt cắt arc ¼ vòng tròn) dọc cạnh chọn. Arc xấp xỉ bằng số segment cấu hình, thường 4–8 cho nội thất, lên đến 24 cho thiết kế organic.
- Bevel — chamfer phẳng. Thêm một mặt nghiêng duy nhất mỗi cạnh, tương đương BevelUp với segments = 1. Tạo cảm giác gia công CNC. Ít mặt hơn Round mode nhiều — quan trọng cho model đi vào workflow CNC khi polygon count ảnh hưởng thời gian tạo toolpath.
- Sharp — không bo tròn. Tái tạo lại geometry góc mà không thêm mặt mới. Hữu ích khi các operation khác để lại stray edge near-zero ở góc và bạn muốn dọn sạch mà không đổi silhouette. Mode này hầu như không được đề cập trong tutorial, nhưng nó giải quyết bài toán cleanup geometry nhanh hơn xóa thủ công.
Giá trị offset là bán kính vòng tròn nội tiếp của hai mặt gặp nhau tại cạnh. Đặt 10mm thì mặt chuyển tiếp nằm cách cạnh gốc 10mm. Giới hạn hình học là khoảng một nửa chiều rộng mặt kề ngắn hơn — vượt quá đó RoundCorner hoặc bỏ qua cạnh yên lặng hoặc báo lỗi tùy mức độ xung đột.
Hệ thống highlight per-edge là lợi thế workflow không có trong BevelUp. Trước khi commit geometry, RoundCorner highlight mọi cạnh đã chọn. Click vào cạnh đang ở preview chuyển nó giữa orange (active) và red (excluded). Cho phép bo tròn 90% cạnh của model trong một lần và giữ một số góc sắc — hữu ích trong tủ nội thất khi cạnh sau và cạnh pocket không bao giờ được nhìn thấy và bo tròn chúng chỉ tăng polygon vô nghĩa.
Các điểm cần biết về RoundCorner:
- Performance Ruby chậm trên mesh lớn. Component với 50.000+ face, vòng xử lý per-edge trong Ruby có thể mất 15–30 giây. BevelUp offload sang TypeScript chạy không block SketchUp UI.
- UV không đảm bảo giữ nguyên. RoundCorner cố transfer material từ mặt kề sang mặt bevel, nhưng UV projection phức tạp (texture đã chỉnh qua right-click Texture Position) có thể không carry đúng. Luôn kiểm tra material sau khi bo tròn model có texture.
- Góc lõm (concave) khác góc lồi (convex). Round mode ở góc concave tạo mặt cong lồi vào trong. Đúng về mặt hình học nhưng trông sai trong nội thất — góc trong tủ thường để sắc. Dùng Bevel mode cho cạnh concave để ra góc trong mitered sạch.
- Yêu cầu LibFredo6. Phụ thuộc vào thư viện shared extension của Fredo6. Cài thủ công bằng .rbz cần cài cả hai file; Sketchucation Plugin Manager tự xử lý dependency này.
Bevel của Mind Sight Studios — $49, Live Bevel Không Phá Hủy Geometry
Bevel của Mind Sight Studios tiếp cận bo góc theo hướng hoàn toàn khác: Live Bevel — bevel non-destructive, áp lên group hoặc component và tự cập nhật khi geometry bên trong thay đổi. Tất cả công cụ còn lại trong bài đều là destructive: sau khi tạo geometry fillet, muốn sửa hình dạng gốc phải undo bevel, sửa mesh, rồi áp lại. Bevel loại bỏ vòng lặp đó.
Bevel có giá $49 cho license vĩnh viễn (dùng thử miễn phí tại mindsightstudios.com) — cao nhất trong bài. Có đáng hay không phụ thuộc workflow: nội thất qua nhiều vòng chỉnh sửa theo feedback khách, model sản phẩm mà geometry gốc còn thay đổi muộn, component parametric cần resize nhiều lần. Với model làm một lần thì BevelUp miễn phí đã đủ.
Điểm mạnh nổi bật:
- Live Bevel — công cụ non-destructive duy nhất trong danh sách. Áp bevel lên group/component một lần, tiếp tục edit geometry bên trong. Di chuyển mặt, push/pull panel, thay đổi tỷ lệ — bevel tự cập nhật. Không công cụ bo góc nào khác cho SketchUp làm được điều này.
- Auto-soften và cleanup tích hợp. Làm mềm cạnh được xử lý tự động sau khi áp bevel — bước mà RoundCorner cần dùng Soften Edges thủ công.
- Dùng thử miễn phí trước khi mua. Test toàn bộ tính năng trên model thật trước khi quyết định bỏ $49.
Hạn chế cần biết:
- $49 — giá cao nhất trong bài. Hợp lý với workflow nhiều vòng chỉnh sửa; khó biện minh cho model làm một lần mà BevelUp miễn phí đã xử lý được.
- UV preservation không có tài liệu. Mind Sight Studios chưa công bố cách bevel faces xử lý UV texture. Nên test trên model có texture trước khi dùng trong workflow nặng về vật liệu.
So Sánh
| BevelUp | RoundCorner | Bevel | Follow Me | |
|---|---|---|---|---|
| Giá | Miễn phí (cần đăng nhập) | $12 (Sketchucation) | $49 (dùng thử miễn phí) | Tích hợp sẵn |
| Engine | TypeScript / shapemetry | Ruby | Ruby | Native C++ |
| Phiên bản SketchUp | 2022+ | 2017–2026 | 2017+ | Mọi phiên bản |
| Mode | Round (qua segments) | Round / Bevel / Sharp | Fillet + Chamfer | Profile tùy chỉnh |
| Giữ UV (texture) | Có — tái tạo planar projection | Một phần — chỉ transfer material | Chưa có tài liệu | Có — native |
| Batch (nhiều cạnh) | Có — theo selection | Có — với per-edge toggle | Có — group/component | Không — từng cạnh một |
| Loại trừ cạnh cụ thể | Chọn cạnh trước khi chạy | Toggle highlight trong preview | Chưa có tài liệu | Không áp dụng |
| Xử lý góc giao nhau | Tự động | Tự động | Tự động | Phải làm thủ công |
| Geometry output | Triangulated, auto-softened | Hỗn hợp (tùy mode) | Live (non-destructive) | Quad / n-gon |
| Performance mesh lớn | Nhanh (JS off-thread) | Chậm hơn (Ruby) | Chưa đo benchmark | Tức thì (native) |
| Profile tùy chỉnh | Không | Không | Không | Có — bất kỳ profile 2D nào |
Nên Chọn Công Cụ Nào
Quyết định phụ thuộc vào bạn đang bo cái gì và model sẽ đi đâu sau đó.
- Nội thất có texture, nhiều cạnh: BevelUp. UV preservation là yếu tố quyết định — chạy RoundCorner trên cánh cửa tủ có texture rồi kiểm tra từng mặt bevel thủ công không khả thi ở quy mô lớn. BevelUp tái tạo projection UV tự động trên mọi cạnh.
- SketchUp 2017–2021 hoặc cần mode Bevel / Sharp: RoundCorner. BevelUp yêu cầu 2022+. Phiên bản cũ hơn hoặc khi cần chamfer phẳng hay Sharp cleanup mode thì RoundCorner là lựa chọn plugin duy nhất.
- Phào chỉ kiến trúc, profile ogee, mặt cắt không phải arc: Follow Me. Không plugin nào tạo được profile custom. Nếu mặt cắt cạnh là bất kỳ thứ gì khác chamfer phẳng hay arc tròn, bạn vẽ tay với Follow Me.
- Model xuất CNC: Dùng Bevel mode (BevelUp với segments=1, hoặc Bevel mode của RoundCorner). Chamfer phẳng tạo một mặt duy nhất với toolpath dự đoán được. Fillet tròn thêm mặt theo tỷ lệ segment count, nhân polygon count trong layout CNC — liên quan khi xuất tấm DXF qua ABF và phần mềm CAM phải xử lý thêm mặt đó.
Mọi plugin trong bài đều xây trên nguyên lý mà SketchUp đã có từ phiên bản 6: công cụ Follow Me. Hiểu Follow Me là context quan trọng để biết tại sao plugin tồn tại — và khi nào có thể bỏ qua plugin hoàn toàn.
Follow Me — Phương Án Native Không Cần Plugin
Follow Me là tool cốt lõi của SketchUp, có sẵn từ phiên bản 6. Nó quét một mặt profile 2D dọc theo một path, khiến nó trở thành lựa chọn đúng đắn khi bạn muốn profile bevel không chuẩn — cove, ogee, bullnose, hay bất kỳ mặt cắt custom nào. Plugin chỉ cho arc tròn hoặc chamfer phẳng; Follow Me cho bạn bất kỳ profile nào bạn vẽ.
Quy trình bo góc chuẩn với Follow Me:
- Chọn cạnh muốn bo.
- Vẽ mặt vuông góc tại một đầu cạnh — thường là mặt vuông nhỏ gắn vào góc.
- Trên mặt đó, vẽ arc profile (Arc tool, hai click cho endpoint, một cho chiều cao arc). Phần arc lồi vào phía trong góc sẽ trở thành geometry bo.
- Xóa phần mặt phẳng, giữ lại chỉ mặt arc.
- Chọn path cạnh trước rồi áp Follow Me (hoặc chọn mặt và để Follow Me tự suy ra path).
- Xóa cạnh sắc gốc và mặt stub ở đầu khởi điểm.
Kết quả là geometry sạch nhất có thể: quad, không triangulated, không stray edge ẩn. Với phào chỉ kiến trúc, profile cạnh nội thất (Roman ogee, cove-and-bead), hoặc bất kỳ trường hợp nào mặt cắt không phải arc đơn giản, Follow Me là công cụ duy nhất xử lý được. Không plugin nào thay thế được nó cho profile custom.
Giới hạn của Follow Me: một lần chỉ một cạnh. Bàn ăn bốn chân mỗi chân 4 cạnh cần bo cần 16 thao tác Follow Me riêng — hoặc dùng component instance khéo léo để áp một lần cho tất cả. BevelUp và RoundCorner xử lý toàn bộ selection trong một lần.
Một điểm tinh tế: Follow Me không luôn đóng kín geometry tại góc giao nhau của nhiều cạnh bo. Ở góc lồi ba cạnh (như góc trên của hình hộp), ba mặt arc quét riêng sẽ để lại khoảng trống tam giác nhỏ hoặc overlap. Plugin tự xử lý corner join này. Với Follow Me, thường cần intersect mặt tay rồi xóa phần thừa ở góc.

English