เอกสารประกอบ

คู่มือการใช้งาน 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ค่าเริ่มต้นหน้าที่
layerHeight0.2ความหนาของแต่ละชั้นพิมพ์ หน่วยมิลลิเมตร (0.05 – 0.6) ยิ่งบาง = รายละเอียดยิ่งสูง แต่ใช้เวลาพิมพ์นานขึ้น
infill20ความหนาแน่นเนื้อภายในของ model เป็น % (0 – 100)
infillPatterngridลวดลายของ infill เช่น grid, gyroid, honeycomb, cubic, lightning… (ดูครบทั้ง 16 แบบในข้อมูลอ้างอิง)
printSpeed60ความเร็วการพิมพ์ หน่วย mm/s (5 – 300)
supportfalseตั้งเป็น true เพื่อสร้างวัสดุรองรับ (support) ใต้ส่วนที่ยื่นออกมา
materialPLAชนิด filament: PLA, PETG, ABS, ASA หรือ TPU ระบบตั้งอุณหภูมิให้อัตโนมัติ
printerProfilePrusa MK4เครื่องพิมพ์เป้าหมาย: Prusa MK4, Prusa MK3S หรือ Prusa MINI กำหนดขนาดฐานพิมพ์และรูปแบบ G-code
เคล็ดลับ: การ slice ใช้ CPU หนัก model ขนาดเล็กตอบกลับภายในไม่กี่วินาที แต่ model ขนาดใหญ่อาจใช้เวลาหลายนาที — ตั้ง timeout ของ HTTP client ให้นานพอ และแสดงสถานะกำลัง load ให้ผู้ใช้ของคุณเห็น

3. จัดการข้อผิดพลาด

ทุกข้อผิดพลาด — file ผิดชนิด ค่า parameter เกินช่วงที่กำหนด หรือ model ใหญ่เกินฐานพิมพ์ — จะตอบกลับด้วย HTTP status code ที่สื่อความหมาย และ JSON รูปแบบเดียวกันเสมอ:

สถานะความหมาย
400ไม่มี file หรือค่า parameter ไม่ถูกต้อง (ข้อความข้อผิดพลาดจะบอกว่า field ไหน)
413File ใหญ่เกินไป
415File ไม่ใช่ .stl, .3mf หรือ .obj
500การ slice ล้มเหลว — สาเหตุที่พบบ่อยที่สุดคือ model มีขนาดใหญ่เกินกว่าเครื่องพิมพ์ที่เลือก

ขั้นตอนถัดไป