参阅:STL-to-ASCII-Generator 使用教程
开源项目网址 下载 STL-to-ASCII-Generator-main.zip 解压到 D:\js\
index.html 如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta id="ascii" name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
<title>STL To ASCII Generator</title>
<script defer="defer" src="bundle.5f6951b3191a2214dc44.js"></script>
<link href="main.css" rel="stylesheet">
</head>
<body>
<form method="post" enctype="multipart/form-data" data-html2canvas-ignore="true">
<div id="top">
<input id="file-selector" name="files[]" style="display:none" type="file">
<input type="button" id="input-button" value="Upload STL" accept=".stl" onclick='document.getElementById("file-selector").click()'>
<input id="lightDark" type="button" value="Dark/Light Mode">
<input id="rotateButton" type="button" value="Rotate">
<input id="clipboardASCII" type="button" value="Copy to Clipboard">
<input id="copyASCII" type="button" value="Download Text File"><br>
<input id="newASCII" size="12" value="Custom Text" onkeydown="return 13!=event.keyCode">
<input id="updateASCII" type="button" value="Update ASCII">
<input id="resetASCII" type="button" value="Reset ASCII">
<input id="screenshotButton" type="button" value="Screenshot">
<script>
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && (
document.getElementById("screenshotButton").style.display = "none",
document.getElementById("input-button").style.display = "none",
document.getElementById("copyASCII").style.display = "none",
document.getElementById("clipboardASCII").style.display = "none"
)
</script>
</div>
<div id="kofi">
<br><br><br>
<p>STL to ASCII Generator</p>
<p style="font-family:'Courier New'">Andrew Sink - 2022</p>
<p style="font-size:13px;font-family:'Courier New'">Full Code Available on <a href="https://github.com/AndrewSink/STL-to-ASCII-Generator">Github</a></p>
<script src="https://storage.ko-fi.com/cdn/widget/Widget_2.js"></script>
<script>
kofiwidget2.init("Want to buy me a coffee?","#29abe0","A0A35L8LW"),
kofiwidget2.draw()
</script>
</div>
</form>
</body>
</html>
运行 cmd
cd \js\STL-to-ASCII-Generator-main
运行 python -m http.server
STL 原图:
访问 http://localhost:8000
点击【Upload STL】,上传 D:\js\STL-to-ASCII-Generator-main\models\test.stl
参阅:STL-to-ASCII-Generator 项目常见问题解决方案
1. 问题:无法正确上传 STL 文件
解决步骤:
检查文件格式:确保上传的文件是标准的 STL 格式文件。STL 文件通常有两种格式:二进制和 ASCII。此项目支持的是 ASCII 格式的 STL 文件。
文件大小限制:检查文件大小是否超过浏览器或服务器的限制。如果文件过大,可以尝试压缩文件或使用其他工具进行处理。
浏览器兼容性:确保使用的浏览器支持文件上传功能。推荐使用最新版本的 Chrome、Firefox 或 Edge 浏览器。
参阅:STL-to-ASCII-Generator 编程技术分析
blender 如何导出 ASCII 格式的 STL 文件 ?
在 Blender 中导出 ASCII 格式的 STL 文件非常简单,只需按照以下步骤操作:
步骤 1:打开或创建 3D 模型
首先,在 Blender 中打开你想要导出的模型,或创建一个新模型。
步骤 2:进入导出界面
点击顶部菜单:
文件 → 导出 → 立体光刻 (.stl)
或直接按 Ctrl + Shift + S 并选择 STL 格式。
步骤 3:设置导出选项
在导出对话框中,找到并勾选以下关键选项:
1.文件格式
确保选择 ASCII(默认可能是 二进制)。
2.对象选项
- 选择导出 所选对象 或 全部对象。
- 勾选 应用变换 以确保模型的位置、旋转和缩放正确。
3.网格选项
- 勾选 仅可见 以排除隐藏对象。
- 根据需要调整 三角测量(通常保持默认)。
步骤 4:确认导出路径并保存
- 选择保存位置和文件名。
- 点击 导出 STL 按钮完成导出。
验证 ASCII 格式
导出后,用文本编辑器(如 Notepad、VS Code)打开 STL 文件,检查内容是否类似以下格式:
solid Export
facet normal 0.000000e+00 0.000000e+00 1.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 0.000000e+00
vertex -1.000000e+00 1.000000e+00 0.000000e+00
vertex -1.000000e+00 -1.000000e+00 0.000000e+00
endloop
endfacet
# 更多面片...
endsolid Export
如果文件内容是人类可读的文本而非乱码,则表示导出为 ASCII 格式成功。
常见问题
1.文件体积过大
ASCII STL 比二进制 STL 体积大 2 - 3 倍,适合调试或需要文本编辑的场景。
2.导出后模型异常
确保勾选 应用变换,否则模型可能出现缩放或旋转错误。
3.导出空白文件
检查是否有选中的对象,或尝试切换 所选对象/全部对象 选项。
通过以上步骤,你可以轻松在 Blender 中导出 ASCII 格式的 STL 文件,方便后续在其他软件(如 ASCII - to - STL 生成器)中处理。
STL 原图:
从 blender 3.6.5 导出 ASCII 格式的 猴头UV,点击上传 MonkeyUV.stl