lowpoly는 2026. 10. 30.에 지원 종료됩니다. 요청 오류를 피하려면 해당 날짜 전에 모델을 전환하세요. 모든 지원 중단 보기

프린팅 가능성 분석 API

3D 모델의 수밀성, 부피, 홀, 비매니폴드 에지, 퇴화 면을 측정하여 프린팅 문제를 확인하세요. 프린팅할 예정인 크기에서의 벽 두께도 확인할 수 있습니다.


POST/openapi/v1/print/analyze

프린팅 가능성 분석 작업 생성하기

프린팅 가능성 분석 작업을 생성하면 3D 모델을 평가하고 프린팅 가능성 지표를 보고합니다. 이 작업은 백그라운드에서 실행됩니다. 작업이 보통 얼마나 걸리는지는 처리 시간을 참고하세요.

Meshy가 input_task_id 작업에 대한 프린팅 가능성 결과를 이미 가지고 있다면, 새 작업은 즉시 준비됩니다. 처음 GET을 호출하면 결과가 반환됩니다.

Request

POST
/openapi/v1/print/analyze
# 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"
}

파라미터

  • Name
    input_task_id
    Type
    string
    필수
    Description

    model_url을 보내지 않는 한 필수입니다. 분석하려는 모델이 속한 작업의 ID입니다. 해당 작업은 SUCCEEDED 상태여야 하며, 본인의 작업이거나 본인이 속한 작업 공간의 작업이어야 합니다.

    다음 작업 유형 중 하나일 수 있으며, Meshy 6 이상(Meshy 7 포함)을 사용해야 합니다:

    프린팅 가능성 복구 작업도 사용할 수 있습니다.

  • Name
    model_url
    Type
    string
    필수
    Description

    input_task_id를 보내지 않는 한 필수입니다. 분석할 모델을 공개 URL 또는 data URI 형태로 지정합니다. 둘 다 보낸 경우 Meshy는 input_task_id를 사용합니다.

    http 또는 https URL로 보낼 경우, 모델은 최대 400MB 크기의 .glb, .gltf, .obj, .fbx, .stl 파일이어야 합니다. data URI는 최대 100MB 크기의 base64 GLB(data:model/gltf-binary;base64,...) 또는 glTF(data:model/gltf+json;base64,...) 파일만 담을 수 있습니다. .obj, .fbx, .stl 파일은 http 또는 https URL로 보내세요.

    100MB를 초과하는 파일은 다음 규칙도 따라야 합니다:

    • GLB, glTF, FBX, OBJ 파일은 최대 10,000,000개의 면을 가질 수 있습니다. Meshy는 면을 삼각형 단위로 계산하므로, 사각형은 2개로 계산되며, 두 번 이상 그려진 메시는 복사본마다 1개씩 계산됩니다.
    • FBX 파일은 바이너리 FBX 7.1 이상이어야 합니다.
    • GLB 또는 glTF 파일은 Draco 압축을 사용하면 안 됩니다.

    Meshy 다운로드 URL(assets.meshy.ai/…?Expires=…&Signature=…)은 서명되어 있으며 해당 작업의 expires_at 시점에 작동이 중지됩니다. 작업을 다시 읽어도 갱신되지 않습니다. Meshy로 만든 모델의 경우, 대신 input_task_id를 보내세요. 이는 Meshy가 원본 작업을 보존하는 동안 작동합니다(에셋 보존 참고). 그 이후에도 모델을 사용하려면 expires_at 이전에 다운로드한 후 본인의 사본을 보내세요.

