Basılabilirliği Analiz Et API
Bir 3D modelin FDM basılabilirliğini analiz et — su geçirmezlik, hacim, delikler, manifold olmayan kenarlar ve bozuk yüzeyler.
Basılabilirliği Analiz Et Görevi Oluştur
Bu uç nokta yeni bir basılabilirliği analiz et görevi oluşturur. Görev, bir 3D modeli değerlendirir ve basılabilirlik metriklerini raporlar.
Eğer giriş görevi zaten önbelleğe alınmış basılabilirliğe sahipse, döndürülen görev hemen hazır olur ve ilk GET işlemi, işçiden geçmeden analiz sonucunu döndürür.
Parametreler
input_task_id veya model_url'den yalnızca biri gereklidir. Her ikisi de sağlanırsa, input_task_id önceliklidir.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Sahip olduğunuz başarılı bir görevin kimliği. Desteklenen görev türleri: Görselden 3D'ye, Çoklu görselden 3D'ye, Metinden 3D'ye, Yeniden ağ, ve Yeniden dokulama. Görev, Meshy 6 veya daha yeni bir sürüm (Meshy 7 dahil) kullanmalı ve
SUCCEEDEDdurumunda olmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Analiz edilecek 3D modelin URL'si. Desteklenen formatlar:
.glb,.gltf,.obj,.fbx,.stl. Maksimum dosya boyutu: 100 MB.http,httpsveyadata:URL'si kullanmalıdır (data URL'leri uzantı kontrollerini atlar).
Dönenler
Yanıtın result özelliği, yeni oluşturulan basılabilirliği analiz et görevinin id değerini içerir.
Başarısızlık Modları
- Name
400 - Bad Request- Description
İstek kabul edilemezdi. Yaygın nedenler:
- Eksik parametre: ne
input_task_idne demodel_urlsağlanmadı. - Geçersiz UUID:
input_task_idgeçerli bir UUID değil. - Geçersiz model URL'si:
model_urlhatalı, desteklenmeyen bir şema kullanıyor veya desteklenmeyen bir dosya uzantısına sahip. - Model dosyası çok büyük:
model_urlgövdesi 100 MB'ı aştı. - Görev başarılı olmadı: başvurulan görev hala beklemede, ilerlemede veya başarısız.
- Eksik parametre: ne
- Name
401 - Unauthorized- Description
Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.
- Name
403 - Forbidden- Description
Görev mevcut ancak farklı bir kullanıcıya ait.
- Name
404 - Not Found- Description
Yaygın nedenler:
- Görev mevcut değil veya silinmiş.
- Görev, Meshy 6'dan daha eski bir model kullanıyor veya modu bir 3D varlık üretmiyor.
- Temel model dosyası artık depolamada mevcut değil.
- Name
429 - Too Many Requests- Description
Bekleyen görev kotanızı veya hız sınırınızı aştınız.
İstek
# 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"
}'
Yanıt
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Basılabilirliği Analiz Et Görevini Al
Bu uç nokta, bir basılabilirliği analiz et görevini ID'sine göre alır.
Parametreler
- Name
- id
- Type
- path
- Description
Alınacak basılabilirliği analiz et görevinin ID'si.
Dönen Değerler
Basılabilirliği Analiz Et Görev Nesnesi. Görev SUCCEEDED durumuna ulaşana kadar basılabilirlik alanı null olur.
İstek
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
{
"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
}
Bir Basılabilirliği Analiz Et Görevini Sil
Bu uç nokta, bir basılabilirliği analiz et görevini ve önbelleğe alınmış sonucunu kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek basılabilirliği analiz et görevinin ID'si.
Dönen Değerler
Başarı durumunda 200 OK döner.
İstek
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
// Returns 200 Ok on success.
Basılabilirliği Analiz Et Görevlerini Listele
Bu uç nokta, basılabilirliği analiz et görevlerinin bir listesini almanızı sağlar.
Parametreler
İsteğe bağlı özellikler
- Name
- page_num
- Type
- integer
- Description
Sayfalama için sayfa numarası.
1ile başlar ve varsayılan olarak1'dir.
- Name
- page_size
- Type
- integer
- Description
Sayfa boyutu sınırı. Varsayılan olarak
10öğedir. İzin verilen maksimum50öğedir.
- Name
- sort_by
- Type
- string
- Description
Sıralama yapılacak alan. Mevcut değerler:
+created_at: Oluşturulma zamanına göre artan sırada sıralar.-created_at: Oluşturulma zamanına göre azalan sırada sıralar.
Dönenler
Basılabilirliği Analiz Et Görev Nesneleri listesini sayfalı olarak döndürür.
İstek
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
[
{
"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
}
]
Bir Basılabilirliği Analiz Etme Görevini Yayınla
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir basılabilirliği analiz etme görevi için gerçek zamanlı güncellemeler yayınlar.
Parametreler
- Name
- id
- Type
- path
- Description
Yayınlanacak basılabilirliği analiz etme görevinin benzersiz tanımlayıcısı.
Dönen Değerler
Server-Sent Events olarak Basılabilirliği Analiz Etme Görev Nesneleri akışı döndürür.
PENDING veya IN_PROGRESS görevleri için, yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir. printability bloğu yalnızca görev SUCCEEDED durumuna ulaştığında gönderilir.
İstek
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt Akışı
// 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
}
Basılabilirliği Analiz Et Görev Nesnesi
- Name
- id
- Type
- string
- Description
Görev için benzersiz tanımlayıcı. Görev kimlikleri için k-sıralı UUID kullanıyoruz, ancak kimliğin formatı hakkında herhangi bir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Basılabilirliği analiz et görevinin türü. Değer
print-analyze'dir.
- Name
- status
- Type
- string
- Description
Görevin durumu. Olası değerler
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED'dan biridir.
- Name
- progress
- Type
- integer
- Description
Görevin ilerleme durumu. Görev henüz başlamadıysa, bu özellik
0olacaktır. Görev başarıyla tamamlandığında, bu100olacaktır.
- Name
- preceding_tasks
- Type
- integer
- Description
Önceki görevlerin sayısı.
Bu alanın değeri yalnızca görev durumu
PENDINGise anlamlıdır.
- Name
- created_at
- Type
- timestamp
- Description
Görevin oluşturulduğu zamanın zaman damgası, milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başlatıldığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa, bu özellik
0olacaktır.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik
0olacaktır.
- Name
- expires_at
- Type
- timestamp
- Description
Görev sonucunun sistemden silineceği zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa
0.
- Name
- task_error
- Type
- object
- Description
Görev başarısız olduysa hata bilgisi. Görev başarısız olmadıysa bu özellik
nullolur. Daha fazla ayrıntı için Hatalar sayfasına bakın.- Name
message- Type
- string
- Description
Yanlış giden durumu açıklayan hata mesajı.
- Name
- printability
- Type
- object
- Description
Basılabilirlik değerlendirme sonucu. Görev
SUCCEEDEDdurumuna ulaşana kadarnull.- Name
_version- Type
- string
- Description
Basılabilirlik sonucunun şema versiyonu. Şu anda
v1.
- Name
status- Type
- string
- Description
Genel durum. Şunlardan biri:
healthy: hata ve uyarı yok.warning: en az bir uyarı, hata yok.error: en az bir hata.unknown: model analiz edilemedi.
- Name
issue_count- Type
- integer
- Description
Toplam sorun sayısı,
error_count + warning_counteşittir.
- Name
error_count- Type
- integer
- Description
Hata düzeyindeki sorunların sayısı. Model su geçirmez değilse, pozitif olmayan hacme sahipse veya manifold olmayan kenarları varsa hatalar ortaya çıkar.
- Name
warning_count- Type
- integer
- Description
Uyarı düzeyindeki sorunların sayısı. Model bozuk yüzeyler veya delikler içeriyorsa uyarılar ortaya çıkar.
- Name
metrics- Type
- object
- Description
Değerlendirici tarafından döndürülen ham geometri metrikleri.
- Name
is_watertight- Type
- boolean
- Description
Ağın sınır kenarları yoksa (yani kapalıysa)
true.
- Name
volume- Type
- number
- Description
Modelin hacmi, metreküp cinsinden.
- Name
non_manifold_edges- Type
- integer
- Description
Manifold olmayan kenarların sayısı.
- Name
degenerate_faces- Type
- integer
- Description
Bozuk yüzeylerin sayısı (sıfır alanlı veya geçersiz yüzeyler).
- Name
holes- Type
- integer
- Description
Ağdaki deliklerin (sınır döngüleri) sayısı.
- Name
evaluated_at- Type
- timestamp
- Description
Analizin hesaplandığı zamanın zaman damgası, epoch'tan itibaren milisaniye cinsinden.
- Name
- consumed_credits
- Type
- integer
- Description
Her zaman
0. Bu uç nokta ücretsizdir.
Basılabilirliği Analiz Et Görev Nesnesi
{
"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
}