解决方法可能因具体情况而异,以下是一种可能的解决方法,包含代码示例:
import requests
url = "https://developer.api.autodesk.com/authentication/v1/authenticate"
payload = {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"grant_type": "client_credentials",
"scope": "data:read data:write bucket:create bucket:read bucket:update bucket:delete"
}
response = requests.post(url, data=payload)
access_token = response.json()["access_token"]
import requests
url = "https://developer.api.autodesk.com/data/v1/translation"
payload = {
"input": {
"urn": "YOUR_MODEL_URN"
},
"output": {
"formats": [
{
"type": "svf",
"views": ["2d", "3d"]
}
]
}
}
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
job_id = response.json()["jobId"]
检查模型是否已成功上传到Bim360 Docs,并且URN(模型标识符)是否正确。
确保模型翻译服务可用。可以通过检查翻译任务的状态来验证。
import requests
url = f"https://developer.api.autodesk.com/modelderivative/v2/designdata/{job_id}/manifest"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
status = response.json()["status"]
根据返回的状态,您可以确定模型翻译任务是成功还是失败。
请注意,这只是一个示例解决方法,具体的解决方法可能会因您的代码和环境而异。在实际实施中,您可能还需要处理错误处理,检查API响应的状态码,并根据需要进行适当的调试和日志记录。