0

我目前正在编写一个生成布里渊区域的 c++ 程序(如果你不知道它们是什么,那很好)。输出是由 x、y 和 z 坐标定义的点列表。我想将该点列表转换为 .stl 或 .3ds 中的实体对象。如果可能的话,我想让 c++ 程序创建 3d 文件,因为点列表文件在您将它们写入 txt 时是几个 gig,因此您无法将列表作为一个整体加载到 ram 中而不会导致计算机崩溃。有谁知道如何做到这一点?

4

2 回答 2

1

STL 格式只是一个由坐标定义的三角形列表。如果您已经生成了三角形,那么编写 STL 几乎就是简单地列出 (x,y,z) 值的三元组。

STL 可以用 ASCII 或二进制编写。如果您还没有查看过 ASCII STL 文件,请查看。如果您想要样品,请告诉我。

您可以一次写入一个三角形的文件。

于 2014-07-16T17:39:56.553 回答
0

我不知道 .3ds 或 .stl 的文件格式,但我假设它可以由块生成(写入 n 点,用其他点更新等......)。

我的想法是:
-按块读取文件(例如:行)-
处理点-
保存该块
-继续下一步。

可能需要保存虚拟数据(例如:如果文件格式 .3ds 有一个标题,其中包含有关文件中包含的总点数的信息,在这种情况下放置 0,在处理点数时,然后保存正确的价值)。

于 2014-07-16T17:31:55.280 回答