โมดูล 2/5 · สัปดาห์ 4–6 · 27 ชม.

CAD แบบพารามิเตอร์

UAT 208 การเขียนแบบและการสร้างต้นแบบด้วยเทคโนโลยีดิจิทัล

เวลาเรียนประมาณ 90 นาทีร่าง รอตรวจปรับปรุงล่าสุด 28 กันยายน 2569

บทเรียน

เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ

  1. สร้าง sketch ที่มี constraint ครบ (fully constrained) และอธิบายองศาอิสระ
  2. ใช้ตารางพารามิเตอร์ขับรูปทรงตามเจตนาการออกแบบ
  3. เลือกรูปแบบไฟล์ CAD source, STEP, STL และ 3MF ให้เหมาะกับงาน
  4. คำนวณจำนวนสามเหลี่ยมและขนาดไฟล์ STL ตาม chord tolerance

ความรู้พื้นฐานที่ควรมี: UAT 208 โมดูล 1

ทำไมต้องรู้

ขายึดกล้องต้องแก้บ่อย เปลี่ยนกล้องก็เปลี่ยนระยะรู ใช้สกรูต่างขนาดก็เปลี่ยนรูเผื่อ ถ้าวาดรูปทรงด้วยมือทุกครั้งจะเสียเวลาและผิดง่าย CAD แบบพารามิเตอร์ เก็บ “เจตนาการออกแบบ” ไว้ในตัวแปรและความสัมพันธ์ เปลี่ยนค่าเดียวแล้วรูปทรงทั้งหมดปรับตาม หน่วยความรู้เรื่อง CAD และ 3D Printing และปฏิบัติการ L05 ของคลังความรู้โดรนใช้ขายึดกล้องเป็นตัวอย่างเดียวกัน

Sketch, constraint และองศาอิสระ

ทุก feature เริ่มจาก sketch สองมิติ แต่ละองค์ประกอบมี องศาอิสระ (degrees of freedom, DOF) คู่มือ Sketcher ของ FreeCAD อธิบายว่าเส้นตรงที่ไม่มี constraint มี 4 DOF (จุดปลายสองจุด จุดละ 2) เมื่อเพิ่ม constraint เช่น แนวนอน ยึดจุด และความยาว จน DOF เหลือศูนย์ sketch จะ fully constrained รูปทรงจึงไม่เปลี่ยนโดยไม่ตั้งใจเมื่อแก้พารามิเตอร์ ควรใช้ constraint ที่สื่อเจตนา เช่น รูสองรูเท่ากัน หรือสมมาตรรอบแกน แทนการวางตำแหน่งด้วยสายตา

กล่องตารางพารามิเตอร์ t, pitch, d ทางซ้าย ลูกศรไปยัง Sketch พร้อม constraint, Pad, Pocket รูยึด และ Fillet เรียงเป็นลำดับ เส้นประสีทองจากตารางพารามิเตอร์ข้ามไปที่ Pocket ด้วย
ภาพที่ 1 ต้นไม้ feature ของขายึดกล้องแบบพารามิเตอร์

ตัวอย่างที่ 1 ขายึดกล้องที่ขับด้วยพารามิเตอร์

ทีมตั้งกฎออกแบบเองว่าระยะจากขอบถึงศูนย์กลางรูต้องไม่น้อยกว่า 2 เท่าของขนาดรู และแผ่นหนาไม่น้อยกว่า 3 mm (กฎของทีม ไม่ใช่มาตรฐาน)

ISO273_MEDIUM = {"M2": 2.4, "M2.5": 2.9, "M3": 3.4, "M4": 4.5}   # mm รูเผื่อระดับ medium
T_MIN, EDGE_FACTOR, DENSITY = 3.0, 2.0, 1.24e-3                   # mm, เท่าของรู, g/mm³

def mount(pitch, screw="M3", t=3.0, depth=20.0):
    hole = ISO273_MEDIUM[screw]
    edge = EDGE_FACTOR * hole
    width = pitch + 2 * edge
    volume = width * depth * t - 2 * 3.14159 * (hole / 2) ** 2 * t
    ok = t >= T_MIN
    return hole, width, volume * DENSITY, ok

