Repair Printability API
ซ่อมความสามารถในการพิมพ์ของโมเดล 3D — แก้ไขขอบ non-manifold, หน้าเสื่อม, รู และปัญหา topology อื่น ๆ เพื่อให้เมชพร้อมสำหรับการพิมพ์ นอกจากนี้ยังสามารถเพิ่มความหนาของผนังที่บางเกินไปตามขนาดที่คุณวางแผนจะพิมพ์ได้อีกด้วย
สร้างงานซ่อมความสามารถในการพิมพ์
เอนด์พอยต์นี้สร้างงานซ่อมความสามารถในการพิมพ์ใหม่ งานนี้จะทำการซ่อม topology บนโมเดล 3D และส่งคืนเวอร์ชันที่ไม่รั่วน้ำ (watertight) และพร้อมพิมพ์
งานนี้ทำงานในเบื้องหลัง สำหรับระยะเวลาที่มักใช้ โปรดดู Processing Times
รูปแบบไฟล์ผลลัพธ์จะตรงกับรูปแบบไฟล์อินพุต หากคุณส่ง .stl ผ่าน model_url คำตอบใน model_urls.stl จะมีเมชที่ซ่อมแล้ว และฟิลด์รูปแบบอื่นจะว่างเปล่า ส่วน path ของ input_task_id จะอ่าน GLB ของงานต้นทางเสมอ ดังนั้นผลลัพธ์จึงเป็น .glb
หากต้องการทำให้ผนังที่บางเกินไปสำหรับขนาดที่คุณวางแผนจะพิมพ์มีความหนาขึ้นด้วย ให้ส่ง printer_type, ขนาดการพิมพ์ หรือทั้งสองอย่าง ผนังจะถูกทำให้หนาขึ้นก็ต่อเมื่อพื้นผิวมากกว่า 5% บางเกินไปสำหรับเครื่องพิมพ์นั้น โมเดลที่ซ่อมแล้วจะคงสเกลเดิมไว้ หากต้องการปรับสเกล ให้ใช้ Resize API ซึ่งรับค่าเป็นเมตร (100 มม. คือ 0.1)
พารามิเตอร์
ต้องระบุเพียงอย่างใดอย่างหนึ่งระหว่าง input_task_id หรือ model_url ซึ่งจำเป็น หากส่งทั้งสองอย่าง input_task_id จะมีความสำคัญเหนือกว่า
เท็กซ์เจอร์ที่มีอยู่จะถูกลบออกระหว่างการซ่อมเนื่องจากการเปลี่ยนแปลงของจีออเมทรี หากต้องการเพิ่มเท็กซ์เจอร์กลับเข้าไป ให้ใช้ Retexture API บนโมเดลที่ซ่อมแล้ว
- Name
- input_task_id
- Type
- string
- จำเป็น
- Description
ID ของงานที่สำเร็จแล้วซึ่งคุณเป็นเจ้าของ ประเภทงานที่รองรับ: รูปภาพเป็น 3D, หลายรูปเป็น 3D, ข้อความเป็น 3D, รีเมช, รีเท็กซ์เจอร์ และ วิเคราะห์ความสามารถในการพิมพ์ งานนั้นต้องมีสถานะ
SUCCEEDEDและต้องผลิตแอสเซ็ต GLB ออกมาแล้วงานวิเคราะห์ที่ตรวจสอบความหนาผนังจะส่งต่อข้อมูลเครื่องพิมพ์และขนาดของมันไปด้วย ดังนั้นงานซ่อมจะตรวจสอบความหนาผนังและทำให้ผนังบางหนาขึ้น แม้ว่าคุณจะไม่ได้ส่งค่าใดเลยก็ตาม ส่วน
printer_typeหรือขนาดการพิมพ์ที่คุณส่งมาจะเขียนทับค่านั้น งานวิเคราะห์ที่สร้างจากmodel_urlที่เป็น.stl,.fbxหรือ.gltfจะไม่ถูกยอมรับ: ให้ส่งไฟล์เป็นmodel_urlแทน
- Name
- model_url
- Type
- string
- จำเป็น
- Description
URL ของโมเดล 3D ที่จะซ่อม รูปแบบที่รองรับ:
.glb,.gltf,.obj,.fbx,.stlใช้ URL แบบhttpหรือhttpsหรือ URL แบบ base64data:สำหรับ GLB (data:model/gltf-binary;base64,...) หรือ glTF (data:model/gltf+json;base64,...) ไฟล์.obj,.fbxและ.stlต้องส่งเป็น URL แบบhttpหรือhttpsขนาดไฟล์สูงสุด: 400 MB สำหรับ URL แบบ
httpหรือhttps, 100 MB สำหรับdata:URIไฟล์ GLB, glTF, FBX หรือ OBJ ที่มีขนาดเกิน 100 MB สามารถมีได้สูงสุด 10,000,000 หน้า โดยหน้าจะถูกนับเป็นสามเหลี่ยม: หนึ่งสี่เหลี่ยมนับเป็น 2 และเมชที่วาดซ้ำมากกว่าหนึ่งครั้งจะถูกนับหนึ่งครั้งต่อสำเนา สำหรับไฟล์ที่เกิน 100 MB ไฟล์ FBX ต้องเป็น binary FBX 7.1 หรือใหม่กว่า และไฟล์ GLB หรือ glTF ต้องไม่ใช้การบีบอัดแบบ Draco
URL ดาวน์โหลดของ Meshy (
assets.meshy.ai/…?Expires=…&Signature=…) มีการเซ็นชื่อกำกับและจะหยุดทำงานเมื่อถึงexpires_atของงานนั้น การดึงข้อมูลงานซ้ำอีกครั้งจะไม่ต่ออายุให้ สำหรับโมเดลที่สร้างด้วย Meshy ให้ส่งinput_task_idแทน ซึ่งจะใช้งานได้ตราบเท่าที่งานต้นทางยังถูกเก็บรักษาไว้ (ดู Asset Retention) หากต้องการนำโมเดลกลับมาใช้ใหม่หลังจากนั้น ให้ดาวน์โหลดก่อนถึงexpires_atแล้วส่งสำเนาของคุณเอง
- Name
- alpha_thumbnail
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueงานจะเรนเดอร์ภาพตัวอย่างแบบพื้นหลังโปร่งใส (RGBA) เพิ่มเติม และส่งคืนเป็นalpha_thumbnail_urlในคำตอบ GET ฟิลด์thumbnail_urlเดิมจะไม่เปลี่ยนแปลง
ส่งฟิลด์ขนาดการพิมพ์ทั้งสองได้สูงสุดเพียงหนึ่งฟิลด์ หากคุณส่ง printer_type โดยไม่ระบุขนาด และไม่มีการนำขนาดจากงานวิเคราะห์มาใช้ซ้ำ ขนาดค่าเริ่มต้นจะเป็น:
.glbและinput_task_idใดๆ: สูง 150 มม..stl: ด้านที่ยาวที่สุดของไฟล์เอง อ่านเป็นหน่วยมิลลิเมตร สำหรับ STL ที่ใช้หน่วยอื่น ให้ส่งintended_print_longest_side_mm.obj,.fbx,.gltf: 150 มม. ที่ด้านที่ยาวที่สุด
- Name
- printer_type
- Type
- string
- Description
เครื่องพิมพ์ที่คุณวางแผนจะใช้ ค่านี้กำหนดความหนาผนังขั้นต่ำที่การซ่อมมุ่งหมาย จะมีค่าเริ่มต้นเป็น
fdmเมื่อคุณส่งขนาดการพิมพ์โดยไม่ระบุค่านี้ เว้นแต่งานวิเคราะห์ที่ส่งเป็นinput_task_idจะให้ข้อมูลเครื่องพิมพ์มาค่าที่ใช้ได้:
fdm: ฟิลาเมนต์ ผนังขั้นต่ำ 1.0 มม.sla: เรซิน ผนังขั้นต่ำ 0.8 มม.full_color: แบบเต็มสี ผนังขั้นต่ำ 2.0 มม.
- Name
- intended_print_height_mm
- Type
- number
- Description
ความสูงของชิ้นงานพิมพ์ หน่วยมิลลิเมตร ช่วงค่า:
[1, 1000]ปัดเศษให้เป็นมิลลิเมตรที่ใกล้ที่สุด ใช้ได้เฉพาะอินพุตแบบ GLB
- Name
- intended_print_longest_side_mm
- Type
- number
- Description
ความยาวของด้านที่ยาวที่สุดของชิ้นงานพิมพ์ หน่วยมิลลิเมตร ช่วงค่า:
[1, 1000]ปัดเศษให้เป็นมิลลิเมตรที่ใกล้ที่สุด ใช้ได้กับทุกรูปแบบอินพุต
ผลลัพธ์ที่ส่งคืน
พร็อพเพอร์ตี้ result ของคำตอบมี id ของงานซ่อมความสามารถในการพิมพ์ที่เพิ่งสร้างขึ้นใหม่
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอนี้ไม่สามารถยอมรับได้ สาเหตุที่พบได้บ่อย:
- ขาดพารามิเตอร์: ไม่มีการระบุทั้ง
input_task_idและmodel_url - UUID ไม่ถูกต้อง:
input_task_idไม่ใช่ UUID ที่ถูกต้อง - URL โมเดลไม่ถูกต้อง:
model_urlมีรูปแบบผิดพลาด ใช้ scheme ที่ไม่รองรับ หรือมีนามสกุลไฟล์ที่ไม่รองรับ - ไฟล์โมเดลมีขนาดใหญ่เกินไป: เนื้อหาของ
model_urlมีขนาดเกิน 400 MB (URL แบบhttpหรือhttps) หรือเกิน 100 MB (data:URI) - มีจำนวนหน้ามากเกินไป:
model_urlเป็นไฟล์ GLB, glTF, FBX หรือ OBJ ที่มีขนาดเกิน 100 MB และมีมากกว่า 10,000,000 หน้า ให้ลดจำนวนหน้าลง แล้วส่งไฟล์อีกครั้ง - ASCII FBX ขนาดเกิน 100 MB:
model_urlเป็น ASCII FBX ที่มีขนาดเกิน 100 MB ให้ส่งเป็น binary FBX หรือ GLB แทน - ไม่สามารถอ่านไฟล์โมเดลได้:
model_urlมีขนาดเกิน 100 MB และไม่สามารถอ่านส่วนหัวได้ เช่น GLB หรือ glTF ที่บีบอัดแบบ Draco หรือ binary FBX รุ่นเก่ากว่า 7.1 - ส่วนหัวโมเดลซับซ้อนเกินไป:
model_urlมีขนาดเกิน 100 MB และส่วนหัวมีเมช โหนด หรือเรคคอร์ดมากเกินกว่าจะตรวจสอบได้ ให้ลดจำนวนวัตถุในไฟล์ลง แล้วส่งไฟล์อีกครั้ง - ไม่สามารถดาวน์โหลดไฟล์โมเดลได้:
model_urlส่งคืนข้อผิดพลาด ซึ่งมักเกิดจาก URL ดาวน์โหลดของ Meshy ที่เซ็นชื่อหมดอายุแล้ว การดึงข้อมูลงานซ้ำอีกครั้งจะได้ URL เดิมพร้อมวันหมดอายุเดิม ดังนั้นให้ส่งสำเนาไฟล์ของคุณเอง หรือใช้input_task_idในขณะที่งานต้นทางยังถูกเก็บรักษาอยู่ - งานยังไม่สำเร็จ: งานที่อ้างถึงยังอยู่ระหว่างรอดำเนินการ กำลังดำเนินการ หรือล้มเหลว
- ไม่มี GLB: งานที่อ้างถึงไม่มีแอสเซ็ต GLB ให้ซ่อม
- ขนาดการพิมพ์ไม่ถูกต้อง:
intended_print_height_mmหรือintended_print_longest_side_mmอยู่นอกช่วง[1, 1000]หรือมีการส่งทั้งสองค่า - ประเภทเครื่องพิมพ์ไม่รู้จัก:
printer_typeไม่ใช่fdm,slaหรือfull_color - ส่งความสูงสำหรับโมเดลที่ไม่ใช่ GLB: มีการส่ง
intended_print_height_mmพร้อมmodel_urlที่ไม่ใช่.glbให้ใช้intended_print_longest_side_mmแทน - ไม่สามารถกำหนดขนาดโมเดลนี้ด้วยความสูงได้: ที่ความสูงที่ร้องขอ (หรือค่าเริ่มต้น 150 มม.) ด้านที่ยาวที่สุดของโมเดลจะอยู่นอกช่วง
[1, 1000]มม. หรือโมเดลแบน หรือไม่สามารถหาขนาดได้ ให้ใช้intended_print_longest_side_mmแทน สำหรับmodel_urlแบบ.glbและบางงานแบบinput_task_idปัญหานี้จะพบได้หลังจากงานเริ่มทำงานแล้วเท่านั้น และงานจะจบลงเป็นFAILEDแทน - ขนาด STL ใช้ไม่ได้: มีการส่ง
printer_typeโดยไม่ระบุขนาด และด้านที่ยาวที่สุดของไฟล์.stlเองไม่สามารถอ่านได้หรืออยู่นอกช่วง[1, 1000]มม. ให้ส่งintended_print_longest_side_mm
- ขาดพารามิเตอร์: ไม่มีการระบุทั้ง
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
สาเหตุที่พบได้บ่อย:
- แผนฟรี: การสร้างงานต้องใช้แผนแบบชำระเงิน อัปเกรดได้ที่หน้าการสมัครสมาชิก
- เครดิตไม่เพียงพอ: ถึงขีดจำกัดเครดิตของพื้นที่ทำงานแล้ว
- Name
404 - Not Found- Description
งานที่อ้างถึงไม่มีอยู่ หรือเป็นของผู้ใช้รายอื่น
- Name
429 - Too Many Requests- Description
คุณใช้งานเกินโควตางานที่รอดำเนินการหรือการจำกัดอัตราของคุณแล้ว
Request
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
# Also thicken walls that are too thin for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"printer_type": "sla",
"intended_print_height_mm": 100
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
ดึงข้อมูล Repair Printability Task
เอนด์พอยต์นี้ใช้ดึงข้อมูลงานซ่อมความสามารถในการพิมพ์โดยใช้ ID ของงานนั้น
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ID ของงานซ่อมความสามารถในการพิมพ์ที่ต้องการดึงข้อมูล
ค่าที่ส่งกลับ
Repair Printability Task Object โดยบล็อก model_urls จะว่างเปล่าจนกว่างานจะมีสถานะเป็น SUCCEEDED และมีเพียงฟิลด์ model_urls ที่ตรงกับรูปแบบอินพุตเท่านั้นที่จะถูกเติมข้อมูล การซ่อมความหนาผนังจะมี intended_print ตั้งแต่เริ่มต้น และจะมี print_repair_report เมื่องานสำเร็จแล้ว
Request
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Response (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000090000,
"expires_at": 1715725490000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10,
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"print_repair_report": {
"route": "thin_wall",
"applied": true,
"faces_before": 243112,
"faces_after": 251870,
"thin_area_ratio_before": 0.083,
"thin_area_ratio_after": 0.004
}
}
ลบงานซ่อมความสามารถในการพิมพ์
เอนด์พอยต์นี้จะลบงานซ่อมความสามารถในการพิมพ์และผลลัพธ์ที่ซ่อมแล้วอย่างถาวร การกระทำนี้ไม่สามารถย้อนกลับได้
Path Parameters
- Name
- id
- Type
- path
- Description
ID ของงานซ่อมความสามารถในการพิมพ์ที่ต้องการลบ
สถานะของงาน
งานที่ยังอยู่ในสถานะ PENDING จะถูกลบ และเครดิตที่ใช้ไปตอนสร้างงาน
จะได้รับการคืนกลับ
งานที่อยู่ในสถานะ IN_PROGRESS ไม่สามารถลบได้: คำขอจะถูกปฏิเสธด้วย
409 Conflict และงานจะยังคงทำงานต่อไป เครดิตสำหรับงานที่ worker
ได้เริ่มดำเนินการไปแล้วจะไม่สามารถขอคืนได้ ดังนั้นการลบงานระหว่างที่กำลังทำงานอยู่
จะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ไปด้วย ให้รอจนกว่างานจะถึงสถานะ
SUCCEEDED, FAILED หรือ CANCELED แล้วจึงลบ
งานที่อยู่ในสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) จะถูกลบ
โดยไม่มีการคืนเครดิต
Returns
คืนค่า 200 OK เมื่อสำเร็จ หรือ 409 Conflict เมื่อสถานะของงานคือ
IN_PROGRESS
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
แสดงรายการงานซ่อมความสามารถในการพิมพ์
เอนด์พอยต์นี้ช่วยให้คุณสามารถดึงรายการงานซ่อมความสามารถในการพิมพ์ได้
พารามิเตอร์
แอตทริบิวต์ที่ไม่บังคับ
- Name
- page_num
- Type
- integer
- Description
หมายเลขหน้าสำหรับการแบ่งหน้า เริ่มต้นและค่าเริ่มต้นคือ
1
- Name
- page_size
- Type
- integer
- Description
จำกัดขนาดของหน้า ค่าเริ่มต้นคือ
10รายการ สูงสุดที่อนุญาตคือ100รายการ
- Name
- sort_by
- Type
- string
- Description
ฟิลด์ที่ใช้สำหรับเรียงลำดับ ค่าที่ใช้ได้:
+created_at: เรียงลำดับตามเวลาที่สร้างจากน้อยไปมาก-created_at: เรียงลำดับตามเวลาที่สร้างจากมากไปน้อย
ค่าที่ส่งกลับ
ส่งคืนรายการแบบแบ่งหน้าของ ออบเจ็กต์งานซ่อมความสามารถในการพิมพ์
Request
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
สตรีมงานซ่อมความสามารถในการพิมพ์
เอนด์พอยต์นี้สตรีมการอัปเดตแบบเรียลไทม์สำหรับงานซ่อมความสามารถในการพิมพ์โดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานซ่อมความสามารถในการพิมพ์ที่ต้องการสตรีม
ค่าที่ส่งกลับ
ส่งกลับสตรีมของ Repair Printability Task Objects ในรูปแบบ Server-Sent Events
ทุกเฟรมจะมีออบเจ็กต์งานฉบับเต็มสำหรับขั้นตอนนั้น ๆ — มีรูปแบบเดียวกับที่
เอนด์พอยต์ Get ส่งกลับ — ดังนั้นในขณะที่งานยังอยู่ในสถานะ PENDING หรือ IN_PROGRESS
ฟิลด์ผลลัพธ์จะยังไม่ถูกเติมข้อมูล (null, [] หรือ {}) และ
finished_at จะเป็น null ส่วนบล็อก model_urls จะถูกส่งมาก็ต่อเมื่องานถึงสถานะ SUCCEEDED แล้วเท่านั้น
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
The Repair Printability Task Object
- Name
- id
- Type
- string
- Description
ตัวระบุเฉพาะสำหรับงานนี้ แม้ว่าเราจะใช้ k-sortable UUID สำหรับ id ของงานในฐานะรายละเอียดการ implement แต่คุณไม่ควรตั้งสมมติฐานใดๆ เกี่ยวกับรูปแบบของ id
- Name
- type
- Type
- string
- Description
ประเภทของงานซ่อมความสามารถในการพิมพ์ ค่านี้คือ
print-repair
- Name
- status
- Type
- string
- Description
สถานะของงาน ค่าที่เป็นไปได้คือค่าใดค่าหนึ่งจาก
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED
- Name
- progress
- Type
- integer
- Description
progress ของงาน หากงานยังไม่เริ่ม ค่านี้จะเป็น
0เมื่องานเสร็จสมบูรณ์แล้ว ค่านี้จะกลายเป็น100
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนงานที่อยู่ก่อนหน้า
ค่าของฟิลด์นี้จะมีความหมายก็ต่อเมื่อสถานะของงานเป็น
PENDING
- Name
- created_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่สร้างงาน หน่วยเป็นมิลลิวินาที
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเริ่มต้น หน่วยเป็นมิลลิวินาที หากงานยังไม่เริ่ม ค่านี้จะเป็น
0
- Name
- finished_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเสร็จสิ้น หน่วยเป็นมิลลิวินาที หากงานยังไม่เสร็จสิ้น ค่านี้จะเป็น
0
- Name
- expires_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ผลลัพธ์ของงานจะหมดอายุจากระบบ หน่วยเป็นมิลลิวินาที เป็น
0หากงานยังไม่เสร็จสิ้น
- Name
- task_error
- Type
- object
- Description
ข้อมูลข้อผิดพลาดหากงานล้มเหลว คุณสมบัตินี้จะเป็น
nullหากงานไม่ได้ล้มเหลว ดู ข้อผิดพลาด สำหรับรายละเอียดเพิ่มเติม- Name
message- Type
- string
- Description
ข้อความแสดงข้อผิดพลาดที่อธิบายว่าเกิดอะไรขึ้น
- Name
- model_urls
- Type
- object
- Description
URL สำหรับดาวน์โหลดโมเดล 3D ที่ซ่อมแล้ว เฉพาะฟิลด์ที่ตรงกับรูปแบบอินพุตเท่านั้นที่จะมีค่า; ฟิลด์รูปแบบอื่นๆ จะเป็นสตริงว่าง
- Name
glb- Type
- string
- Description
URL สำหรับดาวน์โหลด GLB ที่ซ่อมแล้ว จะมีค่าเมื่ออินพุตเป็น GLB หรือเมื่อใช้
input_task_id
- Name
gltf- Type
- string
- Description
URL สำหรับดาวน์โหลด GLTF ที่ซ่อมแล้ว จะมีค่าเมื่ออินพุตเป็นการอัปโหลด GLTF
- Name
fbx- Type
- string
- Description
URL สำหรับดาวน์โหลด FBX ที่ซ่อมแล้ว จะมีค่าเมื่ออินพุตเป็นการอัปโหลด FBX
- Name
obj- Type
- string
- Description
URL สำหรับดาวน์โหลด OBJ ที่ซ่อมแล้ว จะมีค่าเมื่ออินพุตเป็นการอัปโหลด OBJ
- Name
stl- Type
- string
- Description
URL สำหรับดาวน์โหลด STL ที่ซ่อมแล้ว จะมีค่าเมื่ออินพุตเป็นการอัปโหลด STL
- Name
usdz- Type
- string
- Description
สงวนไว้สำหรับเอาต์พุต USDZ จะเป็นสตริงว่างเสมอสำหรับงานซ่อมความสามารถในการพิมพ์
- Name
3mf- Type
- string
- Description
สงวนไว้สำหรับเอาต์พุต 3MF จะเป็นสตริงว่างเสมอสำหรับงานซ่อมความสามารถในการพิมพ์
- Name
mtl- Type
- string
- Description
สงวนไว้สำหรับเอาต์พุต MTL จะเป็นสตริงว่างเสมอสำหรับงานซ่อมความสามารถในการพิมพ์
- Name
- thumbnail_url
- Type
- string
- Description
URL ของภาพตัวอย่างที่เรนเดอร์จากโมเดลที่ซ่อมแล้ว
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ
thumbnail_urlจะปรากฏเฉพาะเมื่อสร้างงานด้วยalpha_thumbnail: trueและเรนเดอร์ภาพตัวอย่างโปร่งใสสำเร็จ มิฉะนั้นฟิลด์นี้จะถูกละไว้
- Name
- texture_urls
- Type
- array
- Description
เป็นอาร์เรย์ว่างเสมอ การซ่อมรักษาจีออเมทรีของอินพุตไว้เท่านั้น และไม่ได้เบค texture ใหม่
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่ใช้ไปสำหรับงานนี้ เป็น
10เมื่องานไปถึงสถานะSUCCEEDEDคืนค่า0สำหรับงานที่FAILED(เครดิตจะถูกคืนเมื่อล้มเหลว)
- Name
- intended_print
- Type
- object
- Description
เครื่องพิมพ์และขนาดที่ใช้ในการซ่อม ไม่ว่าจะส่งมาหรือนำกลับมาใช้จากงานวิเคราะห์ จะปรากฏตั้งแต่เริ่มต้นสำหรับการซ่อมความหนาผนัง (
PENDING); ค่าที่ยังไม่ทราบจะเป็นnull- Name
printer_type- Type
- string
- Description
fdm,sla, หรือfull_color
- Name
height_mm- Type
- number
- Description
ความสูงของการพิมพ์ในหน่วยมิลลิเมตร หากการพิมพ์ถูกกำหนดขนาดด้วยความสูง มิฉะนั้นเป็น
null
- Name
longest_side_mm- Type
- number
- Description
ด้านที่ยาวที่สุดของการพิมพ์ในหน่วยมิลลิเมตร เมื่อกำหนดขนาดด้วยความสูง จะคำนวณจากสัดส่วนของโมเดล และจะเป็น
nullจนกว่าจะมีการวัดโมเดลแล้ว
- Name
wall_thickness_mm- Type
- number
- Description
ความหนาผนังขั้นต่ำสำหรับ
printer_typeในหน่วยมิลลิเมตร
- Name
dimensions_mm- Type
- array
- Description
[กว้าง, ลึก, สูง]ของการพิมพ์ในหน่วยมิลลิเมตร ความสูงอาจแตกต่างจากheight_mmไปเล็กน้อยเป็นเศษส่วนของมิลลิเมตร เป็นnullจนกว่างานจะสำเร็จ และเป็นnullเสมอสำหรับอินพุตที่ไม่ใช่ GLB
- Name
- print_repair_report
- Type
- object
- Description
สิ่งที่การซ่อมความหนาผนังได้ทำ จะปรากฏเมื่อการซ่อมความหนาผนังสำเร็จแล้ว
- Name
route- Type
- string
- Description
การซ่อมแบบใดที่ทำงาน ค่าใดค่าหนึ่งจาก:
thin_wall: มากกว่า 5% ของพื้นผิวบางเกินไป จึงมีการทำให้ผนังหนาขึ้นด้วย (ดูapplied)topology: ผนังหนาเพียงพอแล้ว; มีเพียงการซ่อม topology ที่ทำงานtopology_unmeasured: ไม่สามารถวัดผนังได้; มีเพียงการซ่อม topology ที่ทำงาน
- Name
applied- Type
- boolean
- Description
การทำให้ผนังหนาขึ้นได้เปลี่ยนแปลงเมชหรือไม่ จะปรากฏเฉพาะเมื่อ
routeเป็นthin_wall
- Name
faces_before- Type
- integer
- Description
จำนวนหน้าของเมชอินพุต จะปรากฏเฉพาะเมื่อ
routeเป็นthin_wall
- Name
faces_after- Type
- integer
- Description
จำนวนหน้าของเมชที่ซ่อมแล้ว จะปรากฏเฉพาะเมื่อ
routeเป็นthin_wall
- Name
thin_area_ratio_before- Type
- number
- Description
สัดส่วนของพื้นผิวของอินพุต ตั้งแต่
0ถึง1ที่บางกว่าintended_print.wall_thickness_mmจะถูกละไว้หากไม่สามารถวัดอินพุตได้
- Name
thin_area_ratio_after- Type
- number
- Description
สัดส่วนเดียวกัน วัดจากโมเดลที่ซ่อมแล้ว จะถูกละไว้หากไม่สามารถวัดได้; งานยังคงสำเร็จ
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
The Repair Printability Task Object (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000090000,
"expires_at": 1715725490000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10,
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"print_repair_report": {
"route": "thin_wall",
"applied": true,
"faces_before": 243112,
"faces_after": 251870,
"thin_area_ratio_before": 0.083,
"thin_area_ratio_after": 0.004
}
}