问题标签 [numpy-stl]

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 投票
0 回答
424 浏览

python - 使用 python 脚本缩放 .stl 文件

我有一个 .stl 文件,我想编写一个 python 脚本来扩展 if。例如,如果我有一个尺寸为 2x2x2mm 的立方体的文件,并且我的比例设置为 10,那么脚本应该输出一个尺寸为 20x20x20mm 的立方体的 stl 文件。

我搜索并找到了用于修改 stl 文件的 numpy-stl 库。但是,我似乎找不到任何可以缩放 .stl 的函数。有人可以为我指出正确的方向吗?

0 投票
1 回答
3084 浏览

stl - 如何从 numpy-stl 网格中提取顶点?

我正在尝试使用 numpy-stl 从 stl 模型中提取顶点以用于连贯点漂移配准。你如何去提取顶点?我了解如何从顶点和面列表创建网格,但不了解如何倒退。

我试过:从顶点和面创建一个新的网格。导入创建的网格。

0 投票
1 回答
273 浏览

python - 合并两个 3d 对象时删除内部信息

嗨,我目前正在开展一个项目,我们必须组合多个 3d 对象。因此,例如将它们彼此相邻放置,有时它们也会相交。

我正在寻找一种算法/库或任何可以将这个新合并对象减少为仅由外表面组成的想法。(我们的 3d 对象目前是 .stl 文件,但我们不受此格式的约束)

我们已经尝试将这些对象与 numpy-stl 组合,但似乎这个库没有任何优化可以帮助解决这个问题。我们还尝试使用来自 pymesh 的布尔合并,但这需要非常多的时间来处理详细的对象。

我们希望释放对象内部的所有信息,只保留外部的信息。因此,例如,如果您将这个组合的 3d 对象放入水中,我们只需要会被水触及的面。

我们更喜欢 python,但任何可以在 python 中实现的算法都会让我们前进。

我们感谢每一个答案:)

0 投票
0 回答
181 浏览

python - 是否可以仅在垂直(Z 维度)中创建 Delaunay 三角剖分?

我正在研究 QGIS 中的插件,该插件从栅格数据创建 3d 模型。在这种情况下,我只需要在垂直平面中创建三角剖分(没有将垂直面与相邻点连接)。

这是我的代码和具有当前效果的示例。

在 Delaunay 函数之后,我从点和面创建 stl 文件。以下是我需要的,但该算法仅在我得到一条直线时才能正常工作。我需要它的所有点。

在此处输入图像描述

EDIT1:@Ripi2

我试过你的想法,但没有奏效。

这是我的迭代函数代码,我迭代所有像素,当像素获得值时,我的算法将其添加到列表中。之后,我在 Delaunay 三角剖分中使用此列表。

这是代码:

这是我想转换为 3d STL 模型的栅格示例。1 个像素有 X、Y 和高程值(在代码中这是 block.value)

在此处输入图像描述

Edit2:我需要在这之间做鬼脸。这是在 ArcScene 中进行的更好的可视化。 在此处输入图像描述

0 投票
1 回答
993 浏览

python - 在 matplotlib 3d 中旋转 stl 文件

我正在使用 numpy-stl 在绘图中打开 stl 文件。它是打开的 stl 文件。但我有一个问题。我想像这样在图中旋转 stl 文件:

在此处输入图像描述

代码在这里:

0 投票
2 回答
760 浏览

python - 如何在 numpy-stl 中正确查看点云数据?

在投影 3D 数据的点云后,我试图获得前、后、左、右、上、下。但结果并不好。有没有更好的方法来获得所需的视图?我已经使用 numpy-stl 文档和一些投影研究完成了这项工作。

输入 bolt.stl 文件的 3D 视图

我已经从grabcad.com 下载了那个bolt.stl。

在那之后,我试图投射不同的观点,比如:

使用 matplotlib 获取投影视图

结果太糟糕了,我什至不知道螺栓 3D 去哪儿了。

我也试过:

使用轮廓

我也尝试过使用此代码,这是我从“ MVCNN for 3D shape recognition ”中找到的

从点云转换为体积后的 Matplotlib 图

最后,我尝试过:

正视图

侧面图

顶视图

我尝试过使用切片,但正如您已经猜到结果会是什么一样。

正视图

后视图

顶视图

底视图

右视图

左视图

如何获得 .stl 文件的正确视图,如下所示。请忽略绘图和尺寸。

示例视图

或者任何其他 cad 格式都可以。我在 .stl 文件中尝试过,因为到目前为止我没有找到 python 库来加载除 stl 之外的其他 cad 格式。

0 投票
2 回答
664 浏览

python - 对 2d 形状进行三角剖分以获得 STL

我在 python 中生成二维二进制形状。之后,我希望将它们转换为 3D STL 文件以进行 3D 打印。这种作品,但仅限于“简单”的形状,如三角形和正方形。对于更复杂的形状,我得到以下 Shape : 形状(我想要这个在 3D 模型/STL 中)

我的代码生成的 STL 模型

所以我们可以看到它有点像二进制图像,但有更多的“伪影”。我用:

  • delaunay三角剖分(来自scipy)
  • numpy-stl 用于生成 stl 文件(需要顶点 + 面来生成,这就是三角剖分的原因)
  • numpy 保存/加载我的形状

这是我的代码:

谁能给我一些关于如何摆脱这些“伪影”并告诉 delaunay 三角剖分不要连接不在形状中的顶点的提示?

0 投票
2 回答
539 浏览

python - 如何使用 vtk 库更改 STL 颜色

我正在尝试操作 STL 文件,以便它们在屏幕上显示为不同的颜色。

这是我现在拥有的代码,我正在循环多个 STL 文件。我认为唯一的问题是我的语法,因为我找不到将数据设置为我想要的颜色的命令。

任何帮助将不胜感激!先感谢您。

0 投票
2 回答
182 浏览

python - 如何使用 boto3 从 Amazon S3 获取 .stl 文件?

我有一个 Django Web 应用程序并将其部署到 Elastic Beanstalk 环境中。我也有 numpy-stl 包。我正在尝试从 Amazon S3 存储桶中获取 .stl 文件并将该文件与 stl 包的功能一起使用,但我收到了一个错误,例如'bytes' object has no attribute 'get_mass_properties'.

我的代码是;

如何获取 .stl 文件并使用它?

0 投票
2 回答
739 浏览

python - 查找 .stl(CAD 绘图)文件和 3D 图(matplotlib)之间的交点?

我试图找到 3d 对象 .stl 文件(我使用 numpy-stl 导入到 python)和 3d 绘图(我使用 matplotlib 生成)之间的交点。3d 对象是 cad 绘图,3d 绘图是 3d 中的一堆曲线。我可以将它们绘制在同一个图上,但我不知道如何找到轨迹和绘图之间的交点。我的想法是在绘制曲线后使用 numpy-stl 模块中的 save() 函数将曲线转换为 .stl,并将它们一起显示在像 freeCAD 这样的 cad 应用程序上,并使用应用程序的功能找到交点。但它并不那么简单,因为这些图是基于点的,而 .stl 是基于三角形的。如果有人对如何解决这个问题有任何建议,请告诉我!!

这是绘制 .stl 对象和 3d 绘图的代码。这就是我到目前为止所拥有的。

1个想法:有没有办法将.stl对象转换为一组平面函数?如果是这样,我可以将绘图变成线并找到平面和线之间的交点?

第二个想法:或者,因为 .stl 是基于矢量的,我可以使用矢量计算?即查看曲线(线段)上的向量是否与 .stl 对象上的三角形有共同点(三角形由三个向量定义)。

请给我任何你可能有的想法!太感谢了。