Mở đầu về ứng dụng OpenSCAD và thiết kế mô hình 3D
Bài viết giới thiệu ứng OpenSCAD, nhấn mạnh khả năng của nó trong việc mô hình hóa 3D bằng ngôn ngữ lập trình thận thiện, đồng thời đưa ra một vài ví dụ minh hoạ thiết kế các mô hinh 3D.

1. Giới thiệu OpenSCAD
OpenSCAD là một phần mềm mã nguồn mở dùng để thiết kế mô hình 3D bằng cách viết mã lệnh thân thiện thay vì thao tác trực tiếp bằng chuột. Điểm đặc biệt của OpenSCAD so với các phần mềm CAD phổ biến (như Fusion 360, SolidWorks, Blender) là nó mang tính khai báo hình học dựa trên ngôn ngữ lập trình. Người dùng mô tả đối tượng 3D thông qua mã lệnh, với các khối lệnh cơ bản như:
- cube(), sphere(), cylinder() để tạo hình khối sơ cấp,
- translate(), rotate(), scale() để biến đổi đối tượng,
- union(), difference(), intersection() để kết hợp hay trừ khối.
Điều này khiến OpenSCAD trở thành công cụ khá lý tưởng cho những người có tư duy toán học, khoa học máy tính, hoặc kỹ thuật, bởi vì việc thiết kế có thể được mô tả dưới dạng công thức và thuật toán.
2. Ví dụ về câu lệnh toán trong OpenSCAD
OpenSCAD cho phép biểu diễn các cấu trúc hình học bằng các lệnh toán học. Người thiết kế có thể:
- Sử dụng vòng lặp (for, each) để tạo các mẫu lặp lại.
- Sử dụng tham số để sinh ra thiết kế tham số hóa (parametric design).
- Kết hợp hàm lượng giác (như sin() và cos()) để tạo hình xoắn ốc, sóng, hoặc đối tượng có tính đối xứng.
- Thiết kế các vật thể mô phỏng các đồ thị hàm số, mặt và đa tạp trong không gian 3 chiều.
Ví dụ cơ bản:
// Tạo một dãy cầu bán kính giảm dần theo công thức
for (i = [0:10]) { // Tạo vòng lặp for với biến i chạy
translate([i*5, 0, 0]) //Tịnh tiến dần theo i
sphere(r = 5 - i*0.4); // Lệnh tạo mặt cầu
}Đoạn mã trên tạo ra một chuỗi khối có dạng cầu, mỗi cầu nhỏ dần theo quy luật tuyến tính. Đây là một cách trực quan để "thấy" toán học trong không gian 3D. Bạn có thể thử ngay đoạn mã này bằng cách truy cập vào địa chỉ https://www.truyenthong.edu.vn/, rồi chọn OpenSCAD. Thay đoạn mã có sẵn bằng đoạn mã trên.

3. Một số ví dụ về cấu trúc toán học trong thực tiễn
3.1. Đường xoắn ốc (Spiral, Helix)
Trong cơ khí và kiến trúc, đường xoắn ốc thường xuất hiện dưới dạng lò xo, ren ốc, hoặc cầu thang xoắn. Bằng công thức tham số: x=r⋅cos(θ),y=r⋅sin(θ),z=k⋅θ ta có thể dựng một xoắn ốc 3D.
Ví dụ OpenSCAD:
r = 10;
h = 1;
steps = 200;
for (i = [0:steps]) {
angle = i*10;
x = r*cos(angle);
y = r*sin(angle);
z = h*i;
translate([x, y, z]) sphere(r=1);
}Ứng dụng: tạo ren vít, lò xo, hay cấu trúc trang trí xoắn ốc.

3.2. Khối đa diện và hình học fractal
Các khối đa diện (polyhedra) thường gặp trong tinh thể học, kiến trúc (mái vòm geodesic) hay nghệ thuật số. OpenSCAD hỗ trợ lệnh polyhedron() để tạo hình dựa trên tập hợp đỉnh và mặt.
Ngoài ra, người dùng có thể mô phỏng fractal như bông tuyết Koch, thảm Sierpinski để minh họa cấu trúc tự đồng dạng – vốn có ứng dụng trong kiến trúc nhấn mạnh khối lượng nhẹ, tối ưu hóa vật liệu.
Ví dụ: Tetrahedron Sierpinski (cấp 2):
module sierpinski(level, size) {
if (level == 0) {
polyhedron(
points=[[0,0,0],[size,0,0],[size/2,size*sqrt(3)/2,0],[size/2,size/3,sqrt(6)/3*size]],
faces=[[0,1,2],[0,1,3],[1,2,3],[0,2,3]]
);
} else {
sierpinski(level-1, size/2);
translate([size/2,0,0]) sierpinski(level-1, size/2);
translate([size/4,size*sqrt(3)/4,0]) sierpinski(level-1, size/2);
translate([size/4,size/6,sqrt(6)/6*size]) sierpinski(level-1, size/2);
}
}
sierpinski(2, 40);
3.3. Sóng hài và bề mặt hình học
Trong vật lý, các mô hình sóng hài (harmonic waves) mô tả dao động cơ học, âm thanh, và điện từ. Trong thiết kế, ta có thể tạo những mặt sóng để làm đồ trang trí hoặc mô phỏng dao động.
Ví dụ tạo mặt sóng bằng hàm sin:
size = 120;
step = 5;
amp = 8; // biên độ (độ “nhấp nhô”)
for (x = [0:step:size])
for (y = [0:step:size]) {
// x/10 và y/10 là radian → nhân 180/PI để đổi sang độ
z = amp*sin((x/10)*180/PI) + amp*cos((y/10)*180/PI);
translate([x, y, z])
cube([step, step, 1], center=true);
}Ứng dụng: trang trí bề mặt, tối ưu hóa cấu trúc chống rung, thiết kế mô phỏng âm học.

4. Ứng dụng thực tiễn
- Kỹ thuật cơ khí: thiết kế ren vít, bánh răng (dựa trên công thức involute gear), lò xo.
- Kiến trúc: mái vòm geodesic, cầu thang xoắn, bề mặt uốn cong.
- Nghệ thuật số: fractal, hoa văn đối xứng, mô hình trang trí.
- Giáo dục: minh họa trực quan các khái niệm toán học (hàm số, đa diện, fractal).
5. Tạm kết luận
OpenSCAD không chỉ là một công cụ thiết kế 3D, mà còn có thể làm cầu nối giữa toán học và các vật thể trong không gian vật lý. Nhờ tính lập trình hóa, người dùng có thể biến các công thức toán học thành đối tượng trực quan, từ đó có thể in 3D hoặc ứng dụng thực tế. Điều này làm cho OpenSCAD trở thành công cụ hữu ích cho kỹ sư, nhà nghiên cứu, kiến trúc sư, và cả người yêu thích toán học.
Bạn có thể thử ngay các đoạn code trên ở link https://truyenthong.edu.vn/, chọn OpenSCAD. Sau khi dán đoạn code vào, hệ thống sẽ tự động tạo mô hình cho bạn xem trước. Bạn có thể thay đổi các tham số (nếu có) và mô hình sẽ tự động cập nhật ngay sau đó. Hãy sử dụng Menu trong ứng dụng để lưu lại code của bạn dưới dạng file .scad.
***Hướng dẫn sử dụng và thiết kế một số mô hình trên OpenSCAD (đang cập nhật, bạn có thể đề xuất thiết kế nào đó bằng cách gửi comment):


Comments