프린팅할 크기에서 벽 두께도 함께 확인하려면 printer_type, 출력 크기, 또는 둘 다 보내세요. 결과는 printability.thin_walls에 담깁니다. 벽 두께 확인에는 시간이 더 걸리므로, Meshy가 이전에 해당 모델을 분석한 적이 있더라도 작업이 보통 즉시 준비되지 않습니다.

  • Name
    printer_type
    Type
    string
    Description

    사용할 프린터입니다. 벽 두께 확인에 적용할 최소 벽 두께를 설정합니다. printer_type 없이 출력 크기를 보내면 Meshy는 fdm을 사용합니다.

    사용 가능한 값:

    • fdm: 필라멘트, 최소 벽 두께 1.0mm
    • sla: 레진, 최소 벽 두께 0.8mm
    • full_color: 풀컬러, 최소 벽 두께 2.0mm

    그 외의 값을 보내면 400이 반환됩니다.

  • Name
    intended_print_height_mm
    Type
    number
    Description

    출력물의 높이(밀리미터 단위), 1에서 1000 사이의 값입니다. 범위를 벗어나면 400이 반환됩니다. 이 값 또는 intended_print_longest_side_mm 중 하나만 보내세요.

    GLB 입력에만 작동합니다. .glb 파일이 아닌 model_url의 경우 대신 intended_print_longest_side_mm을 보내세요.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    출력물의 가장 긴 변의 길이(밀리미터 단위), 1에서 1000 사이의 값입니다. 범위를 벗어나면 400이 반환됩니다. 모든 입력 형식에서 작동합니다.

크기 없이 printer_type만 보내면 Meshy는 다음 출력 크기를 사용합니다:

  • .glb 파일 또는 모든 input_task_id: 높이 150mm
  • .stl 파일: 파일 자체의 가장 긴 변, 밀리미터 단위로 읽음
  • .obj, .fbx, .gltf 파일: 가장 긴 변 150mm

단위가 다른 STL 파일의 경우 intended_print_longest_side_mm을 보내세요.

Meshy는 두 출력 크기 모두 가장 가까운 밀리미터 단위로 반올림합니다.

반환값

응답의 result 필드에는 새로 생성된 프린팅 가능성 분석 작업의 ID가 담깁니다.

