Strava GPX→STL (Embed gpxtruder)

在 Strava 活动/路线页面右下角增加“导出 STL”按钮;自动获取当前页面 GPX,内嵌运行 gpxtruder 完整页面,并把 GPX 作为已选文件传入,保持原有功能不变

作者
齐校玉(帕布光先生)
今日安裝
0
安裝總數
0
評價
0 0 0
版本
1.0.1
建立日期
2025-08-28
更新日期
2025-08-28
尺寸
7.3 KB
授權條款
MIT
腳本執行於

Strava GPX→STL 路线导出3D模型(基于 gpxtruder 修改版)

本脚本基于 gpxtruder 开源项目修改而来,实现了在 Strava 页面中直接抓取 GPX 并生成 STL 文件的功能。


功能简介

  1. 右下角“导出 STL”按钮 在 Strava 的活动页或路线页右下角增加一个固定按钮,点击即可直接触发 STL 导出流程。
  2. 自动获取当前页面 GPX 根据当前页面 URL 自动识别活动或路线,并下载对应的 GPX 文件,无需手动导出。
  3. 嵌入 gpxtruder 页面 内嵌 gpxtruder 完整页面(通过 <iframe>),将抓取的 GPX 自动注入到文件输入控件中,实现无缝 STL 生成体验。
  4. 模态窗口与界面交互
    • 半透明背景遮罩,点击或按 Esc 可关闭。
    • 可自由调整窗口大小,支持响应式布局。
    • 内置关闭按钮,可在导出过程中随时退出。
  5. 完全基于开源 gpxtruder 所有核心计算和 STL 导出逻辑均使用原项目提供的功能,保持原有稳定性和性能。
  6. 新增截取 GPX 功能(重点) 脚本中增加了 GPX 文件抓取与自动注入功能,不再依赖用户手动上传 GPX 文件,实现 Strava 页面与 gpxtruder 的无缝衔接。

安装方式

  1. 安装 Tampermonkey 或兼容的油猴插件。
  2. 点击右上角 “添加新脚本”,将本脚本全部内容粘贴进去。
  3. 保存脚本并刷新 Strava 页面。

使用方法

  1. 打开 Strava 的 活动页路线页(例如:https://www.strava.com/activities/{id}https://www.strava.com/routes/{id})。
  2. 页面右下角出现 “导出 STL” 按钮。
  3. 点击按钮后:
    • 脚本自动抓取当前页面 GPX 文件。
    • 弹出模态窗口,嵌入 gpxtruder 页面。
    • GPX 文件自动注入到 gpxtruder 文件输入控件中。
  4. 使用 gpxtruder 原有功能生成 STL 文件。

支持页面

注意:仅支持上述页面 URL 格式,其他页面无法自动抓取 GPX。


技术说明

  1. 依赖
    • gpxtruder(CDN 引入)
    • GM_xmlhttpRequest(油猴权限,用于跨域抓取 GPX 和 index.html)
  2. 关键实现
    • 通过 buildStravaGpxUrl() 自动生成 GPX 导出链接。
    • 使用 GM_xmlhttpRequest 下载 GPX 并注入到 gpxtruder <iframe> 内。
    • 修改原 index.html 引入路径,使 JS/CSS 资源从 CDN 加载,避免跨域问题。
    • DataTransfer 对象模拟文件选择器,实现自动上传 GPX 文件。
  3. 可配置参数
    • CDN_BASE:gpxtruder CDN 基础路径,可按需修改。
    • MODAL_WIDTHMODAL_HEIGHT:模态窗口尺寸,可根据屏幕调整。

优势与亮点

  • 无需手动导出 GPX:直接在 Strava 页面操作,省时省力。
  • 保持原 gpxtruder 功能:STL 导出、3D 可视化等功能不受影响。
  • 开源基础上修改:尊重原作者贡献,功能增强且兼容原项目。
  • 轻量易用:仅需安装油猴脚本,无需本地部署 gpxtruder。

注意事项

  • 仅在支持 GPX 导出的 Strava 页面使用。
  • 若 Strava 修改了页面结构或 GPX 下载接口,可能需要更新脚本。
  • 本脚本在浏览器中执行,需允许 iframe 加载 CDN 内容。

总结

该油猴脚本在原有 gpxtruder 的基础上做了两个核心增强:

  1. 自动截取 Strava 页面 GPX,用户无需手动导出。
  2. 直接嵌入 gpxtruder 页面并注入 GPX,实现一键 STL 导出体验。