for pitch, screw in ((16, "M2"), (20, "M3"), (25.5, "M3"), (25.5, "M4")):
    hole, width, mass, ok = mount(pitch, screw)
    print(f"pitch {pitch:>4} mm, {screw:<4}: hole {hole} mm, plate width {width:.1f} mm, "
          f"mass {mass:.2f} g, thickness rule {'ok' if ok else 'FAIL'}")
pitch   16 mm, M2  : hole 2.4 mm, plate width 25.6 mm, mass 1.87 g, thickness rule ok
pitch   20 mm, M3  : hole 3.4 mm, plate width 33.6 mm, mass 2.43 g, thickness rule ok
pitch 25.5 mm, M3  : hole 3.4 mm, plate width 39.1 mm, mass 2.84 g, thickness rule ok
pitch 25.5 mm, M4  : hole 4.5 mm, plate width 43.5 mm, mass 3.12 g, thickness rule ok

เปลี่ยนเพียงระยะรูและขนาดสกรู ความกว้างแผ่นและมวลเปลี่ยนตามโดยอัตโนมัติ ใน CAD จริงความสัมพันธ์เหล่านี้อยู่ในตารางพารามิเตอร์ (spreadsheet) ที่ sketch อ้างถึง

รูปแบบไฟล์

  • CAD source (เช่น .FCStd) เก็บ feature, constraint และพารามิเตอร์ แก้ต่อได้ ต้องเก็บไว้เสมอ
  • STEP (ISO 10303-21) เก็บรูปทรงแบบผิวโค้งแม่นยำ ใช้แลกเปลี่ยนระหว่างโปรแกรม CAD แต่ไม่มีประวัติ feature
  • STL เก็บผิวเป็นสามเหลี่ยม แบบไบนารีมีส่วนหัว 80 ไบต์ จำนวนสามเหลี่ยม 4 ไบต์ และสามเหลี่ยมละ 50 ไบต์ ไม่มีหน่วยในไฟล์
  • 3MF (3MF Consortium) เก็บ mesh พร้อมหน่วย สี วัสดุ และค่าตั้งพิมพ์ได้

หน่วยความรู้ของคลังความรู้โดรนย้ำว่า การมี STL อย่างเดียวไม่เท่ากับมีประวัติการออกแบบครบ

ความละเอียดของ STL

เมื่อส่งออก STL โปรแกรมแทนผิวโค้งด้วยสามเหลี่ยม ระยะห่างสูงสุดระหว่างผิวจริงกับสามเหลี่ยมเรียกว่า chord error หรือ surface deviation (คู่มือ Mesh ของ FreeCAD) ยิ่งกำหนดเล็ก รูปทรงยิ่งเรียบแต่ไฟล์ยิ่งใหญ่

ส่วนโค้งของวงกลมสีฟ้าคือผิวจริง เส้นหักสีชมพูเชื่อมจุดบนส่วนโค้งคือผิว STL ระยะห่างสูงสุดระหว่างส่วนโค้งกับเส้นตรงกลางช่วงเขียนว่า s chord error เส้นประจากศูนย์กลางแสดงมุม theta ของแต่ละช่วง
ภาพที่ 2 chord error เมื่อแทนวงกลมด้วยสามเหลี่ยม

ตัวอย่างที่ 2 ทรงกระบอกรัศมี 10 mm สูง 20 mm

import math

R = 10.0
for s in (0.1, 0.05, 0.01):
    n = math.ceil(math.pi / math.acos(1 - s / R))
    triangles = 2 * n + 2 * (n - 2)            # ผิวข้าง + ฝาบนล่าง
    size = 84 + 50 * triangles
    print(f"chord error {s:4.2f} mm: {n:>3} segments, {triangles:>3} triangles, binary STL {size:,} bytes")
chord error 0.10 mm:  23 segments,  88 triangles, binary STL 4,484 bytes
chord error 0.05 mm:  32 segments, 124 triangles, binary STL 6,284 bytes
chord error 0.01 mm:  71 segments, 280 triangles, binary STL 14,084 bytes

ลด chord error จาก 0.1 เหลือ 0.01 mm จำนวนส่วนเพิ่มราวสามเท่า เครื่องพิมพ์ FDM ที่ใช้หัวฉีด 0.4 mm ไม่ได้ประโยชน์จากความละเอียดที่เล็กกว่าความแม่นของเครื่องมากนัก จึงควรเลือกค่าที่พอดีกับกระบวนการ

