【问题标题】:Autodesk Forge - Conversion from .ipt to .stl gives error (UnicodeEncodeError)Autodesk Forge - 从 .ipt 转换为 .stl 出现错误 (UnicodeEncodeError)
【发布时间】:2019-10-07 06:08:44
【问题描述】:

我正在开发一个项目,使用 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 脚本给出了一个错误。

【问题讨论】:

    标签: python curl autodesk-forge


    【解决方案1】:

    尝试将响应的有效负载视为字节:

    f.write(r.content)
    

    见文档here

    【讨论】:

    • 正是我一直在寻找的东西,而且效果很好。感谢您的帮助!
    猜你喜欢
    • 2019-09-30
    • 2018-06-04
    • 2023-03-12
    • 2021-12-26
    • 2019-04-17
    • 2017-03-25
    • 2018-03-20
    • 2018-05-10
    • 2018-09-26
    相关资源
    最近更新 更多