以编程方式将 SLDPRT 转换为 STL 文件,无需外部工具、API 等

问题描述 投票:0回答:1

我正在尝试以编程方式将 SLDPRT(以及 STEP)文件转换为 STL 文件,而无需使用外部工具或 API。

以下是执行此操作的 API 示例:https://anyconv.com/sldprt-to-stl-converter/

据我所知,STL 文件是二进制文件,可以简单地转换为 ASCII。我试图弄清楚 SLDPRT 文件使用什么文本编码,以及如何将其提取为可解析和格式化为 STL 文件的可读文本。我目前有一个使用 JavaScript 和 PHP 创建的网页,我想在其中上传 SLDPRT 文件,将它们转换为服务器上的 STL 文件,然后在 THREE.js 中查看它们。

使用Python代码

filename = "LABL_Double.SLDPRT"

with open(filename, "rb") as file:
    hex_list = [ord(c) for c in f'{file.read()}']
    print(hex_list)`

我使用以下代码尝试查看 SolidWorks 文件内部并收到一长串整数,例如:

[123, 23, 34, 5, 23, 0, ... 57, 97, 112, 91, 39]

如果我将代码更改为以下内容:

filename = "LABL_Double.SLDPRT"

with open(filename, "rb") as file:
    print(file.read())

然后我收到带有十六进制值的二进制字符串输出,如下所示:

b'\x87>\xd1#\x00\x00\x00\x04k...\xd2\x1d\xafxa8\xbe\xc4\x8c\x9ap['

如何处理读取 SLDPRT 文件的这两个不同的输出。它们中的任何一个都可以转换为人类可读的文本,可以解析并转换为 STL 文件吗?我知道这可以在程序中独立完成,因为像 SolidWorks 这样的工具和上面提供的 API 都可以做到这一点。任何有关 SolidWorks 文件内部内容的知识的帮助将不胜感激。

python binary hex file-conversion cad
1个回答
0
投票

您是否能够在不使用任何 API 的情况下成功地使用 Python 制作转换器?

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.