find-stl

🖨️ 3D 模型一键搜录与合规管理

🥥50总安装量 16评分人数 23
100% 的用户推荐

基于 Printables 平台的 3D 模型搜索下载工具,零依赖 Python 实现,自动记录许可证与来源信息,保障 3D 打印工作流合规可追溯。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 零外部依赖,仅使用 Python 标准库,无供应链风险
  • ✅ 无危险函数(eval/exec/system/subprocess),代码完全透明可审计
  • ✅ 完善的输入验证与路径清理(safe_slug),有效防止路径遍历攻击
  • ⚠️ 使用 User-Agent 伪装访问 Printables API,属必要反爬兼容措施
  • ⚠️ 下载链接为平台提供的时效性 URL,需及时使用避免失效

使用说明

核心用法

find-stl 是一个面向 3D 打印工作流的命令行工具,提供确定性的两阶段管道:搜索与获取。用户首先通过 search 子命令在 Printables 平台检索模型,支持关键词查询与结果数量限制;随后使用 fetch 子命令指定模型 ID,自动下载完整模型包(ZIP 或独立 STL/3MF 文件),并生成结构化的 manifest.json 清单文件。该清单完整记录来源 URL、作者信息、许可证 ID、文件列表及哈希值,为后续的报价、打印或 remix 创作提供合规依据。

显著优点

该技能的最大优势在于合规性与可追溯性的自动化。传统 3D 模型下载往往忽视许可证管理,而 find-stl 强制将授权信息嵌入工作流,避免商用场景下的法律风险。技术层面,其零外部依赖设计极具亮点——仅使用 Python 3 标准库(urllib.requestzipfilejson 等),彻底消除供应链攻击面,部署成本极低。此外,代码实现严谨:路径遍历防护(safe_slug 函数)、超时控制、上下文管理器确保资源安全,适合集成到自动化流水线或 CI/CD 环境中。

潜在缺点与局限性

功能边界相对狭窄:仅支持 Printables 单一平台,无法覆盖 Thingiverse、MyMiniFactory 等其他主流模型库。下载链接具有时效性(Printables GraphQL 生成的临时 URL),意味着 manifest 中的直链不可复用,需重新 fetch 获取最新下载地址。对于批量下载场景,缺乏内置的速率限制与重试机制,可能触发平台反爬策略。此外,模型预览依赖 Printables 的缩略图服务,本地无 3D 渲染能力,用户需借助外部软件验证模型几何结构。

适合的目标群体

  • 3D 打印服务商:需要快速报价、记录物料来源的 B2B 场景
  • 创客与硬件工程师:寻找现成结构件、支架、外壳等机械零件
  • 教育培训机构:管理学生作业中的第三方模型授权合规
  • 自动化工作流开发者:将模型获取集成到产品配置器或 MES 系统

使用风险

  • 网络稳定性:Printables API 可用性直接影响功能,建议增加本地缓存层
  • 许可证理解成本:工具仅记录许可证 ID(如 CC-BY-SA-4.0),用户需自行理解条款含义
  • 模型质量参差:平台 UGC 内容质量不一,下载后仍需人工验证打印可行性
  • 存储管理:默认输出至 ~/models/incoming,长期运行需定期清理避免磁盘膨胀

find-stl 内容

文件夹图标scripts文件夹
手动下载zip · 4.2 kB
find_stl.pytext/plain
请选择文件