我需要将一些 STL 文件的简单图像渲染添加到文档中。我目前在预览或其中一个切片器中打开 STL 文件并抓取屏幕截图。
有没有更简单或自动的方法来从 Mac 上的 STL 文件生成 PNG 图像?
我需要将一些 STL 文件的简单图像渲染添加到文档中。我目前在预览或其中一个切片器中打开 STL 文件并抓取屏幕截图。
有没有更简单或自动的方法来从 Mac 上的 STL 文件生成 PNG 图像?
如果您安装了OpenSCAD,此 shell 脚本将为当前目录中的每个 STL 文件生成 100x100 像素的 PNG 图像。
for i in *.stl; do
T=__tmp__$i
b=`basename $i`
echo import\(\"$i\"\)\; >$T
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -o $b.png --imgsize=100,100 $T
rm $T
done
感谢0scar您指出STL文件可以导入到OpenSCAD。
更新:此代码执行相同操作,并生成一个 html 文件,其中包含渲染文件的带注释图像。当我为我的 3D 打印机打印一批备件时,我制作了一份硬拷贝并将其贴在盒子里,以便我以后可以识别这些零件。
n=-1
H=00-catalog.html
echo >$H '<table>'
echo >>$H ' <tr>'
for i in $*; do
n=`expr $n + 1`
if test $n = 4; then
n=0
echo >>$H ' </tr>'
echo >>$H ' <tr>'
fi
echo $i
T=__tmp__$i
B=`basename $i .stl`
echo import\(\"$i\"\)\; >$T
/Applications/OpenSCAD.app//Contents/MacOS/OpenSCAD -o $B.png --imgsize=200,200 $T
echo >>$H
echo >>$H ' <td>'$i'<br><img src="'$B'.png"></td>'
rm $T
done
echo >>$H ' </tr>'
echo >>$H '</table>'
通常,您会安装(免费)3D 模型程序作为 Fusion 360、FreeCAD 或更多可供选择的选项。安装后,导入 STL 文件并使用菜单选项导出 STL 的图片。
或者,如果您有一些编程技能,您可以在 OpenSCAD 中导入 STL 文件,然后从那里渲染和导出图片。只需使用下面的代码行创建一个 OpenSCAD 文件,它就会将您的example.stl
.
import("example.stl", convexity=10);
通过菜单,您可以将视图导出为图像。请注意,您也可以从命令行执行此操作,如 OP 自己的答案所示(OpenSCAD 命令行使用的好示例)。
这些不是唯一的选择,还有更多选择。例如,这是一个很好的例子。它还描述了 Thingiverse.com 如何对 Web 图像进行 STL。
如果您不介意使用屏幕抓取,您可以使用 AppleScript 或在最新的 MacOS 版本中调用的任何内容来构建自动脚本来打开每个文件、抓取屏幕、保存等。
您可以使用 OpenSCAD,如已接受的答案中所述。这是该脚本的一个版本,适用于任何需要它的人,就像我一样。
# Change height and width to the desired output image dimensions, in pixels.
# The path to openscad.exe may also have to be adjusted based on your installation.
height=1080
width=1080
for i in *.stl; do
T=__tmp__$i
b=`basename "$i"`
echo import\(\"./$i\"\)\; > "$T"
C:/'Program Files'/OpenSCAD/openscad.exe -o "$b".png --autocenter --viewall --imgsize=$width,$height "$T"
rm "$T"
done