ปฏิบัติการประจำโมดูล

ปฏิบัติการ: ขายึดกล้องแบบพารามิเตอร์ (L05)

  1. สร้างตารางพารามิเตอร์ใน FreeCAD (หรือ Onshape, OpenSCAD) สำหรับความหนา ระยะรู และขนาดสกรู หน่วย mm
  2. วาด sketch ให้ fully constrained โดยอ้างค่าในตาราง แล้ว Pad และ Pocket รูยึด
  3. เปลี่ยนระยะรูและสกรูตามตัวอย่างที่ 1 ตรวจว่ารูปทรงไม่เสียและเป็นไปตามกฎของทีม
  4. ส่งออก STEP, STL สามความละเอียด และ 3MF เทียบขนาดไฟล์กับตัวอย่างที่ 2
  5. เก็บ CAD source ทุกรุ่นพร้อมหมายเลขรุ่นและวันที่

ข้อผิดพลาดที่พบบ่อย

ระวัง

  • sketch ไม่ fully constrained รูปทรงจึงเปลี่ยนเองเมื่อแก้ค่า
  • เก็บแต่ STL ไม่เก็บ CAD source
  • ลืมหน่วย ตอนนำ STL เข้า slicer จนชิ้นงานเล็กหรือใหญ่ผิดขนาด
  • ตั้ง chord error เล็กเกินจำเป็น
  • พิมพ์ค่าลงใน sketch โดยตรง แทนการอ้างตารางพารามิเตอร์

สรุป

  • sketch ที่ fully constrained มี DOF เป็นศูนย์ และใช้ constraint ที่สื่อเจตนาการออกแบบ
  • ตารางพารามิเตอร์ทำให้เปลี่ยนแบบได้เร็วและตรวจกฎออกแบบได้
  • CAD source เก็บประวัติ STEP แลกเปลี่ยนรูปทรง STL และ 3MF ใช้พิมพ์
  • chord error เล็กลง จำนวนสามเหลี่ยมและขนาดไฟล์เพิ่มขึ้น

แบบฝึกตรวจความเข้าใจ

  1. วงกลมที่ไม่มี constraint ใน sketch มีกี่ DOF (จุดศูนย์กลางและรัศมี)
  2. ไฟล์ STL ไบนารีมี 1,000 สามเหลี่ยม มีขนาดเท่าใด
  3. รูปแบบใดเก็บประวัติ feature ได้
  4. วงกลมรัศมี 10 mm ใช้ 24 ส่วน chord error เท่าใด
  5. ทำไมจึงควรเก็บ STEP ไว้ด้วยแม้มี STL แล้ว
เฉลย
  1. 3 DOF
  2. ไบต์
  3. CAD source ของโปรแกรมนั้น (เช่น .FCStd)
  4. mm
  5. STEP เก็บผิวโค้งแม่นยำ แก้ไขหรือส่งต่อให้โปรแกรม CAD อื่นได้ ส่วน STL เป็นเพียงสามเหลี่ยมโดยประมาณ

สรุปสูตรสำคัญ

chord error ของส่วนโค้ง
จำนวนส่วนของวงกลม
ขนาดไฟล์ STL แบบไบนารี

แหล่งอ้างอิงหลัก

  1. FreeCAD Project. Sketcher workbench. FreeCAD documentation. link
  2. FreeCAD Project. Mesh FromPartShape. FreeCAD documentation. link
  3. International Organization for Standardization. (2016). Industrial automation systems and integration — Product data representation and exchange — Part 21: Implementation methods: Clear text encoding of the exchange structure (ISO 10303-21:2016). link
  4. Burkardt, J. STLB: Binary STL files. Florida State University, Department of Scientific Computing. link
  5. 3MF Consortium. 3MF core specification (v1.4.0). link
  6. Giesecke, F. E., Lockhart, S., Goodman, M., & Johnson, C. M. (2023). Technical drawing with engineering graphics (16th ed.). Pearson. link

อ่านเพิ่มเติม

ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล

ในชั้นเรียน / ภาคสนาม

ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย

หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz

แบบทดสอบประจำโมดูล

แบบทดสอบนี้ใช้ตรวจความเข้าใจ (formative) ไม่ใช่การสอบเก็บคะแนน

โดเมนความรู้: อากาศยาน โครงสร้าง และการออกแบบ