실패 모드

  • Name
    400 - Bad Request
    Description

    요청을 실행할 수 없습니다. 오류 메시지에 발견된 문제가 표시됩니다. 예를 들면:

    • 파라미터 누락: input_task_id와 model_url 둘 다 보내지 않았습니다.
    • 잘못된 UUID: input_task_id가 유효한 UUID가 아닙니다.
    • 잘못된 모델 URL: model_url이 형식에 맞지 않거나, 지원되지 않는 스킴을 사용하거나, 지원되지 않는 파일 확장자를 가지고 있습니다.
    • 모델 파일이 너무 큼: model_url 파일이 http 또는 https URL로 보낸 경우 400MB를 초과하거나, data URI로 보낸 경우 100MB를 초과합니다.
    • 면 수가 너무 많음: model_url 파일이 100MB를 초과하는 GLB, glTF, FBX, OBJ 파일이며 면이 10,000,000개를 초과합니다. 면 수를 줄인 후 다시 파일을 보내세요.
    • ASCII FBX가 100MB 초과: model_url 파일이 100MB를 초과하는 ASCII FBX입니다. 바이너리 FBX 또는 GLB로 보내세요.
    • 읽을 수 없는 모델 파일: model_url 파일이 100MB를 초과하며, Meshy가 헤더를 읽을 수 없습니다. 예를 들어 Draco로 압축된 GLB나 glTF, 또는 7.1보다 오래된 바이너리 FBX일 수 있습니다.
    • 모델 헤더가 너무 복잡함: model_url 파일이 100MB를 초과하며, 헤더에 확인해야 할 메시, 노드, 레코드가 너무 많습니다. 파일 내 객체 수를 줄인 후 다시 보내세요.
    • 모델 파일을 다운로드할 수 없음: model_url에서 오류가 반환되었으며, 대부분 서명된 Meshy 다운로드 URL이 만료된 경우입니다. 작업을 다시 읽어도 동일한 만료 시점의 동일한 URL이 반환됩니다. 본인의 파일 사본을 보내거나, Meshy가 원본 작업을 보존하는 동안 input_task_id를 보내세요.
    • 작업이 완료되지 않음: 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이 있고 model_url이 .glb 파일이 아닙니다. 대신 intended_print_longest_side_mm을 보내세요.
    • 이 모델은 높이로 크기를 지정할 수 없음: 요청한 높이나 기본값 150mm를 기준으로 할 때, 모델의 가장 긴 변이 1~1,000mm 범위를 벗어납니다. 모델이 평평하거나 Meshy가 크기를 판단할 수 없는 경우에도 발생합니다. 대신 intended_print_longest_side_mm을 보내세요. .glb 형식의 model_url이나 일부 input_task_id 작업의 경우, Meshy는 작업이 시작된 후에야 이를 발견하며, 이 경우 작업은 대신 FAILED로 종료됩니다.
    • STL 크기를 사용할 수 없음: 요청에 크기 없이 printer_type이 있고, Meshy가 .stl 파일 자체의 가장 긴 변을 읽을 수 없거나, 그 값이 1~1,000mm 범위를 벗어났습니다. intended_print_longest_side_mm을 보내세요.

    요청을 수정한 후 다시 보내세요. 오류를 참고하세요.

  • Name
    401 - Unauthorized
    Description

    API 키가 없거나 유효하지 않습니다. Authorization 헤더를 확인하세요.

  • Name
    403 - Forbidden
    Description

    input_task_id가 바스-릴리프 모델이며, 이 엔드포인트는 이를 분석할 수 없습니다. 메시지는 This model type does not support this operation입니다. 다른 모델을 보내세요.

  • Name
    404 - Not Found
    Description

    Meshy가 input_task_id에 대해 분석할 모델을 찾을 수 없습니다. 예를 들면:

    • 작업이 존재하지 않거나, 삭제되었거나, 본인의 작업이 아니거나 본인이 속한 작업 공간의 작업이 아닙니다.
    • 작업이 Meshy 6보다 오래된 모델을 사용하거나, 해당 유형이 3D 모델을 생성하지 않습니다.
    • 작업의 모델 파일이 더 이상 스토리지에 없습니다.

    input_task_id가 지원되는 작업이며 본인의 것이거나 본인이 속한 작업 공간 중 하나에 있는지 확인하거나, 모델을 model_url로 보내세요.

  • Name
    429 - Too Many Requests
    Description

    속도 제한을 초과했거나, 대기 중인 작업이 너무 많습니다. 기다렸다가 다시 시도하세요. 속도 제한을 참고하세요.


GET/openapi/v1/print/analyze/:id

프린팅 가능성 분석 작업 가져오기

ID로 프린팅 가능성 분석 작업을 반환합니다.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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
}

Parameters

  • Name
    id
    Type
    path
    Description

    생성 응답에서 받은 작업 ID입니다.

Returns

프린팅 가능성 분석 작업 객체를 반환합니다. printability 필드는 작업이 SUCCEEDED 상태가 되기 전까지는 존재하지 않습니다. Meshy가 벽 두께를 확인한 경우, printability에는 intended_print와 thin_walls도 포함됩니다.


DELETE/openapi/v1/print/analyze/:id

프린팅 가능성 분석 작업 삭제

프린팅 가능성 분석 작업을 캐시된 결과를 포함하여 영구적으로 삭제합니다. 삭제는 취소할 수 없습니다.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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 keeps 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
    id
    Type
    path
    Description

    삭제할 작업의 ID입니다.

작업 상태

PENDING 상태인 작업을 삭제하면 작업 생성 시 사용된 크레딧이 환불됩니다.

IN_PROGRESS 상태인 작업은 삭제할 수 없습니다. 요청은 409 Conflict를 반환하며, 작업은 계속 실행됩니다. Meshy는 이미 시작된 작업에 대해서는 환불을 제공하지 않으므로, 이를 삭제하면 크레딧과 결과를 모두 잃게 됩니다. 작업이 SUCCEEDED, FAILED, 또는 CANCELED 상태에 도달할 때까지 기다린 후 삭제하세요.

