Druckbarkeit analysieren API
Analysieren Sie ein 3D-Modell auf FDM-Druckbarkeit — Dichtheit, Volumen, Löcher, nicht-mannigfaltige Kanten und entartete Flächen.
Erstellen einer Druckbarkeitsanalyse-Aufgabe
Dieser Endpunkt erstellt eine neue Druckbarkeitsanalyse-Aufgabe. Die Aufgabe bewertet ein 3D-Modell und berichtet über dessen Druckbarkeitsmetriken.
Wenn die Eingabeaufgabe bereits zwischengespeicherte Druckbarkeitsdaten hat, ist die zurückgegebene Aufgabe sofort bereit und der erste GET darauf wird das Analyseergebnis zurückgeben, ohne den Worker zu durchlaufen.
Parameter
Nur einer von input_task_id oder model_url ist erforderlich. Wenn beide angegeben sind, hat input_task_id Priorität.
- Name
- input_task_id
- Type
- string
- Erforderlich
- Description
Die ID einer erfolgreichen Aufgabe, die Ihnen gehört. Unterstützte Aufgabentypen: Bild zu 3D, Multi-Bild zu 3D, Text zu 3D, Neuvernetzung und Neutexturierung. Die Aufgabe muss Meshy 6 oder neuer verwenden (einschließlich Meshy 7) und muss den Status
SUCCEEDEDhaben.
- Name
- model_url
- Type
- string
- Erforderlich
- Description
URL eines 3D-Modells zur Analyse. Unterstützte Formate:
.glb,.gltf,.obj,.fbx,.stl. Maximale Dateigröße: 100 MB. Musshttp,httpsoder einedata:URL verwenden (Daten-URLs umgehen Erweiterungsprüfungen).
Rückgaben
Die result-Eigenschaft der Antwort enthält die id der neu erstellten Druckbarkeitsanalyse-Aufgabe.
Fehlermodi
- Name
400 - Bad Request- Description
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
- Fehlender Parameter: Weder
input_task_idnochmodel_urlwurde angegeben. - Ungültige UUID:
input_task_idist keine gültige UUID. - Ungültige Modell-URL:
model_urlist fehlerhaft, verwendet ein nicht unterstütztes Schema oder hat eine nicht unterstützte Dateierweiterung. - Modell-Datei zu groß:
model_url-Inhalt überschritt 100 MB. - Aufgabe nicht erfolgreich: Die referenzierte Aufgabe ist noch ausstehend, in Bearbeitung oder fehlgeschlagen.
- Fehlender Parameter: Weder
- Name
401 - Unauthorized- Description
Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.
- Name
403 - Forbidden- Description
Die Aufgabe existiert, wird jedoch von einem anderen Benutzer verwaltet.
- Name
404 - Not Found- Description
Häufige Ursachen:
- Die Aufgabe existiert nicht oder wurde gelöscht.
- Die Aufgabe verwendet ein Modell älter als Meshy 6 oder ihr Modus erzeugt kein 3D-Asset.
- Die zugrunde liegende Modell-Datei ist nicht mehr im Speicher verfügbar.
- Name
429 - Too Many Requests- Description
Sie haben Ihr Kontingent für ausstehende Aufgaben oder Ihre Ratenbegrenzung überschritten.
Anfrage
# 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"
}'
Antwort
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Abrufen einer Druckbarkeitsanalyse-Aufgabe
Dieser Endpunkt ruft eine Druckbarkeitsanalyse-Aufgabe anhand ihrer ID ab.
Parameter
- Name
- id
- Type
- path
- Description
Die ID der Druckbarkeitsanalyse-Aufgabe, die abgerufen werden soll.
Rückgabe
Das Druckbarkeitsanalyse-Aufgabenobjekt. Das Feld Druckbarkeit ist null, bis die Aufgabe den Status SUCCEEDED erreicht.
Anfrage
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Antwort
{
"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
}
Löschen einer Druckbarkeit analysieren Aufgabe
Dieser Endpunkt löscht dauerhaft eine Druckbarkeit analysieren Aufgabe und deren zwischengespeichertes Ergebnis. Diese Aktion ist unwiderruflich.
Pfadparameter
- Name
- id
- Type
- path
- Description
Die ID der Druckbarkeit analysieren Aufgabe, die gelöscht werden soll.
Rückgaben
Gibt 200 OK bei Erfolg zurück.
Anfrage
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Antwort
// Returns 200 Ok on success.
Liste der Druckbarkeit analysieren Aufgaben
Dieser Endpunkt ermöglicht es Ihnen, eine Liste von Druckbarkeit analysieren Aufgaben abzurufen.
Parameter
Optionale Attribute
- Name
- page_num
- Type
- integer
- Description
Seitennummer für die Paginierung. Beginnt und standardmäßig auf
1.
- Name
- page_size
- Type
- integer
- Description
Seitengrößenlimit. Standardmäßig
10Elemente. Maximal erlaubt sind50Elemente.
- Name
- sort_by
- Type
- string
- Description
Feld zum Sortieren. Verfügbare Werte:
+created_at: Nach Erstellungszeit in aufsteigender Reihenfolge sortieren.-created_at: Nach Erstellungszeit in absteigender Reihenfolge sortieren.
Rückgaben
Gibt eine paginierte Liste von Druckbarkeit analysieren Aufgaben Objekten zurück.
Anfrage
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Antwort
[
{
"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
}
]
Streamen einer Druckbarkeit analysieren Aufgabe
Dieser Endpunkt streamt Echtzeit-Updates für eine Druckbarkeit analysieren Aufgabe unter Verwendung von Server-Sent Events (SSE).
Parameter
- Name
- id
- Type
- path
- Description
Eindeutiger Bezeichner für die Druckbarkeit analysieren Aufgabe, die gestreamt werden soll.
Rückgaben
Gibt einen Stream von Druckbarkeit analysieren Aufgabenobjekten als Server-Sent Events zurück.
Für PENDING oder IN_PROGRESS Aufgaben enthält der Antwortstream nur die notwendigen Felder progress und status. Der Druckbarkeit Block wird nur gesendet, wenn die Aufgabe SUCCEEDED erreicht.
Anfrage
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Antwortstream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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
}
Das Druckbarkeit analysieren Aufgabenobjekt
- Name
- id
- Type
- string
- Description
Eindeutiger Bezeichner für die Aufgabe. Obwohl wir eine k-sortierbare UUID für Aufgaben-IDs als Implementierungsdetail verwenden, sollten Sie keine Annahmen über das Format der ID machen.
- Name
- type
- Type
- string
- Description
Typ der Druckbarkeit analysieren Aufgabe. Der Wert ist
print-analyze.
- Name
- status
- Type
- string
- Description
Status der Aufgabe. Mögliche Werte sind
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, ist dieser Wert
0. Sobald die Aufgabe erfolgreich abgeschlossen ist, wird dieser Wert100.
- Name
- preceding_tasks
- Type
- integer
- Description
Die Anzahl der vorhergehenden Aufgaben.
Der Wert dieses Feldes ist nur aussagekräftig, wenn der Aufgabenstatus
PENDINGist.
- Name
- created_at
- Type
- timestamp
- Description
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
- Name
- started_at
- Type
- timestamp
- Description
Zeitstempel, wann die Aufgabe gestartet wurde, in Millisekunden. Wenn die Aufgabe noch nicht gestartet wurde, ist dieser Wert
0.
- Name
- finished_at
- Type
- timestamp
- Description
Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden. Wenn die Aufgabe noch nicht abgeschlossen ist, ist dieser Wert
0.
- Name
- expires_at
- Type
- timestamp
- Description
Zeitstempel, wann das Aufgabenergebnis aus dem System gelöscht wird, in Millisekunden.
0, wenn die Aufgabe noch nicht abgeschlossen ist.
- Name
- task_error
- Type
- object
- Description
Fehlerinformationen, wenn die Aufgabe fehlgeschlagen ist. Diese Eigenschaft ist
null, wenn die Aufgabe nicht fehlgeschlagen ist. Siehe Fehler für weitere Details.- Name
message- Type
- string
- Description
Fehlermeldung, die beschreibt, was schiefgelaufen ist.
- Name
- printability
- Type
- object
- Description
Ergebnis der Druckbarkeitsbewertung.
null, bis die AufgabeSUCCEEDEDerreicht.- Name
_version- Type
- string
- Description
Schema-Version des Druckbarkeitsergebnisses. Derzeit
v1.
- Name
status- Type
- string
- Description
Gesamtstatus. Einer von:
healthy: keine Fehler und keine Warnungen.warning: mindestens eine Warnung, keine Fehler.error: mindestens ein Fehler.unknown: das Modell konnte nicht analysiert werden.
- Name
issue_count- Type
- integer
- Description
Gesamtanzahl der Probleme, gleich
error_count + warning_count.
- Name
error_count- Type
- integer
- Description
Anzahl der Fehler auf Fehlerstufe. Fehler treten auf, wenn das Modell nicht wasserdicht ist, kein positives Volumen hat oder nicht-mannigfaltige Kanten aufweist.
- Name
warning_count- Type
- integer
- Description
Anzahl der Warnungen auf Warnstufe. Warnungen treten auf, wenn das Modell entartete Flächen oder Löcher enthält.
- Name
metrics- Type
- object
- Description
Rohgeometriemetriken, die vom Evaluator zurückgegeben werden.
- Name
is_watertight- Type
- boolean
- Description
true, wenn das Netz keine Randkanten hat (d.h. geschlossen ist).
- Name
volume- Type
- number
- Description
Volumen des Modells in Kubikmetern.
- Name
non_manifold_edges- Type
- integer
- Description
Anzahl der nicht-mannigfaltigen Kanten.
- Name
degenerate_faces- Type
- integer
- Description
Anzahl der entarteten Flächen (Flächen mit Nullfläche oder ungültige Flächen).
- Name
holes- Type
- integer
- Description
Anzahl der Löcher (Randloops) im Netz.
- Name
evaluated_at- Type
- timestamp
- Description
Zeitstempel, wann die Analyse berechnet wurde, in Millisekunden seit der Epoche.
- Name
- consumed_credits
- Type
- integer
- Description
Immer
0. Dieser Endpunkt ist kostenlos.
Das Druckbarkeit analysieren Aufgabenobjekt
{
"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
}