我正在一个项目中,使用python脚本将各种文件格式转换为.stl。最近,我发布了一个this问题,从.sldprt转换为.stl时遇到了问题,但最终我成功地做到了。现在,我正在将.fbx和.ipt文件转换为sldprt。我正在遵循this教程,在最后一部分中,我必须下载转换后的文件(.stl),但出现以下错误:
File "3DFileConversion.py", line 224, in <module>
f.write(r.text)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-29: ordinal not in range(128)
代码如下:
url = BASE_URL + 'modelderivative/v2/designdata/' + urn + '/manifest/' + OURL
headers = {
'Authorization' : 'Bearer ' + ACCESS_TOKEN
}
try:
with open(OUTPUT_FILE, 'w+') as f:
r = requests.get(url, headers=headers)
f.write(r.text)
except:
print()
print('Error Executing STEP 7 - Downloading error, status code:' + str(r.status_code) + ', exiting')
raise(SystemExit(6))
print("Download Finished! Exiting")
我在线搜索并更改了行
f.write(r.text)
到
f.write(r.text.encode('utf8'))
尽管这样做确实可以消除错误,并且转换后的文件中确实包含一些数据,但它似乎无效,并且没有CAD软件可以打开它。谁能告诉我如何解决这个问题?
我能够从命令行转换给定命令,但是python脚本给出了一个错误。
答案 0 :(得分:1)
尝试将响应的有效载荷视为字节:
function moveStuff () {
idx('#IDX-description').after(idx('#IDX-field-extras').outerHTML());
idx('#IDX-field-extras').remove();
setTimeout(moveStuff, 1000);
}
请参阅文档here