최종 상태(SUCCEEDED, FAILED, 또는 CANCELED)인 작업을 삭제해도 크레딧은 환불되지 않습니다.

반환 값

작업이 삭제되면 200 OK를 반환하고, 작업이 IN_PROGRESS 상태이면 409 Conflict를 반환합니다.


GET/openapi/v1/print/analyze

프린팅 가능성 분석 작업 목록

사용자의 프린팅 가능성 분석 작업 목록을 반환합니다.

Request

GET
/openapi/v1/print/analyze
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
  }
]

매개변수

  • Name
    page_num
    Type
    integer
    기본값 1
    Description

    반환할 페이지 번호이며, 1부터 시작합니다.

  • Name
    page_size
    Type
    integer
    기본값 10
    Description

    페이지당 작업 수이며, 최대 100까지 가능합니다.

  • Name
    sort_by
    Type
    string
    Description

    정렬 순서입니다.

    사용 가능한 값:

    • +created_at: 오래된 순
    • -created_at: 최신 순

반환 값

프린팅 가능성 분석 작업 객체의 페이지네이션 목록입니다.


GET/openapi/v1/print/analyze/:id/stream

프린팅 가능성 분석 작업 스트리밍

프린팅 가능성 분석 작업의 업데이트를 서버-전송 이벤트(SSE)로 스트리밍합니다.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
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 following PENDING frame 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
    path
    Description

    생성 응답에서 받은 작업 ID입니다.

반환값

프린팅 가능성 분석 작업 객체의 스트림을 서버-전송 이벤트로 반환합니다.

각 이벤트는 Get 엔드포인트가 반환하는 것과 동일한 형태의 전체 작업 객체를 담고 있습니다. 작업이 PENDING 또는 IN_PROGRESS 상태인 동안에는 출력 필드가 비어 있으며(null, [], 또는 {}), finished_at은 0입니다. Meshy는 작업이 SUCCEEDED 상태가 된 이후에만 printability 필드를 전송합니다.


The Analyze Printability task object

