
openscad
โปรแกรมโมเดล 3D CAD แบบโอเพนซอร์สสำหรับโปรแกรมเมอร์
สร้างโมเดล 3D แข็งแรงโดยใช้ CSG, การดันออก & พารามิเตอร์ที่กำหนดได้ผ่าน API Python ฟรีแบบโอเพนซอร์ส.
OpenSCAD คืออะไร?
OpenSCAD เป็นเครื่องมือโมเดล 3D CAD แบบฟรีและโอเพ่นซอร์สที่ออกแบบมาสำหรับโปรแกรมเมอร์และวิศวกรโดยเฉพาะ ไม่เหมือนกับโมเดล 3D แบบโต้ตอบ OpenSCAD ใช้แนวทางแบบสคริปต์เพื่อกำหนดวัตถุ 3D แบบแข็งโดยใช้เทคนิค Constructive Solid Geometry (CSG) และการดัน (extrusion) ซึ่งทำให้การสร้างโมเดลที่แม่นยำ, ทำซ้ำได้, และเป็นพารามิเตอร์ เหมาะสำหรับชิ้นส่วนเครื่องกล, ตัวอย่างต้นแบบ, และการออกแบบเชิงเทคนิค เครื่องมือนี้รองรับ Linux, Windows, และ macOS และทำงานร่วมกับกระบวนการทำงานที่ใช้ Python อย่างดีสำหรับการอัตโนมัติและการสคริปต์
OpenSCAD อ่านไฟล์สคริปต์ที่อธิบายวัตถุและเรนเดอร์โมเดล 3D ตามนั้น ทำให้ผู้ออกแบบมีการควบคุมเต็มที่ต่อกระบวนการโมเดล มันรองรับการดำเนินการเช่น union, intersection, difference และการแปลงเช่น translate, rotate, และ scale ข้อมูลสามารถนำเข้าจากไฟล์ DXF และส่งออกเป็น STL, OFF และรูปแบบอื่น ๆ สถาปัตยกรรมแบบเปิดและชุมชนที่กระตือรือร้นทำให้เป็นตัวเลือกที่ทรงพลังสำหรับนักพัฒนาที่ต้องการความสามารถในการสร้างโมเดล 3D แบบโปรแกรมโดยไม่ต้องพึ่งพาการโต้ตอบผ่าน GUI
เริ่มต้นกับ OpenSCAD
OpenSCAD มีให้ดาวน์โหลดเป็นไบนารีสำเร็จรูปสำหรับ Linux, macOS และ Windows จากเว็บไซต์อย่างเป็นทางการของมัน สำหรับนักพัฒนา โค้ดต้นฉบับถูกโฮสต์บน GitHub และคุณสามารถสร้างจากซอร์สโดยใช้ CMake และสคริปต์การสร้างที่ให้มา ที่เก็บข้อมูลอย่างเป็นทางการ [GitHub ของ openscad](https://github.com/openscad/openscad) มีคำแนะนำการสร้างโดยละเอียดสำหรับทุกแพลตฟอร์มหลัก เพื่อเริ่มต้นอย่างรวดเร็ว ดาวน์โหลดรุ่นล่าสุด ติดตั้ง แล้วเปิดโปรแกรมแก้ไขเพื่อเขียนสคริปต์ SCAD แรกของคุณ
ติดตั้ง OpenSCAD ผ่านตัวจัดการแพ็กเกจ
# Ubuntu/Debian
sudo apt install openscad
# macOS (Homebrew)
brew install --cask openscad
# Windows (Chocolatey)
choco install openscad
เรขาคณิตเชิงสร้าง (CSG)
จุดแข็งหลักของ OpenSCAD อยู่ที่การสนับสนุนการสร้างเรขาคณิตของแข็ง (CSG) ซึ่งทำให้สามารถรวม primitive 3 มิติพื้นฐานโดยใช้การดำเนินการบูลีนเช่น union, intersection, และ difference วิธีนี้ทำให้ได้โมเดลที่แม่นยำและปลอดภัยต่อ non-manifold‑safe ซึ่งเหมาะกับการวิศวกรรมและการผลิต ตัวอย่างเช่น คุณสามารถสร้างทรงกระบอกที่มีรูโดยการลบทรงกระบอกขนาดเล็กออกจากทรงกระบอกขนาดใหญ่ การดำเนินการ CSG ถูกกำหนดแบบ declaratively ในสคริปต์ ทำให้สามารถปรับพารามิเตอร์และแก้ไขได้ง่าย สิ่งนี้ทำให้ OpenSCAD เหมาะอย่างยิ่งสำหรับการออกแบบชิ้นส่วนเครื่องกล, เคส, และต้นแบบที่ทำงานได้จริงที่ต้องการความแม่นยำและการทำซ้ำที่สำคัญ
วิธีสร้างทรงกระบอกที่มีรูโดยใช้ CSG ใน OpenSCAD?
difference() {
cylinder(h = 20, r = 10);
cylinder(h = 25, r = 4, center = true);
}
การดันเส้นรอบ 2D
OpenSCAD รองรับการดึงเส้นรอบ 2D ที่นำเข้าจากไฟล์ DXF หรือกำหนดโดยตรงในโค้ด SCAD เทคนิคนี้เป็นสิ่งสำคัญสำหรับการสร้างรูปทรง 3D ที่ซับซ้อนจากโปรไฟล์ 2D เช่น ฟันเฟือง, แบร็คเก็ต, หรือเคสที่กำหนดเอง คุณสามารถดึงเส้นทางแบบเชิงเส้นหรือหมุนรอบแกน (โดยการหมุน) กระบวนการดึงจะเคารพลำดับของจุดยอดและรองรับทั้งโพลิกอน 2D และเส้นทางที่มีรูพรุน การผสานกับการแปลงและโมดูลทำให้สามารถสร้างพารามิเตอร์ของส่วนต่าง ๆ เช่น ท่อ, โครง, หรือองค์ประกอบสถาปัตยกรรม ทำให้ OpenSCAD เป็นเครื่องมือที่ทรงพลังสำหรับการออกแบบเทคนิคและกระบวนการผลิต
วิธีการดันรูปหลายเหลี่ยม 2D ให้เป็นวัตถุ 3D?
linear_extrude(height = 10, center = true, convexity = 10)
polygon(points = [[0,0], [10,0], [5,10]]);
การสร้างโมเดลพารามิเตอร์และการกำหนดค่า
OpenSCAD โดดเด่นในการสร้างโมเดลแบบพารามิเตอร์ ซึ่งมิติและรูปทรงถูกกำหนดโดยใช้ตัวแปรและฟังก์ชัน สิ่งนี้ทำให้การออกแบบสามารถปรับแต่งได้ง่ายโดยการเปลี่ยนแปลงพารามิเตอร์เพียงไม่กี่ตัว ทำให้เหมาะสำหรับการทำต้นแบบและการปรับแต่งแบบวนซ้ำ ตัวอย่างเช่น คุณสามารถกำหนดโมดูลที่รับพารามิเตอร์สำหรับความกว้าง, ความสูงและความหนา แล้วนำกลับมาใช้ใหม่ในหลายการออกแบบ พารามิเตอร์ยังสามารถถูกขับเคลื่อนโดยข้อมูลภายนอก เช่น ค่าจากไฟล์ CSV หรือ DXF ทำให้สามารถรวมเข้ากับสายงานข้อมูลที่ใช้ Python ได้ ความสามารถนี้สนับสนุนการออกแบบเชิงสร้างสรรค์ (generative design) ซึ่งโมเดลจะปรับตัวโดยอัตโนมัตาตามความต้องการหรือข้อจำกัดที่เปลี่ยนแปลง
วิธีการกำหนดโมดูลพารามิเตอร์ที่สามารถนำกลับมาใช้ใหม่ได้?
module box(width, height, thickness) {
difference() {
cube([width, height, thickness]);
translate([thickness, thickness, -1])
cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
}
}
box(50, 30, 3);
การรวมการนำเข้าและส่งออกข้อมูล
OpenSCAD มีการสนับสนุนที่แข็งแกร่งสำหรับการนำเข้าไฟล์ DXF 2D และการส่งออกโมเดล 3D ไปยัง STL, OFF และรูปแบบอื่น ๆ ทำให้การผสานรวมกับเครื่องมือ CAD/CAM, เครื่องพิมพ์ 3 มิติ, และซอฟต์แวร์จำลองเป็นเรื่องง่าย การนำเข้า DXF สามารถรวมเส้นทางสำหรับการดันออกได้ ในขณะที่การส่งออกรองรับ STL แบบไบนารีและ ASCII สำหรับการพิมพ์ 3 มิติ นอกจากนี้ OpenSCAD ยังสามารถอ่านพารามิเตอร์การออกแบบจากไฟล์ DXF ได้ ทำให้สามารถทำงานแบบไฮบริดที่กำหนดรูปทรงในเครื่องมือภายนอกแล้วปรับแต่งด้วยโปรแกรม การทำงานร่วมกันนี้ร่วมกับลักษณะการออกแบบแบบสคริปต์ ทำให้ผู้พัฒนาสามารถอัตโนมัติการสร้างโมเดลและการประมวลผลแบบชุดโดยใช้ Python หรือสคริปต์เชลล์ ช่วยเร่งกระบวนการผลิต
วิธีการนำเข้าไฟล์ DXF และดันให้เป็น 3D?
linear_extrude(height = 5) {
import(file = "profile.dxf", layer = "outer");
}
