问题标签 [stl-format]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
867 浏览

javascript - 使用threeJS在单个网页上的多个STL文件

在这里,我有一个使用threeJS 显示的STL 文件。我不知道如何在单个网页中呈现多个 STL 文件。这是我的代码:

现在,如果我需要包含另一个名为“mk6.stl”的文件,该怎么办?有谁知道该怎么做?我试过 SketchFan,但它不是为我制作的。谢谢你。

0 投票
1 回答
1808 浏览

qt - 了解 Qt3D 创建的网格

我创建了一个像这样的 Qt3D 网格:

创建的网格如下所示:

锥形网 Cone Mesh,另一种观点


稍后在代码中,我尝试以STL 二进制格式导出上述网格。为此,我提取了实体的几何变换组件:

然后我得到包含顶点位置和法线的缓冲区数据:

现在,我们关注顶点位置属性和顶点法线属性。我们得到每个的字节偏移量字节跨度,我们还检查两者是否使用相同的数据缓冲区

然后我使用字节偏移字节跨度来提取三角形并将它们写入 STL 文件。但是导出的 STL 并不好:

导出的 STL 不好


我使用相同的代码导出自定义网格的 STL,效果很好。但是,当我使用相同的代码导出 Qt3D 现成的网格QConeMesh时,导出的 STL 是不可接受的。任何人都可以给我一个提示。


更新

正如@vre 所指出的,我将发布用于将三角形写入 STL 文件的其余代码。这是一个很大的代码,我尽量保持简洁:

为了获取三角形位置和法线,我循环遍历属性并获取VertexBuffer存储所有位置和法线的缓冲区:

上面的代码非常适合自定义网格。我的意思是当我将一个 STL 文件导入到我的 Qt3D 应用程序中,然后再次将其导出为 STL 时,导出的 STL是好的。问题是:当创建 Qt3D 的现成网格QConeMesh时,导出的 STL被搞砸了,我的意思是整体几何是好的,但是三角形被搞砸了,如上图所示。

我的代码在尝试导出QConeMesh. 可以看出,法线向量具有单位大小,表明它们实际上是法线:

0 投票
1 回答
1034 浏览

javascript - 使用three.js测量STL文件点之间的距离

我试图让用户点击两个不同的点并获得它们之间的距离。

点击似乎发生在随机位置,因此计算变得错误。

当使用 OBJ 加载器并且我们使用 OBJ 文件时计算是正确的,但是如果我使用 STL 加载器使用 STL 文件,它就会显示不正确。

Codepen 链接:https ://codepen.io/anon/pen/NLXavX

JS代码:

0 投票
1 回答
235 浏览

merge - 如何使用带有 .stl 文件的 POV-Ray 与对象合并?

我有这个 povray 代码:

povray +Imerge.pov

我想将 .stl 文件添加到union. 我怎么能那样做?

请帮我。

0 投票
4 回答
6804 浏览

3d - STL 文件转换为可读的文本文件

我现在正在研究 3d 模型(stl 文件等)以及它是如何从头开始制作的。我需要使用什么软件来查看 stl 文件中的内容,如下所示:

我一直在寻找这类软件,但到目前为止,没有运气。

0 投票
1 回答
5339 浏览

step - 将 STEP 文件类型转换为 STL

我想使用 Python 将 STEP 文件转换为 STL 文件格式。我在网上看过,看起来最好的选择是使用 FreeCAD 或 OpenCascade (OCC)。但是,我是初学者,不知道从哪里开始。我在网上做了一些搜索,发现了这一点(将 STEP 转换为 OBJ 文件的代码)。

是否有来自 FreeCAD(基于 OCC)的 Python 示例将 STEP 文件转换为 STL?我应该从哪里开始?

0 投票
1 回答
15 浏览

import - 是否可以使用单个代码导入 2 个文件?或者如何从一个目录中导入所有文件?

可以在有多个文件的目录中选择确切的文件吗?基本上,我想查看目录内部,然后导入文件 (* .stl)

0 投票
2 回答
1408 浏览

stl-format - 使用 FreeCAD python 将 .OBJ 文件转换为 STL

我一直致力于将 CAD 文件从不同格式(OBJ、FBX、COLLADA、3DS、IGES、STEP、VRML/X3D)转换为 STL 的项目。最近,我在stackoverflow上发布了这个 问题,将STEP文件转换为STL格式,并且成功地做到了。现在,我正在使用 FREECAD 和 Python 将 OBJ 文件转换为 STL 格式。是否有任何 python 示例将 OBJ 转换为 STL,以便我知道从哪里开始以及如何继续?

0 投票
1 回答
213 浏览

collada - FreeCAD shape.read() 错误:不支持的格式

我正在做一个项目,我必须将 .dae 文件转换为 .stl 文件。我正在使用下面给出的代码

当解释器尝试执行命令 shape.read('INPUTFILE.dae') 时出现错误。据此,代码应该能够处理 .dae 输入文件。我得到的错误与无效的输入文件格式有关:

我还在系统上安装了 pycollada。

有谁知道如何解决这个问题?

0 投票
1 回答
253 浏览

3ds - 如何解决将 .3ds 文件转换为 .stl 时出错

我正在开发一个将各种文件格式转换为 .stl 的项目。我已成功将 .step、.igs、.dae 和 .obj 文件转换为 .stl。每当我尝试将 .3ds 文件转换为 .stl 时,都会收到以下错误:

回溯(最后一次调用):文件“3DFileFormatConversion.py”,第 141 行,在 import3DS.open(INPUT) 文件“/usr/share/freecad/Mod/Arch/import3DS.py”,第 59 行,打开读取(文件名)文件“/usr/share/freecad/Mod/Arch/import3DS.py”,第 92 行,读取 j,d_nobj in enumerate(dom.mdata.objects):

AttributeError:“UnknownChunk”对象没有属性“mdata”

我用于此转换的代码如下:

我在 import3Ds.open(INPUT) 命令中遇到错误,其中 INPUT 是输入文件名。奇怪的是,这段代码在 Windows 平台上执行得非常好。但是,当我尝试在 Ubuntu 18.04 上运行它时,它给了我上面提到的错误。有人可以指出这里发生了什么吗?

import3DS 库的代码参考可以在这里找到