把徒步轨迹做成 3D 地形模型:开源工具「印迹 TrailPrint 3D」

把徒步轨迹做成 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...

欢迎交流打印配色、取景构图,以及你印出来的第一条山脊线 🏔️

相关推荐
高级程序源3 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe4 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
架构技术专栏4 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
别动我齐刘海5 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
志尊宝6 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
WeiXin_DZbishe6 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
刘发财6 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
WeiXin_DZbishe6 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
用户202252215066 小时前
我在 DSH 做了个 AI 交付验收台:没有证据,就不算通过
github