lowpoly zostanie wycofany 30 paź 2026. Zmień model przed tymi datami, aby uniknąć błędów żądań. Zobacz wszystkie wycofania

Analizuj drukowalność API

Sprawdź model 3D pod kątem problemów z drukiem, mierząc jego szczelność, objętość, otwory, krawędzie non-manifold oraz zdegenerowane ściany. Możesz również sprawdzić grubość ścianki przy rozmiarze, w jakim planujesz drukować.


POST/openapi/v1/print/analyze

Create an Analyze Printability task

Tworzy zadanie Analizuj drukowalność, które ocenia model 3D i raportuje jego wskaźniki drukowalności. Zadanie działa w tle. Informacje o tym, jak długo zwykle trwa zadanie, znajdziesz w Czasy przetwarzania.

Gdy Meshy ma już wynik drukowalności dla zadania input_task_id, nowe zadanie jest gotowe od razu. Pierwsze wywołanie GET na nim zwraca wynik.

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"
}

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    Wymagane, chyba że wyślesz model_url. ID zadania, którego model chcesz przeanalizować. Zadanie musi mieć status SUCCEEDED i musi być Twoje lub znajdować się w obszarze roboczym, do którego należysz.

    Może to być jeden z tych typów zadań, z użyciem Meshy 6 lub nowszego, w tym Meshy 7:

    Działa również zadanie Napraw drukowalność.

  • Name
    model_url
    Type
    string
    Wymagane
    Description

    Wymagane, chyba że wyślesz input_task_id. Model do analizy, jako publiczny URL lub Data URI. Jeśli wyślesz oba, Meshy użyje input_task_id.

    Dla adresu http lub https, model musi być plikiem .glb, .gltf, .obj, .fbx lub .stl o rozmiarze maksymalnie 400 MB. Data URI może zawierać tylko plik GLB zakodowany w base64 (data:model/gltf-binary;base64,...) lub glTF (data:model/gltf+json;base64,...) o rozmiarze maksymalnie 100 MB. Plik .obj, .fbx lub .stl należy wysłać jako adres http lub https.

    Plik większy niż 100 MB musi dodatkowo spełniać następujące zasady:

    • Plik GLB, glTF, FBX lub OBJ może mieć maksymalnie 10 000 000 ścianek. Meshy liczy ścianki jako trójkąty, więc czworokąt liczony jest jako 2, a siatka narysowana więcej niż raz liczy się raz na każdą kopię.
    • Plik FBX musi być binarnym FBX w wersji 7.1 lub nowszej.
    • Plik GLB lub glTF nie może używać kompresji Draco.

    URL do pobrania z Meshy (assets.meshy.ai/…?Expires=…&Signature=…) jest podpisany i przestaje działać po expires_at danego zadania. Ponowne odczytanie zadania go nie odnawia. Dla modelu utworzonego w Meshy wyślij zamiast tego input_task_id, który działa, dopóki Meshy przechowuje zadanie źródłowe (zobacz Przechowywanie zasobów). Aby użyć modelu później, pobierz go przed upływem expires_at i wyślij własną kopię.

Aby dodatkowo sprawdzić grubość ścianki dla rozmiaru, w jakim planujesz drukować, wyślij printer_type, rozmiar wydruku lub oba te parametry. Wynik znajduje się w printability.thin_walls. Sprawdzanie grubości ścianki trwa dłużej, więc zadanie zwykle nie jest gotowe od razu, nawet jeśli Meshy analizowało ten model wcześniej.

  • Name
    printer_type
    Type
    string
    Description

    Drukarka, której planujesz użyć. Ustawia minimalną grubość ścianki dla sprawdzenia grubości ścianki. Jeśli wyślesz rozmiar wydruku bez printer_type, Meshy użyje fdm.

    Dostępne wartości:

    • fdm: filament, minimalna grubość ścianki 1,0 mm
    • sla: żywica, minimalna grubość ścianki 0,8 mm
    • full_color: pełny kolor, minimalna grubość ścianki 2,0 mm

    Każda inna wartość zwraca 400.

  • Name
    intended_print_height_mm
    Type
    number
    Description

    Wysokość wydruku w milimetrach, od 1 do 1000. Wartość spoza zakresu zwraca 400. Wyślij ten parametr lub intended_print_longest_side_mm, nie oba naraz.

    Działa tylko z danymi wejściowymi GLB. Dla model_url, który nie jest plikiem .glb, wyślij zamiast tego intended_print_longest_side_mm.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    Długość najdłuższego boku wydruku w milimetrach, od 1 do 1000. Wartość spoza zakresu zwraca 400. Działa z każdym formatem wejściowym.