Analyze Printability 작업 객체는 3D 모델의 분석 하나를 설명합니다. 이 객체는 상태, progress, 그리고 작업이 성공했을 때의 프린팅 가능성 결과를 담고 있습니다.

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
}
  • Name
    id
    Type
    string
    Description

    작업 ID입니다. 불투명한 문자열로 취급하고, 그 형식에 의존하지 마세요.

  • Name
    type
    Type
    string
    Description

    작업 유형이며, 항상 print-analyze입니다.

  • Name
    status
    Type
    string
    Description

    작업 상태이며, PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED 중 하나입니다.

  • Name
    progress
    Type
    integer
    Description

    작업이 완료된 정도를 백분율로 나타냅니다. 작업이 시작되기 전에는 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 상태가 되기 전까지는 존재하지 않습니다.

    • Name
      _version
      Type
      string
      Description

      프린팅 가능성 결과의 스키마 버전입니다. 값은 v1입니다.

    • Name
      status
      Type
      string
      Description

      전체 판정 결과이며, 다음 중 하나입니다:

      • healthy: 오류도 경고도 없음
      • warning: 경고가 하나 이상 있고 오류는 없음
      • error: 오류가 하나 이상 있음
      • unknown: Meshy가 모델을 분석할 수 없었음

      Meshy가 벽 두께를 확인한 경우, 이 값은 메시 검사와 thin_walls.status 중 더 나쁜 쪽입니다. 나쁜 순서부터 좋은 순서로 나열하면 error, warning, unknown, healthy 순입니다.

    • Name
      issue_count
      Type
      integer
      Description

      전체 문제 수로, error_count + warning_count와 같습니다.

    • Name
      error_count
      Type
      integer
      Description

      오류 수준 문제의 수입니다. Meshy는 다음 각 항목에 대해 오류 하나를 계산합니다:

      • 모델이 워터타이트하지 않고 구멍이 8개보다 많은 경우.
      • 모델에 구멍이 8개보다 많은 경우.
      • 부피가 0 이하인 경우.
      • 모델에 비매니폴드 에지가 50개보다 많은 경우.

      Meshy가 벽 두께를 확인한 경우, 너무 얇은 벽(thin_walls.status가 error)은 오류 하나로 추가 계산됩니다.

    • Name
      warning_count
      Type
      integer
      Description

      경고 수준 문제의 수입니다. Meshy는 다음 각 항목에 대해 경고 하나를 계산합니다:

      • 모델이 워터타이트하지 않고 구멍이 8개 이하인 경우.
      • 모델에 구멍이 1개에서 8개 있는 경우.
      • 모델에 비매니폴드 에지가 1개에서 50개 있는 경우.
      • 모델에 퇴화 면이 있는 경우.
    • 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

      벽 두께 검사에 사용된 프린터와 크기입니다. Meshy가 벽 두께를 확인한 경우에만 존재합니다.

      • Name
        printer_type
        Type
        string
        Description

        프린터 유형으로, fdm, sla, full_color 중 하나입니다.

      • Name
        height_mm
        Type
        number
        Description

        프린트가 높이 기준으로 크기가 정해질 때의 프린트 높이로, 밀리미터 단위입니다. 그렇지 않으면 null입니다.

      • Name
        longest_side_mm
        Type
        number
        Description

        프린트의 가장 긴 변의 길이로, 밀리미터 단위입니다. 프린트가 높이 기준으로 크기가 정해질 때, Meshy는 모델의 비율로부터 이 값을 계산합니다.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        printer_type에 대한 최소 벽 두께로, 밀리미터 단위입니다. Meshy는 이보다 얇은 벽을 너무 얇다고 보고합니다.

      • Name
        dimensions_mm
        Type
        array
        Description

        프린트의 [width, depth, height]로, 밀리미터 단위입니다. 높이는 밀리미터의 일부 단위로 height_mm와 다를 수 있습니다. GLB 외의 입력이거나 Meshy가 모델의 크기를 판단할 수 없는 경우 null입니다.

    • Name
      thin_walls
      Type
      object
      Description

      벽 두께 검사의 결과입니다. Meshy가 벽 두께를 확인한 경우에만 존재합니다.

      • Name
        thin_area_ratio
        Type
        number
        Description

        intended_print.wall_thickness_mm보다 얇은 표면의 비율로, 0에서 1까지의 값입니다. Meshy가 모델을 측정할 수 없었을 때는 null입니다.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        표면의 어느 부분이라도 너무 얇으면 true입니다. 날카로운 모서리만으로도 이 값이 true가 될 수 있으므로, 벽을 두껍게 할 필요가 있는지는 status를 사용해 판단하세요. Meshy가 모델을 측정할 수 없었을 때는 null입니다.

      • Name
        status
        Type
        string
        Description

        벽 두께 판정 결과이며, 다음 중 하나입니다:

        • healthy: 표면의 5% 이하가 너무 얇음.
        • error: 표면의 5%보다 많은 부분이 너무 얇음. 벽을 두껍게 하려면, 이 작업의 id를 input_task_id로 하여 Repair Printability에 전송하세요. 이 작업이 model_url에서 가져온 .stl, .fbx, .gltf 파일을 분석한 경우라면, 대신 그 파일을 model_url로 전송하세요.
        • unknown: Meshy가 모델을 측정할 수 없었음. 벽 두께 검사 자체가 실패하면, 작업은 FAILED로 종료됩니다.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Meshy가 분석을 계산한 시각으로, 유닉스 밀리초 단위입니다.

  • Name
    consumed_credits
    Type
    integer
    Description

    작업이 사용한 크레딧의 수입니다. 분석은 무료이므로 항상 0입니다.