เอกสารประกอบ
คู่มือการใช้งาน Slicer API สำหรับผู้เริ่มต้น หากกำลังมองหาข้อมูลอ้างอิง endpoint อย่างเป็นทางการ ดูได้ที่ ข้อมูลอ้างอิง API แบบ Swagger
API นี้ทำอะไร?
คุณส่ง file model 3D (.stl, .3mf หรือ
.obj) เข้ามา แล้ว API จะตอบกลับด้วย สถิติการพิมพ์
ในรูปแบบ JSON: ใช้เวลาพิมพ์นานเท่าไร ใช้ filament เท่าไร (ทั้งความยาวและน้ำหนัก)
และปริมาตรเชิงเรขาคณิตของ model เบื้องหลังระบบจะ slice model ด้วย PrusaSlicer
อ่านสถิติจากผลลัพธ์ และลบ file ทุก file — รวมถึง G-code ที่สร้างขึ้น — ทันที
มี endpoint ที่ทำงานจริงเพียงตัวเดียวคือ
POST /slice ซึ่งรับ form upload file ทั่วไป
(multipart/form-data) รูปแบบเดียวกับที่ browser ใช้เมื่อคุณ
ส่ง form ที่มี file แนบ ไม่ต้องใช้ API key หรือการยืนยันตัวตนใด ๆ
1. คำขอแรกของคุณ
field เดียวที่จำเป็นคือ model — ตัว file model เอง
parameter การ slice ทุกตัวมีค่าเริ่มต้นที่เหมาะสมอยู่แล้ว
เพียงเท่านี้ก็ได้รับสถิติกลับมา:
ไม่ว่าคุณจะใช้ภาษาใด การตอบกลับจะเป็น object JSON เดียวกัน:
2. ปรับ parameter การ slice
parameter ทั้งหมดเป็น field form แบบไม่บังคับที่ส่งไปพร้อมกับ file เนื่องจากเดินทางผ่าน form คุณจึงส่งเป็นข้อความเสมอ — API จะแปลงชนิดข้อมูล และตรวจสอบช่วงค่าให้เอง:
| Field | ค่าเริ่มต้น | หน้าที่ |
|---|---|---|
layerHeight | 0.2 | ความหนาของแต่ละชั้นพิมพ์ หน่วยมิลลิเมตร (0.05 – 0.6) ยิ่งบาง = รายละเอียดยิ่งสูง แต่ใช้เวลาพิมพ์นานขึ้น |
infill | 20 | ความหนาแน่นเนื้อภายในของ model เป็น % (0 – 100) |
infillPattern | grid | ลวดลายของ infill เช่น grid, gyroid, honeycomb, cubic, lightning… (ดูครบทั้ง 16 แบบในข้อมูลอ้างอิง) |
printSpeed | 60 | ความเร็วการพิมพ์ หน่วย mm/s (5 – 300) |
support | false | ตั้งเป็น true เพื่อสร้างวัสดุรองรับ (support) ใต้ส่วนที่ยื่นออกมา |
material | PLA | ชนิด filament: PLA, PETG, ABS, ASA หรือ TPU ระบบตั้งอุณหภูมิให้อัตโนมัติ |
printerProfile | Prusa MK4 | เครื่องพิมพ์เป้าหมาย: Prusa MK4, Prusa MK3S หรือ Prusa MINI กำหนดขนาดฐานพิมพ์และรูปแบบ G-code |
3. จัดการข้อผิดพลาด
ทุกข้อผิดพลาด — file ผิดชนิด ค่า parameter เกินช่วงที่กำหนด หรือ model ใหญ่เกินฐานพิมพ์ — จะตอบกลับด้วย HTTP status code ที่สื่อความหมาย และ JSON รูปแบบเดียวกันเสมอ:
| สถานะ | ความหมาย |
|---|---|
400 | ไม่มี file หรือค่า parameter ไม่ถูกต้อง (ข้อความข้อผิดพลาดจะบอกว่า field ไหน) |
413 | File ใหญ่เกินไป |
415 | File ไม่ใช่ .stl, .3mf หรือ .obj |
500 | การ slice ล้มเหลว — สาเหตุที่พบบ่อยที่สุดคือ model มีขนาดใหญ่เกินกว่าเครื่องพิมพ์ที่เลือก |
ขั้นตอนถัดไป
- ลองใช้งานโดยไม่ต้องเขียน code: Test ClientUpload model ได้จาก browser ของคุณ
- สำรวจทุก field และการตอบกลับในข้อมูลอ้างอิง API แบบ Swagger — ส่งคำขอจริงจากหน้านั้นได้ด้วย
- spec แบบ machine-readable อยู่ที่ /openapi.yaml หากต้องการ generate client เอง