Jeśli wyślesz printer_type bez rozmiaru, Meshy użyje tego rozmiaru wydruku:

  • plik .glb lub dowolny input_task_id: wysokość 150 mm
  • plik .stl: własny najdłuższy bok pliku, odczytany jako milimetry
  • plik .obj, .fbx lub .gltf: 150 mm na najdłuższym boku

Dla pliku STL w innych jednostkach wyślij intended_print_longest_side_mm.

Meshy zaokrągla oba rozmiary wydruku do najbliższego milimetra.

Zwraca

Pole result odpowiedzi zawiera ID nowego zadania Analizuj drukowalność.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie nie może zostać wykonane. Komunikat o błędzie wskazuje znaleziony problem. Na przykład:

    • Brakujący parametr: Nie wysłano ani input_task_id, ani model_url.
    • Nieprawidłowy UUID: input_task_id nie jest prawidłowym UUID.
    • Nieprawidłowy URL modelu: model_url jest nieprawidłowo sformatowany, używa nieobsługiwanego schematu lub ma nieobsługiwane rozszerzenie pliku.
    • Plik modelu zbyt duży: Plik model_url ma ponad 400 MB przy adresie http lub https, lub ponad 100 MB jako Data URI.
    • Zbyt wiele ścianek: Plik model_url to plik GLB, glTF, FBX lub OBJ o rozmiarze powyżej 100 MB i z więcej niż 10 000 000 ścianek. Zmniejsz liczbę ścianek, a następnie wyślij plik ponownie.
    • ASCII FBX powyżej 100 MB: Plik model_url to plik ASCII FBX o rozmiarze powyżej 100 MB. Wyślij go jako binarny FBX lub GLB.
    • Nieodczytywalny plik modelu: Plik model_url ma ponad 100 MB, a Meshy nie może odczytać jego nagłówka. Na przykład jest to plik GLB lub glTF skompresowany Draco, albo binarny FBX starszy niż 7.1.
    • Nagłówek modelu zbyt złożony: Plik model_url ma ponad 100 MB, a jego nagłówek zawiera zbyt wiele siatek, węzłów lub rekordów do sprawdzenia. Zmniejsz liczbę obiektów w pliku, a następnie wyślij go ponownie.
    • Nie można pobrać pliku modelu: model_url zwrócił błąd, najczęściej z powodu wygaśnięcia podpisanego URL do pobierania z Meshy. Ponowne odczytanie zadania zwraca ten sam URL z tym samym terminem wygaśnięcia. Wyślij własną kopię pliku lub wyślij input_task_id, dopóki Meshy przechowuje zadanie źródłowe.
    • Zadanie nie zakończyło się sukcesem: Zadanie input_task_id wciąż oczekuje, jest w trakcie przetwarzania lub zakończyło się niepowodzeniem.
    • Nieprawidłowy rozmiar wydruku: intended_print_height_mm lub intended_print_longest_side_mm jest poza zakresem od 1 do 1000, lub żądanie zawiera oba parametry.
    • Nieznany typ drukarki: printer_type nie jest fdm, sla ani full_color.
    • Wysokość dla modelu innego niż GLB: Żądanie zawiera intended_print_height_mm oraz model_url, który nie jest plikiem .glb. Wyślij zamiast tego intended_print_longest_side_mm.
    • Nie można ustalić rozmiaru tego modelu na podstawie wysokości: Przy żądanej wysokości lub domyślnej wysokości 150 mm, najdłuższy bok modelu wypadałby poza zakresem od 1 do 1000 mm. Dzieje się tak również, gdy model jest płaski lub gdy Meshy nie może określić jego rozmiaru. Wyślij zamiast tego intended_print_longest_side_mm. Dla model_url w formacie .glb i niektórych zadań input_task_id Meshy wykrywa to dopiero po rozpoczęciu zadania, a zadanie kończy się wtedy ze statusem FAILED.
    • Rozmiar STL nieprzydatny: Żądanie zawiera printer_type bez rozmiaru, a Meshy nie może odczytać własnego najdłuższego boku pliku .stl, lub jest on poza zakresem od 1 do 1000 mm. Wyślij intended_print_longest_side_mm.

    Popraw żądanie, a następnie wyślij je ponownie. Zobacz Błędy.

  • Name
    401 - Unauthorized
    Description

    Brakuje klucza API lub jest on nieprawidłowy. Sprawdź nagłówek Authorization.

  • Name
    403 - Forbidden
    Description

    input_task_id to model bas-relief, którego ten punkt końcowy nie może przeanalizować. Komunikat brzmi This model type does not support this operation. Wyślij inny model.

  • Name
    404 - Not Found
    Description

    Meshy nie może znaleźć modelu do analizy dla input_task_id. Na przykład:

    • Zadanie nie istnieje, zostało usunięte lub nie jest Twoje ani nie znajduje się w obszarze roboczym, do którego należysz.
    • Zadanie używa modelu starszego niż Meshy 6, lub jego typ nie tworzy modelu 3D.
    • Plik modelu zadania nie znajduje się już w pamięci.

    Sprawdź, czy input_task_id to obsługiwane zadanie, które jest Twoje lub znajduje się w jednym z Twoich obszarów roboczych, albo wyślij model jako model_url.

  • Name
    429 - Too Many Requests
    Description

    Przekroczono limit szybkości lub masz zbyt wiele oczekujących zadań. Poczekaj, a następnie spróbuj ponownie. Zobacz Limity szybkości.


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

