问题标签 [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 回答
1361 浏览

reactjs - 如何在 React 应用程序中显示彩色 STL 文件

我正在使用 React 并想在我的应用程序中显示 STL 文件,更具体地说,是彩色 STL 文件。我有一个二进制 STL 彩色文件。以three.js官网的一个彩色STL文件为例:https ://threejs.org/examples/models/stl/binary/colored.stl 。您可以在http://www.viewstl.com/中正确查看彩色文件。我看到有一些像 stl-viewer 这样的包可以很好地显示 STL 文件,但是需要在应用程序中添加文件的颜色。

我尝试使用 stl-viewer 使用modelColorwith unset

我希望查看器向我展示带有颜色的文件,但是模型得到了基本颜色并且没有使用它的二进制颜色集。

也许这里有人遇到同样的问题?这里有人知道我可以在我的 React 应用程序中显示我的二进制 STL 彩色文件的方法吗?任何帮助将非常感激!

0 投票
2 回答
844 浏览

javascript - 使用 Stl Viewer Javascript 插件无法在 ASP.NET Core MVC 网页中呈现 3D 模型

我使用他们的远程托管选项进行了此操作,但是速度很慢。我浪费了很多时间试图让 JS 插件工作。

我无法让 3d 模型显示在 div 内,如他们的指南所示:https ://www.viewstl.com/plugin/#usage 。

我的页面上有 div 容器,如下所示:

我在 wwwroot 的 js 文件夹中拥有所有 js 文件,所以我有这个:

(如果我查看源代码,我可以单击 min.js 的链接,它会显示在浏览器中,所以我假设路径也是有效的)

接下来我有这个代码:

我可以查看源代码并单击 STL 文件的链接,它将下载,因此路径似乎是正确的。

如果有帮助,我正在运行 ASP.NET CORE MVC。当我运行并指向远程服务时,一切正常。我无法弄清楚缺少什么。

0 投票
0 回答
16 浏览

python - 来自多层表面区域的 STL 文件

我有一系列具有不同 z 值的结构图像(每张照片都比上一张高 5µm)。

我写了一个程序来计算每张照片的结构面积。我还有一个列表,将每张照片的这个区域存储为二进制图像(背景 = 黑色,区域 = 白色)。

由于我的结构基本上拥有所有 3 个坐标,我认为应该可以创建一个 STL 文件来在 3D 空间中绘制这个结构。

因为我从来没有在 3D 编程方面做过任何事情,所以我真的不知道该怎么做。

我将不胜感激任何帮助

0 投票
1 回答
734 浏览

mesh - Meshlabserver:如何将 STL 转换为 PLY 并统一顶点?

我有几个.stl文件想通过从命令行.ply调用来转换。meshlabserver当我走直截了当的路

(其中 cube.stl 是下面给出的带有 12 个面的示例文件),生成的网格有 12 个面和 36 个顶点。这意味着没有发生重复顶点的统一,尽管这正是我想要.ply代替.stl.

现在,我假设由于同样的原因,不可能在 Meshlab GUI 中将顶点统一设为默认值(我前段时间过这个问题,尽管后来发现这样的问题已经存在)。但也许有人知道一些技巧?之后浏览可能的过滤器-om,我没有找到解决方案。

使用 Open SU​​SE 上的 Meshlab 2016 和 Ubuntu 上的 Meshlab v1.3.2_64bit 测试了该行为。

示例文件

(同样由 Meshlab 创建)

0 投票
1 回答
380 浏览

javascript - 三个 js 平滑底纹显得平坦

我正在加载.stl文件,在MeshStandardMaterial不触及flatShading属性的情况下应用,默认情况下它是false.

在此处输入图像描述

结果对我来说看起来很平淡。如果我尝试设置flatShading: true结果是一样的。

我已经尝试了所有我能想到的东西,但没有任何想法 - 欢迎任何建议,谢谢。

0 投票
0 回答
63 浏览

parsing - 如何在不知道格式的情况下读取任何 STL ASCII 格式的文件?

我正在编写一个程序来从不同的 ASCII 格式的 STL 文件中读取数据。这种文件的数据遵循这种模式

我设法阅读此内容的唯一方法是使用适用于所有格式的变长字符数组。但是,我将需要这些数据来执行计算,如果我使用字符变量来存储数据,这将不起作用,对吧?我的问题是如何将数组元素转换为实数?

例如,在我阅读了这些行之后

使用字符数组,是否可以将它们的值转换为实数?如果是这样,当我在计算中使用这些值时,我应该选择哪种格式来最小化数值错误?

谢谢。

0 投票
1 回答
454 浏览

python - 从 Path2D 中查找多边形的属性,派生自 Python 中 Trimesh 模块的 .to_planar() 函数

使用 Python 中的 Trimesh 模块,我可以从 STL 文件中获取 2D 横截面,代码如下所示。

使用从上述代码获得的 2D 路径 (Slice_2D),我可以将其中的多边形作为 NumPy 数组获取,并使用以下代码对其进行迭代:

上面的代码在控制台上显示了多边形。但是,我想知道是否有办法获取多边形的属性,例如:多边形中的边数;多边形的周长和面积;多边形的类型(三角形或正方形或矩形或平行四边形或圆形等)。

在这方面的任何帮助将不胜感激!

0 投票
0 回答
188 浏览

javascript - 在three.js中选择和计算“平面”的面积

我正在尝试在 three.js 中计算 3d 对象(.stl 网格对象)的“平面n面积。通过单击鼠标选择它。例如这个区域:需要选择的 3d“平面”示例

我们知道构成“平面”表面的所有“三角形”(因为它是.stl)都以相同的角度连接,如果与最后一个三角形相比角度发生变化,我们知道这个三角形不是“飞机”的一部分了。

所以知道这是我们试图计算的表面的属性,我们可以将它与某种形式的three.js Raycaster结合使用来选择和计算面积(通过将具有正确属性的三角形的所有面积相加) .

目前,我们不需要担心所选曲面的大小(例如,尝试在曲面上找到“平面”是无效的,但我们现在不需要担心)

我将如何尝试在three.js中找到区域和“平面”。或者更具体地说,我如何开始阅读 .stl 格式的“三角形”。

我当前代码的最小工作示例(包括工作 .stl 文件),它可以使用简单的实时服务器运行,例如在 VS Code 中使用Ritwick Dey 的插件,不需要额外的插件/库,因为它是“普通”HTML/ JS。

唯一的要求是我们在three.js中选择我们试图计算的点,并在选择时在three.js中为区域(选定的三角形)赋予不同的颜色。所需的任何其他计算都可以在某种后端(Python、Node.js 或其他任何东西)中完成,但我看不到在程序之间传输如此复杂数据的明显方法。

我的最小复制代码,请参阅我上面提到的 github 链接以获取我图片中使用的 .stl 文件:

编辑:我的预期输出示例,但在 Fusion 360 中而不是 three.js(注意,原始文件是 .stl 但由于three.js 不允许查看部分,因此在后端将其转换为 .stl) Fusion 360 示例 .stl 文件中的“三角形”示例 三角形示例

0 投票
1 回答
106 浏览

python - 在加载了 vtk 的 .stl 模型上部分着色的方法

我想在加载了 vtk 的 .stl 模型上部分着色。

我在搜索这个时发现了一个类似的东西。

但它是为整个 .stl 模型着色。

以下是我想在 .stl 模型上更改的内容。

注意:您不必担心模型颜色以外的任何事情。

在我为 .stl 模型上色之前

在我为 .stl 模型上色后

有什么好的方法可以解决我的问题吗?或者这是不可能的吗?

下面是整个代码的渲染部分:

注意:我正在创建一个 pyqt 应用程序。

0 投票
0 回答
56 浏览

python - 在 Python 中制作不同几何形状(球体、圆柱体、椭圆体)的 STL 文件?

我正在尝试在 python 中制作不同形状的STL 文件,例如球体、圆柱体、椭圆体等。我听说过创建点云,然后从那里创建一个 STL,但还没有找到任何具体的细节。如果我有不同高度和半径的圆柱体不同半径的球体或不同半轴长度 (xr,yr,zr)的椭球体,我该如何创建它们?

我在 Python 中相对较新,我的代码使用 Spyder (Python 3.8)。如果有人可以帮助我或将我引向正确的方向,我将不胜感激。