把徒步轨迹做成 3D 地形模型:开源工具「印迹 TrailPrint 3D」
走了一条很喜欢的徒步路线,除了照片和 GPX 记录,有没有想过把它「留下来」?

我做了个桌面小工具 印迹 TrailPrint 3D:导入 GPX 轨迹,结合真实地形高程,一键生成可直接 3D 打印的分件模型。打印出来就是一座带路线印记的小山------摆在桌上,比截图更有仪式感。
项目已开源:github.com/baozjj/Trai...
它能做什么?
简单说,印迹 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/Trai...
欢迎交流打印配色、取景构图,以及你印出来的第一条山脊线 🏔️