徒步轨迹变立体地形模型:开源「印迹 TrailPrint 3D」一键生成3D打印纪念品
走完一条念念不忘的徒步路线,除了手机照片和GPX轨迹文件,你是否想过用一种更直观、立体的方式把它「永久留存」?

一款开源桌面小工具——印迹 TrailPrint 3D,恰好帮你实现这个创意:只需导入GPX轨迹文件,结合真实地形高程数据,一键生成可直接用于3D打印的分件模型。打印出来的是一座带有路线印记的立体小山——摆在桌面上,比一张截图更有仪式感与纪念价值。
项目已开源:github.com/baozjj/TrailPrint-3D
这款工具能做什么?
简单来说,印迹 TrailPrint 3D 的核心流程是:
GPX轨迹 → 真实地形 + 路线线条 → 多色3D打印模型
看看是否适合你的使用场景:
- 刚走完西湖爱心线、武功山、麦理浩径等经典路线,想为这次旅程打造一个实体纪念品
- 习惯用两步路或佳明记录轨迹,电脑里存了不少
.gpx文件 - 家里恰好有一台支持多色的FDM打印机(尤其是拓竹等品牌),愿意花一下午时间切片打印
无需建模基础,也不用手动描绘地形。你只需上传轨迹、在地图上框选所需范围、调整几个参数,就能获得三个STL文件,拖入Bambu Studio上色切片即可。
从轨迹到成品,操作步骤如下
1. 准备GPX文件
在两步路等App中打开你喜欢的轨迹,导出 .gpx 即可。本次示范使用的是经典的西湖爱心线。

2. 导入轨迹
启动印迹,点击「导入GPX」,轨迹会自动加载到地图上,并显示点数、里程等基础信息。

3. 构图取景,调整打印参数
这一步是该工具的核心体验:在地图上拖动与缩放,决定哪些山路纳入模型;侧栏可选择底座形状(圆形、矩形等)、设定实际打印尺寸、拉高山体高度、调整表面平滑度,甚至配置托盘厚度和磁吸孔位。所有参数都围绕「如何打印、如何摆放」设计,不需要任何3D建模知识。

4. 导出模型
预览满意后点击生成,系统会下载一个压缩包,内含三个拆分好的STL文件,已针对多色打印和后期拼装进行优化。

5. 进入Bambu Studio上色切片
解压后,将三个文件拖入Bambu Studio,分别为山体、轨迹线、底座指定颜色,先预览拼装效果,然后正常切片并发送打印。


6. 打印、拼装、完工
打印机完成工作后,将轨迹线条嵌入山体凹槽,再装上画框式底座——一座完全属于你个人的「徒步地形纪念碑」就此诞生。

成品巴掌大小,但路线与山脊的对应关系一目了然。缩小到桌面尺寸后,地形看起来可能略平,因此导出前可在软件中适当拉高海拔。三个零件分色打印后,轨迹嵌进凹槽,用磁铁吸附即可固定,完全无需胶水。
你会获得什么?
生成完成的压缩包里固定包含三个文件:
| 文件 | 用途 |
|---|---|
Terrain_Main.stl | 山体主模型,表面已预设轨迹凹槽 |
Trail_Line.stl | 独立轨迹线条,便于换色打印 |
Tray_Base.stl | 画框式托盘底座,带有凹槽和磁铁孔位 |
导入切片软件,分别设色、打印、拼装——流程与制作多色铭牌类似。
技术栈
这是一款基于 Electron 的桌面应用,前端采用 Vue 3 加 TypeScript,构建工具为 electron-vite 和 Vite,状态管理通过 Pinia 实现。
| 模块 | 技术 |
|---|---|
| 地图取景 | Leaflet |
| 3D预览与模型生成 | Three.js、three-bvh-csg |
| 地形高程数据 | GeoTIFF解析 + OpenTopography API |
| 打包导出 | archiver(ZIP) |
想在本地运行?执行 npm install 加 npm run dev 即可,需要Node.js 18及以上版本。更详细说明可参考项目仓库的README。
谁适合尝试?
- 喜欢徒步或越野跑,想为某次难忘行程留一个实体纪念
- 拥有3D打印机,特别是支持多色打印或愿意多色换料的用户
- 已经不满足于平面的轨迹截图,想体验「地形立体感」带来的微妙差异
地形高程数据需要免费申请一个OpenTopography的API Key,在软件内填写一次即可,密钥保存在本机,无需担心隐私问题。
写在最后
印迹 TrailPrint 3D 是一个个人维护的开源项目,目前仍在持续迭代。如果你也被「把走过的路打印出来」这件事所打动,不妨到GitHub上给它点个Star,或提交Issue,聊聊你打算印哪条路线。
仓库地址: github.com/baozjj/TrailPrint-3D