Pobierz zadanie Analizuj drukowalność

Zwraca zadanie Analizuj drukowalność na podstawie jego 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
}

Parametry

  • Name
    id
    Type
    path
    Description

    ID zadania z odpowiedzi tworzenia.

Zwraca

Obiekt zadania Analizuj drukowalność. Pole printability nie jest obecne, dopóki zadanie nie uzyska statusu SUCCEEDED. Gdy Meshy sprawdziło grubość ścianki, printability zawiera również intended_print i thin_walls.


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

Usuń zadanie Analizuj drukowalność

Trwale usuwa zadanie Analizuj drukowalność, w tym jego zapisany w pamięci podręcznej wynik. Nie możesz cofnąć usunięcia.

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."
}

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania do usunięcia.

Status zadania

Usunięcie zadania o statusie PENDING zwraca kredyty wykorzystane podczas jego tworzenia.

Zadania o statusie IN_PROGRESS nie można usunąć. Żądanie zwraca 409 Conflict, a zadanie nadal się wykonuje. Meshy nie zwraca kredytów za zadanie, które już się rozpoczęło, więc usunięcie go kosztowałoby Cię zarówno kredyty, jak i wynik. Poczekaj, aż osiągnie status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.

Usunięcie zadania w statusie końcowym (SUCCEEDED, FAILED lub CANCELED) nie zwraca kredytów za nie wykorzystanych.

Zwraca

200 OK, gdy zadanie zostanie usunięte, lub 409 Conflict, gdy zadanie ma status IN_PROGRESS.


GET/openapi/v1/print/analyze

Lista zadań Analizuj drukowalność

Zwraca listę Twoich zadań Analizuj drukowalność.

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
  }
]

Parametry

  • Name
    page_num
    Type
    integer
    domyślne 1
    Description

    Numer strony do zwrócenia, zaczynając od 1.

  • Name
    page_size
    Type
    integer
    domyślne 10
    Description

    Liczba zadań na stronę, maksymalnie 100.

  • Name
    sort_by
    Type
    string
    Description

    Kolejność sortowania.

    Dostępne wartości:

    • +created_at: od najstarszych
    • -created_at: od najnowszych

