图像缩略图

stltools.

版本1.1.0.0(1.58 MB) PauMicó.
这是一个函数,样本和演示的集合,用于说明如何处理STL文件

58下载

更新2017年10月20日

查看版本历史记录

查看许可证

“stltools”工具箱是一个函数,样本和演示的集合,用于说明如何处理STL文件。其中一些是在Matlab中央发表的贡献,并在此处妥善引用。此工具箱包含以下文件:
(*)stlgetFormat:标识STL文件的格式并返回“二进制”或“ASCII”。该文件在亚当H.Aitkenhead编写和发布的“read-stl”文件中启发
(*)stlreadascii:读取以ASCII格式编写的STL文件。该文件在亚当H.Aitkenhead编写和发布的“read-stl”文件中启发
(*)stlReadBinary:读取以二进制格式编写的STL文件。该文件在亚当H.Aitkenhead编写和发布的“read-stl”文件中启发
(*)stlread:使用'stlgetformat','stlreadascii'和'stlreadbinary',使STL阅读独立于文件的格式
(*)stlwrite:以“ASCII”或“二进制”格式写入STL文件。这是由Sven Holcombe(*)stlslimverts的编写和发布:查找并删除重复的顶点。此功能由Francis Esmonde-White写入和发布,如Patchslim
(*)stlgetverts:根据“Mode”输入参数返回“打开”或“关闭”的顶点列表。“打开”Vertice是定义开放侧的“开放”。一个开放的方面是只有一个三角形的人
(*)stldelverts:删除STL文件的顶点列表
(*)stladdverts:将新顶点从列表(以及因此,新的面)添加到STL对象
(*)Stlplot:是绘制STL对象的简单方法
(*)stldemo:是关于如何使用stltools的示例集合
(*)股骨(*)股骨:是在'stldemo'中使用的ASCII STL样本。它由Eric Johnson出版
(*)SPENTE_ASCII:是二进制STL样本

引用

PauMicó(2021)。stltools.(//www.tatmou.com/matlabcentral/fileexchange/51200-stltols),Matlab中央文件交换。检索到

评论和评级(31.

达峰季

Zhaonan Liang

内森Q.

Camille Remy.

邓肯德尼

奇迹般有效。

yash sheth.

Pieter Livens.

我今天下载了文件(7/01/2019)并出错了。我认为演示文件目前加载非求和的STL。如果我更改名称,一切都按预期工作。

MQH.

您好,我有一个ASCII STL FIE,我想在Matlab中显示它。但我不知道如何打开它并使用所有这些函数,因为我是Matlab的初学者。你能告诉我如何打开它或我应该在哪里进行更改。预先感谢

MichaelHäußler.

表现建议:
我发现我可以在我的一个较大的.stl文件(R2017A)上提高大约81秒到12秒到12秒到12秒的表演。

考虑更换:
法线= char(内容(逻辑(逻辑(strncmp(内容,'小正常',12)))))))))))))))));
法线= str2num(normals_char(:,13:结束));

经过:
normals_char = char(内容(逻辑(strncmp(content,'facet normal',12))))))));
法线=零(尺寸(正常(正常),3),3);
for for for ermanic_id = 1:大小(法线,1)
法线(normal_id,:) = sscanf(normals_char(normal_id,13:end),'%f',[1 3]);
结尾

顶点也是如此。似乎奇怪的是'for循环'更快,但我想Matlabs解释器随着时间的推移已经更加聪明了。似乎str2num()函数实际上非常慢(Matlab甚至在那个警告中抛出警告)。但是当然,上面的代码没有读取与您的版本一样好。您可以选择是否要更改它。

除了我喜欢代码!井组织,清楚地写。只是做它的工作。

来自慕尼黑的阳光尊重;)

约翰内斯

Katherine Beaulieu.

当我读到我的STL时,面孔列表有浮点数,有人知道为什么是这样吗?

德鲁健

詹姆士

FAEZ ALKADI.

你好,
无论如何要在3D方向上偏移STL文件。我知道Surf2solid将薄表面变为固体部分。但我正在寻找的是抵消STL身体。例如,正偏移因子使体更大并返回新顶点,负偏移因子使身体变小并且还返回新顶点。
每个BergStröm的IGES工具箱中的功能(TransformStl.M)只转换STL。但是,除了STL而不是IGES文件格式之外,我正在寻找的是(offstiges.m)。

是否有任何功能?
非常感谢

穆罕默德伊斯拉米

Philipp Ertl.

stlreadascii中的第54行应该是'nvert = size(顶点,1);'而不是'长度(顶点)',以避免小型.stl文件的问题

dcscodeLife

Alexander Laut.

虽然ASCII文件倾向于读取较慢,但对于ASCII和二进制格式的工作。不确定这是否只是加载未压缩格式的性质,或者如果需要更多优化,但它整体工作得很好。

FAEZ ALKADI.

对于Stladdverts,您可以说它从列表(以及因此,新的面)添加到STL对象的新顶点。
你能举个例子吗?

谢谢

惠王

真的很好!计算快!

Dazuoye.

这真的很有帮助,谢谢!!!

可以郭

马特卡尼

尼古拉斯里士满

极好的!但是,我发现了stldelverts的问题。如果VDEL包含任何零,它会抛出“subscript指数必须是真正的正整数或逻辑”错误。

Felicity J.

JanLünert.

它始终返回我的错误,说明文件中的“未定义的函数或变量”,即尝试读取或“不足的输入参数”。是熟悉STL工具箱此类问题的人吗?提前致谢!

弗里茨

Ali Sedghi.

非常有用。谢谢。

J.P

优秀!谢谢!!

鹏飞

太好了谢谢!

布伦丹

Demo在运行时创建错误。它正在寻找'spine300faces.stl',但包括的球体是'spine_ascii.stl'。更改静止文件的名称或代码修复它。

Matlab释放兼容性
用R2014B创建
兼容任何释放
平台兼容性
视窗 苹果系统 Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!