Tiện ích OpenSCAD: Cube bo tròn cạnh (Edge Rounded Cube OpenSCAD Utility)

Module OpenSCAD giúp bo tròn (radius) từng cạnh của cube theo tuỳ chọn, bằng 2 vector 12 phần tử. Có bản đầy đủ kèm hướng dẫn và bản tokenised gọn nhẹ. Kèm routine test dựng mẫu “bar of soap”; nhớ kiểm tra mesh trước khi slice.

👁️
902
Lượt Xem
❤️
3
Lượt Thích
📥
425
Lượt Tải
Cập Nhật Mar 06, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Mình cần thêm vài khối “cube” trong OpenSCAD vào một thiết kế, nhưng mỗi cạnh lại muốn bo (radius) khác nhau. Thế là mình rẽ ngang làm luôn một module tái sử dụng để bo tròn bất kỳ số lượng cạnh nào của một khối cube, mỗi cạnh theo bán kính tuỳ chọn.

Module ercstd.scad (edgeroundcube) có 2 phiên bản: bản chính thì viết đầy đủ, hơi dài dòng, kèm mô tả chi tiết cách dùng và chức năng. Nếu bạn thích file gọn nhẹ thì có erct.scad (edge rounded cube tokenised): toàn bộ biến đã được “tokenise” thành ký tự đơn, xoá hết comment và khoảng trắng, nhưng vẫn chạy y hệt.

Thật ra một “edge rounded cube” tự thân thì không có nhiều ứng dụng (trừ khi làm xúc xắc), nhưng khi là một thành phần trong mô hình phức tạp thì bạn có thể gọi nó với hai vector 12 phần tử, theo cú pháp:

edgeround(x,y,z,vector1,vector2);

Cả hai bản module đều có routine test, bạn có thể bỏ comment để dựng một mẫu “bar of soap” được bo tròn toàn bộ.

Các model trong hình gồm:

  1. một cube chỉ bo tròn 1 cạnh.
  2. một khối block bo tròn toàn bộ các cạnh đứng.
  3. một hình kiểu “smartphone” cho thấy rõ lỗi/hiện tượng artifact dạng tricuspid ở mỗi góc, khi các bán kính ở những cạnh gặp nhau không giống nhau.
  4. một block đã “fettle” với bán kính bo cạnh rất nhỏ; vì tất cả cùng một bán kính nên góc ra rất sạch.
  5. một “bar of soap” nơi mọi cạnh đều được bo lớn và giống nhau, nên các góc thành dạng 1/8 hình cầu (eighth-spherical) hoàn chỉnh.

Lưu ý: do trong quá trình dựng có rất nhiều phép trừ (subtractions), thường sẽ xuất hiện các artifact không mong muốn và có thể không nhìn thấy. Tất cả model nên được kiểm tra độ chính xác mesh và sửa lỗi trước khi đem đi slice.

File erc5.obj vẫn còn 8 cạnh hở (open edges). Các lỗi này thường có thể auto-correct được và có phần mềm để làm sạch mesh (nhưng PrusaSlicer không sửa được model 5).

Mình cũng cần cách tham chiếu đủ 12 cạnh của một “cube”. Để làm vậy thì phải tham chiếu được 8 đỉnh. Mình chọn khái niệm một cube đơn vị (one unit cube) để có thể ghi lại giá trị trục ở từng góc. Góc tại gốc toạ độ sẽ là 000, còn góc xa nhất là 111, rồi những góc còn lại suy ra theo đó.

Sau một lần đi sai hướng (mình đặt tên các cạnh theo hai đỉnh đầu-cuối, làm code cực khó đọc), mình chốt cách đánh số: 1 đến 4 cho các cạnh ở mặt đáy, 5 đến 8 cho các cạnh đứng, và 9 đến 12 cho các cạnh ở mặt trên. Để người dùng theo kịp cách làm này—đặc biệt để có thể chỉnh hai vector 12 phần tử—mình đã viết giải thích đầy đủ trong phần comment của bản scad “verbose”. Hy vọng giúp được bạn. Chúc vui …

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Noncommercial — Share Alike

CC-BY-NC-SA

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Không được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (8 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)