Zwraca

Stronicowaną listę obiektów zadania Analizuj drukowalność.


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

Stream an Analyze Printability task

Przesyła strumieniowo aktualizacje zadania Analizuj drukowalność jako Server-Sent Events (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
}

Parametry

  • Name
    id
    Type
    path
    Description

    ID zadania z odpowiedzi utworzenia.

Zwraca

Strumień obiektów zadania Analizuj drukowalność jako Server-Sent Events.

Każde zdarzenie zawiera pełny obiekt zadania, w tej samej postaci, jaką zwraca punkt końcowy Get. Gdy zadanie ma status PENDING lub IN_PROGRESS, jego pola wyjściowe są puste (null, [] lub {}), a finished_at wynosi 0. Meshy wysyła pole printability dopiero po tym, jak zadanie uzyska status SUCCEEDED.


Obiekt zadania Analizuj drukowalność

Obiekt zadania Analizuj drukowalność opisuje jedną analizę modelu 3D. Zawiera status, progress oraz wynik drukowalności, gdy zadanie zakończy się powodzeniem.

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 zadania. Traktuj je jako nieprzejrzysty ciąg znaków i nie polegaj na jego formacie.

  • Name
    type
    Type
    string
    Description

    Typ zadania, zawsze print-analyze.

  • Name
    status
    Type
    string
    Description

    Status zadania, jeden z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED lub CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Jaka część zadania jest wykonana, w procentach. Wynosi 0, dopóki zadanie się nie rozpocznie, i 100, gdy zakończy się powodzeniem.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba zadań znajdujących się przed tym zadaniem w kolejce. Wartość ma znaczenie tylko wtedy, gdy zadanie ma status PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Czas utworzenia zadania, w milisekundach Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Czas rozpoczęcia zadania, w milisekundach Unix. Wynosi 0, dopóki zadanie się nie rozpocznie.

  • Name
    finished_at
    Type
    timestamp
    Description

    Czas zakończenia zadania, w milisekundach Unix. Wynosi 0, dopóki zadanie się nie zakończy.

  • Name
    expires_at
    Type
    timestamp
    Description

    Czas wygaśnięcia wyniku zadania, w milisekundach Unix. Wynosi 0, dopóki zadanie się nie zakończy.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu, gdy zadanie zakończy się niepowodzeniem. Jest null, jeśli zadanie nie zakończyło się niepowodzeniem. Zobacz Błędy.

    • Name
      message
      Type
      string
      Description

      Opis tego, co poszło nie tak.

  • Name
    printability
    Type
    object
    Description

    Wynik analizy. Nie jest obecny, dopóki zadanie nie ma statusu SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Wersja schematu wyniku drukowalności. Wartość to v1.

    • Name
      status
      Type
      string
      Description

      Ogólny werdykt, jeden z:

      • healthy: brak błędów i brak ostrzeżeń
      • warning: co najmniej jedno ostrzeżenie i brak błędów
      • error: co najmniej jeden błąd
      • unknown: Meshy nie mogło przeanalizować modelu

      Gdy Meshy sprawdziło grubość ścianki, jest to gorsza wartość spośród kontroli siatki i thin_walls.status. Od najgorszej do najlepszej kolejność to: error, warning, unknown i healthy.

    • Name
      issue_count
      Type
      integer
      Description

      Łączna liczba problemów, równa error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Liczba problemów na poziomie błędu. Meshy liczy jeden błąd za każdy z poniższych przypadków:

      • Model nie jest szczelny (watertight) i ma więcej niż 8 otworów.
      • Model ma więcej niż 8 otworów.
      • Objętość wynosi zero lub mniej.
      • Model ma więcej niż 50 krawędzi non-manifold.

      Gdy Meshy sprawdziło grubość ścianki, ścianki zbyt cienkie (thin_walls.status ma wartość error) liczą się jako jeden dodatkowy błąd.

    • Name
      warning_count
      Type
      integer
      Description

      Liczba problemów na poziomie ostrzeżenia. Meshy liczy jedno ostrzeżenie za każdy z poniższych przypadków:

      • Model nie jest szczelny (watertight) i ma 8 otworów lub mniej.
      • Model ma od 1 do 8 otworów.
      • Model ma od 1 do 50 krawędzi non-manifold.
      • Model ma zdegenerowane ściany.
    • Name
      metrics
      Type
      object
      Description

      Surowe pomiary geometrii modelu.

      • Name
        is_watertight
        Type
        boolean
        Description

        true, gdy siatka nie ma krawędzi brzegowych, czyli gdy jest zamknięta.

      • Name
        volume
        Type
        number
        Description

        Objętość modelu, w metrach sześciennych.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Liczba krawędzi non-manifold.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Liczba zdegenerowanych ścian, czyli ścian o zerowej powierzchni lub nieprawidłowych ścian.

      • Name
        holes
        Type
        integer
        Description

        Liczba otworów w siatce, liczona jako pętle brzegowe.

    • Name
      intended_print
      Type
      object
      Description

      Drukarka i rozmiar użyte przez kontrolę grubości ścianki. Obecne tylko wtedy, gdy Meshy sprawdziło grubość ścianki.

      • Name
        printer_type
        Type
        string
        Description

        Typ drukarki: fdm, sla lub full_color.

      • Name
        height_mm
        Type
        number
        Description

        Wysokość wydruku, w milimetrach, gdy rozmiar wydruku jest określany na podstawie wysokości. W przeciwnym razie wartość to null.

      • Name
        longest_side_mm
        Type
        number
        Description

        Długość najdłuższego boku wydruku, w milimetrach. Gdy rozmiar wydruku jest określany na podstawie wysokości, Meshy oblicza tę wartość na podstawie proporcji modelu.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        Minimalna grubość ścianki dla printer_type, w milimetrach. Meshy zgłasza cieńsze ścianki jako zbyt cienkie.

      • Name
        dimensions_mm
        Type
        array
        Description

        Wymiary wydruku [szerokość, głębokość, wysokość], w milimetrach. Wysokość może różnić się od height_mm o ułamek milimetra. Wartość to null dla danych wejściowych innych niż GLB lub gdy Meshy nie może określić rozmiaru modelu.

    • Name
      thin_walls
      Type
      object
      Description

      Wynik kontroli grubości ścianki. Obecny tylko wtedy, gdy Meshy sprawdziło grubość ścianki.

      • Name
        thin_area_ratio
        Type
        number
        Description

        Udział powierzchni cieńszej niż intended_print.wall_thickness_mm, od 0 do 1. Wartość to null, gdy Meshy nie mogło zmierzyć modelu.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        true, jeśli jakakolwiek część powierzchni jest zbyt cienka. Same ostre narożniki mogą sprawić, że wartość będzie true, więc do oceny, czy ścianki wymagają pogrubienia, użyj status. Wartość to null, gdy Meshy nie mogło zmierzyć modelu.

      • Name
        status
        Type
        string
        Description

        Werdykt dotyczący grubości ścianki, jeden z:

        • healthy: nie więcej niż 5% powierzchni jest zbyt cienkie.
        • error: więcej niż 5% powierzchni jest zbyt cienkie. Aby pogrubić ścianki, wyślij id tego zadania do Napraw drukowalność jako input_task_id. Jeśli to zadanie analizowało plik .stl, .fbx lub .gltf z model_url, zamiast tego wyślij ten plik jako model_url.
        • unknown: Meshy nie mogło zmierzyć modelu. Jeśli sama kontrola grubości ścianki się nie powiedzie, zadanie kończy się ze statusem FAILED.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Czas, w którym Meshy obliczyło analizę, w milisekundach Unix.

  • Name
    consumed_credits
    Type
    integer
    Description

    Liczba kredytów zużytych przez zadanie. Zawsze wynosi 0, ponieważ analiza jest bezpłatna.