프린팅 가능성 분석 API
3D 모델을 대상으로 수밀성, 부피, 구멍, 비매니폴드 에지, 퇴화 면 등 프린팅 가능성을 분석합니다. 선택적으로, 프린팅하려는 크기에서 벽 두께도 확인할 수 있습니다.
Create an Analyze Printability Task
이 엔드포인트는 새로운 프린팅 가능성 분석 작업을 생성합니다. 이 작업은 3D 모델을 평가하고 그 프린팅 가능성 지표를 보고합니다.
작업은 백그라운드에서 실행됩니다. 일반적으로 소요되는 시간에 대해서는 처리 시간을 참고하세요.
입력 작업에 이미 캐시된 프린팅 가능성 정보가 있는 경우, 반환된 작업은 즉시 준비 상태가 되며 이에 대한 첫 번째 GET 요청은 워커를 거치지 않고 분석 결과를 반환합니다.
출력하려는 크기에서의 벽 두께도 확인하려면 printer_type, 출력 크기, 또는 둘 다 전송하세요. 결과는 printability.thin_walls로 반환됩니다. 벽 두께 확인에는 시간이 더 걸리므로, 모델이 이전에 분석된 적이 있더라도 해당 작업은 보통 즉시 준비되지 않습니다.
파라미터
input_task_id 또는 model_url 중 하나만 필수입니다. 둘 다 제공된 경우, input_task_id가 우선합니다.
- Name
- input_task_id
- Type
- string
- 필수
- Description
사용자가 소유한 성공한 작업의 ID입니다. 지원되는 작업 유형: 이미지로 3D, 멀티 이미지로 3D, 텍스트로 3D, 리메시, 리텍스처. 작업은 Meshy 6 이상(Meshy 7 포함)을 사용해야 하며 상태가
SUCCEEDED여야 합니다. 프린팅 가능성 복구 작업도 허용됩니다.
- Name
- model_url
- Type
- string
- 필수
- Description
분석할 3D 모델의 URL입니다. 지원되는 형식:
.glb,.gltf,.obj,.fbx,.stl.http또는httpsURL을 사용하거나, GLB(data:model/gltf-binary;base64,...) 또는 glTF(data:model/gltf+json;base64,...)용 base64data:URL을 사용하세요..obj,.fbx,.stl파일은http또는httpsURL로 전송해야 합니다.최대 파일 크기:
http또는httpsURL의 경우 400MB,data:URI의 경우 100MB.100MB를 초과하는 GLB, glTF, FBX 또는 OBJ 파일은 최대 10,000,000개의 면(face)을 가질 수 있습니다. 면은 삼각형 단위로 계산되며, 사각형은 2개로 계산되고, 여러 번 그려진 메시는 복사본마다 한 번씩 계산됩니다. 100MB를 초과하는 경우 FBX 파일은 바이너리 FBX 7.1 이상이어야 하며, GLB 또는 glTF 파일은 Draco 압축을 사용하지 않아야 합니다.
Meshy 다운로드 URL(
assets.meshy.ai/…?Expires=…&Signature=…)은 서명되어 있으며 작업의expires_at에 도달하면 작동이 중지됩니다. 작업을 다시 가져와도 갱신되지 않습니다. Meshy로 생성된 모델의 경우, 대신input_task_id를 전달하세요. 이는 원본 작업이 보존되어 있는 동안 작동합니다(자세한 내용은 에셋 보존 참고). 이후에 모델을 재사용하려면expires_at이전에 다운로드하여 직접 보관한 사본을 전송하세요.
두 가지 출력 크기 필드 중 최대 하나만 전송하세요. 크기 없이 printer_type을 보내는 경우, 기본 크기는 다음과 같습니다:
.glb및 모든input_task_id: 높이 150mm..stl: 밀리미터 단위로 해석된 파일 자체의 가장 긴 변. 다른 단위를 사용하는 STL의 경우intended_print_longest_side_mm을 전송하세요..obj,.fbx,.gltf: 가장 긴 변 기준 150mm.
- Name
- printer_type
- Type
- string
- Description
사용할 프린터입니다. 벽 두께 확인을 위한 최소 벽 두께를 설정합니다. 크기 없이 전송되면 기본값은
fdm입니다.사용 가능한 값:
fdm: 필라멘트, 최소 벽 두께 1.0mm.sla: 레진, 최소 벽 두께 0.8mm.full_color: 풀 컬러, 최소 벽 두께 2.0mm.
- 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이 형식이 잘못되었거나, 지원되지 않는 스킴을 사용하거나, 지원되지 않는 파일 확장자를 가지고 있습니다. - 모델 파일이 너무 큼:
model_url본문이 400MB(http또는httpsURL) 또는 100MB(data:URI)를 초과했습니다. - 면 수가 너무 많음:
model_url이 100MB를 초과하는 GLB, glTF, FBX 또는 OBJ 파일이며 면 수가 10,000,000개를 초과합니다. 면 수를 줄인 후 파일을 다시 전송하세요. - 100MB를 초과하는 ASCII FBX:
model_url이 100MB를 초과하는 ASCII FBX입니다. 바이너리 FBX 또는 GLB로 전송하세요. - 읽을 수 없는 모델 파일:
model_url이 100MB를 초과하며 헤더를 읽을 수 없습니다. 예: Draco 압축된 GLB 또는 glTF, 또는 7.1 이전 버전의 바이너리 FBX. - 모델 헤더가 너무 복잡함:
model_url이 100MB를 초과하며 헤더에 확인해야 할 메시, 노드 또는 레코드가 너무 많습니다. 파일 내 객체 수를 줄인 후 다시 전송하세요. - 모델 파일을 다운로드할 수 없음:
model_url이 오류를 반환했으며, 대개 서명된 Meshy 다운로드 URL이 만료되었기 때문입니다. 작업을 다시 가져와도 동일한 만료 시간을 가진 동일한 URL이 반환되므로, 직접 보관한 파일 사본을 전송하거나, 원본 작업이 아직 보존되어 있는 동안input_task_id를 사용하세요. - 작업이 성공하지 않음: 참조된 작업이 아직 대기 중이거나 진행 중이거나 실패했습니다.
- 잘못된 출력 크기:
intended_print_height_mm또는intended_print_longest_side_mm이[1, 1000]범위를 벗어났거나, 둘 다 전송되었습니다. - 알 수 없는 프린터 유형:
printer_type이fdm,sla,full_color중 하나가 아닙니다. - GLB가 아닌 모델에 높이 지정:
intended_print_height_mm이.glb가 아닌model_url과 함께 전송되었습니다. 대신intended_print_longest_side_mm을 사용하세요. - 이 모델은 높이로 크기를 지정할 수 없음: 요청된 높이(또는 기본값 150mm)에서 모델의 가장 긴 변이
[1, 1000]mm 범위를 벗어나거나, 모델이 평평하거나, 크기를 판단할 수 없습니다. 대신intended_print_longest_side_mm을 사용하세요..glbmodel_url과 일부input_task_id작업의 경우, 이는 작업이 시작된 후에야 발견되며 작업은 대신FAILED로 종료됩니다. - STL 크기를 사용할 수 없음:
printer_type이 크기 없이 전송되었으며,.stl자체의 가장 긴 변을 읽을 수 없거나[1, 1000]mm 범위를 벗어납니다.intended_print_longest_side_mm을 전송하세요.
- 파라미터 누락:
- Name
401 - Unauthorized- Description
인증에 실패했습니다. API 키를 확인해 주세요.
- Name
404 - Not Found- Description
일반적인 원인:
- 작업이 존재하지 않거나, 삭제되었거나, 다른 사용자가 소유하고 있습니다.
- 작업이 Meshy 6보다 오래된 모델을 사용하거나, 해당 mode가 3D 에셋을 생성하지 않습니다.
- 기반이 되는 모델 파일이 더 이상 저장소에 존재하지 않습니다.
- Name
429 - Too Many Requests- Description
대기 중인 작업 할당량 또는 속도 제한을 초과했습니다.
Request
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb"
}'
# Also check wall thickness for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/analyze \
-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"
}
프린팅 가능성 분석 작업 조회
이 엔드포인트는 ID를 통해 프린팅 가능성 분석 작업을 조회합니다.
매개변수
- Name
- id
- Type
- path
- Description
조회할 프린팅 가능성 분석 작업의 ID입니다.
반환값
프린팅 가능성 분석 작업 객체를 반환합니다. printability 필드는 작업이 SUCCEEDED 상태에 도달하기 전까지는 null입니다. 벽 두께가 확인된 경우, printability에는 intended_print와 thin_walls도 포함됩니다.
Request
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
Response (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000012000,
"expires_at": 1715725412000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "error",
"issue_count": 2,
"error_count": 1,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"thin_walls": {
"thin_area_ratio": 0.083,
"has_thin_walls": true,
"status": "error"
},
"evaluated_at": 1700000012000
},
"consumed_credits": 0
}
프린팅 가능성 분석 작업 삭제
이 엔드포인트는 프린팅 가능성 분석 작업과 캐시된 결과를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.
경로 매개변수
- Name
- id
- Type
- path
- Description
삭제할 프린팅 가능성 분석 작업의 ID입니다.
작업 상태
아직 PENDING 상태인 작업은 삭제되며, 생성 시 소비된 크레딧이
환불됩니다.
이미 IN_PROGRESS 상태인 작업은 삭제할 수 없습니다. 요청은
409 Conflict로 거부되며 작업은 계속 실행됩니다. 워커가 이미 시작한
작업의 크레딧은 환불되지 않으므로, 실행 중에 삭제하면 크레딧과 결과를
모두 잃게 됩니다. 작업이 SUCCEEDED, FAILED 또는 CANCELED 상태에
도달할 때까지 기다린 후 삭제하세요.
종료 상태(SUCCEEDED, FAILED 또는 CANCELED)의 작업은 환불 없이
삭제됩니다.
반환 값
성공 시 200 OK를 반환하며, 작업이 IN_PROGRESS 상태인 경우
409 Conflict를 반환합니다.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/analyze/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부터 시작하며 기본값은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/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
]
프린팅 가능성 분석 작업 스트리밍
이 엔드포인트는 Server-Sent Events(SSE)를 사용하여 프린팅 가능성 분석 작업에 대한 실시간 업데이트를 스트리밍합니다.
매개변수
- Name
- id
- Type
- path
- Description
스트리밍할 프린팅 가능성 분석 작업의 고유 식별자입니다.
반환값
Analyze Printability Task Objects의 스트림을 Server-Sent Events 형태로 반환합니다.
모든 프레임은 해당 단계의 전체 작업 객체를 담고 있으며 — Get 엔드포인트가 반환하는 것과 동일한 형태입니다 — 따라서 작업이 PENDING 또는 IN_PROGRESS 상태인 동안에는 출력 필드가 아직 채워지지 않은 상태(null, [] 또는 {})이며 finished_at은 null입니다. printability 블록은 작업이 SUCCEEDED 상태에 도달했을 때만 전송됩니다.
Request
curl -N https://api.meshy.ai/openapi/v1/print/analyze/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-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
프린팅 가능성 분석 작업 객체
- Name
- id
- Type
- string
- Description
작업의 고유 식별자입니다. 구현 세부사항으로서 작업 id에 k-sortable UUID를 사용하고 있지만, id의 형식에 대해서는 어떠한 가정도 하지 않아야 합니다.
- Name
- type
- Type
- string
- Description
프린팅 가능성 분석 작업의 유형입니다. 값은
print-analyze입니다.
- 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
- printability
- Type
- object
- Description
프린팅 가능성 평가 결과입니다. 작업이
SUCCEEDED에 도달하기 전까지는null입니다.- Name
_version- Type
- string
- Description
프린팅 가능성 결과의 스키마 버전입니다. 현재는
v1입니다.
- Name
status- Type
- string
- Description
전체 상태입니다. 다음 중 하나입니다:
healthy: 오류도 경고도 없음.warning: 경고가 하나 이상 있지만 오류는 없음.error: 오류가 하나 이상 있음.unknown: 모델을 분석할 수 없음.
벽 두께를 검사한 경우, 이 값은 위 검사 결과와
thin_walls.status중 더 나쁜 쪽입니다. 나쁜 순서부터 좋은 순서로는error,warning,unknown,healthy입니다.
- Name
issue_count- Type
- integer
- Description
전체 이슈 수로,
error_count + warning_count와 같습니다.
- Name
error_count- Type
- integer
- Description
오류 수준 이슈의 수입니다. 모델이 워터타이트하지 않거나, 부피가 0 이하이거나, 비매니폴드 에지가 있는 경우 오류가 발생합니다. 벽 두께를 검사한 경우, 벽이 너무 얇으면(
thin_walls.status가error) 오류가 하나 더 추가됩니다.
- Name
warning_count- Type
- integer
- Description
경고 수준 이슈의 수입니다. 모델에 퇴화 면 또는 구멍이 있는 경우 경고가 발생합니다.
- Name
metrics- Type
- object
- Description
평가기가 반환한 원시 지오메트리 측정값입니다.
- Name
is_watertight- Type
- boolean
- Description
메시에 경계 에지가 없는(즉, 닫혀 있는) 경우
true입니다.
- Name
volume- Type
- number
- Description
모델의 부피로, 세제곱 미터 단위입니다.
- Name
non_manifold_edges- Type
- integer
- Description
비매니폴드 에지의 수입니다.
- Name
degenerate_faces- Type
- integer
- Description
퇴화 면(면적이 0이거나 유효하지 않은 면)의 수입니다.
- Name
holes- Type
- integer
- Description
메시의 구멍(경계 루프) 수입니다.
- Name
intended_print- Type
- object
- Description
벽 두께 검사에 사용된 프린터와 크기입니다. 벽 두께를 검사한 경우에만 존재합니다.
- Name
printer_type- Type
- string
- Description
fdm,sla, 또는full_color입니다.
- Name
height_mm- Type
- number
- Description
프린트 크기가 높이로 지정된 경우, 밀리미터 단위의 프린트 높이입니다. 그렇지 않으면
null입니다.
- Name
longest_side_mm- Type
- number
- Description
밀리미터 단위의 프린트의 가장 긴 변입니다. 높이로 크기가 지정된 경우, 모델의 비율로부터 계산됩니다.
- Name
wall_thickness_mm- Type
- number
- Description
printer_type에 대한 최소 벽 두께로, 밀리미터 단위입니다. 이보다 얇은 벽은 너무 얇은 것으로 보고됩니다.
- Name
dimensions_mm- Type
- array
- Description
밀리미터 단위의 프린트
[너비, 깊이, 높이]입니다. 높이는height_mm과 1밀리미터 미만의 차이가 날 수 있습니다. GLB가 아닌 입력이거나 모델의 크기를 확인할 수 없는 경우null입니다.
- Name
thin_walls- Type
- object
- Description
벽 두께 검사 결과입니다. 벽 두께를 검사한 경우에만 존재합니다.
- Name
thin_area_ratio- Type
- number
- Description
intended_print.wall_thickness_mm보다 얇은 표면의 비율로,0에서1사이입니다. 모델을 측정할 수 없는 경우null입니다.
- Name
has_thin_walls- Type
- boolean
- Description
표면의 일부가 너무 얇은 경우
true입니다. 날카로운 모서리만으로도 이 값이 설정될 수 있으므로, 벽을 두껍게 해야 하는지는status를 기준으로 판단하세요. 모델을 측정할 수 없는 경우null입니다.
- Name
status- Type
- string
- Description
벽 두께 판정 결과입니다. 다음 중 하나입니다:
healthy: 표면의 5% 이하가 너무 얇음.error: 표면의 5%를 초과하는 부분이 너무 얇음. 벽을 두껍게 하려면 이 작업의id를 프린팅 가능성 복구에input_task_id로 전달하세요(model_url이.stl,.fbx, 또는.gltf인 경우에는 대신 해당 파일을model_url로 전송하세요).unknown: 모델을 측정할 수 없음. 벽 두께 검사 자체가 실패하면 작업은FAILED로 종료됩니다.
- Name
evaluated_at- Type
- timestamp
- Description
분석이 계산된 시점의 타임스탬프로, epoch 이후 밀리초 단위입니다.
- Name
- consumed_credits
- Type
- integer
- Description
항상
0입니다. 이 엔드포인트는 무료입니다.
The Analyze Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
The Analyze Printability Task Object (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000012000,
"expires_at": 1715725412000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "error",
"issue_count": 2,
"error_count": 1,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"thin_walls": {
"thin_area_ratio": 0.083,
"has_thin_walls": true,
"status": "error"
},
"evaluated_at": 1700000012000
},
"consumed_credits": 0
}