# lc-step 通过**立创商城料号(Cxxxxx)**或**组件 UUID** 批量下载立创EDA(LCEDA / EasyEDA Pro)3D 模型(STEP / OBJ)的命令行工具。 ## 功能 - 输入立创商城料号(如 `C25744`),自动解析 3D 模型并下载 STEP 文件 - 可同时下载源 OBJ 网格模型 - 支持批量料号,一次请求批量解析 - 兼容直接传 32 位十六进制组件/模型 UUID - 私有器件可携带登录 Cookie ## 依赖 Python 3.6+,仅标准库,无第三方依赖。 ## 用法 ```bash # 下载 STEP(保存到当前目录,文件名取器件名) python3 lceda_step.py C25744 # 批量下载多个料号 python3 lceda_step.py C25744 C2590 C14663 C48642328 # 同时下载源 OBJ 模型 python3 lceda_step.py --obj C25744 # 指定输出目录 python3 lceda_step.py --outdir ./models C2590 # 私有器件:携带 pro.lceda.cn 登录 Cookie python3 lceda_step.py --cookie "lc_auth=xxx" C2590 # 直接传组件/模型 UUID(与料号混用亦可) python3 lceda_step.py 98c88bc2b9094f218f3a3e30a7012738 ``` ## 参数 | 参数 | 说明 | | --- | --- | | `items` | 立创商城料号(`Cxxxxx`)或 32 位十六进制 UUID,可多个 | | `--obj` | 额外下载源 OBJ 网格模型 | | `--outdir` | 输出目录,默认当前目录 | | `--cookie` | pro.lceda.cn 登录 Cookie(私有器件需要) | ## 工作原理 ``` LCSC 料号 (Cxxxxx) → POST /api/v2/eda/product/search 批量查询 → device_info.footprint_info.model_3d.uri → GET /api/v2/components/{uri} 解析 3D 模型 UUID(失败则直接用 uri) → 3d_model_uuid + path(owner) → GET modules.lceda.cn/qAxj6KHrDKw4blvCG8QJPs7Y/{3d_model_uuid}?path={owner} → STEP(AP214,服务端 SolidWorks 预生成) ``` 注意: - 器件级 STEP 由立创服务端用 SolidWorks 预生成并存在公开 CDN 上,本工具直接下载,不依赖浏览器; - 部分器件的 `model_3d.uri` 本身就是 CDN 模型 UUID(如 RK3506B),`/api/v2/components` 查不到时脚本会自动回退直接使用; - CDN 路径中的固定 token 取自前端引擎 JS,如未来失效需更新脚本中的 `STEP_TOKEN` 常量; - 仅公开器件可匿名下载;私有器件需 `--cookie`。 ## 示例输出 ``` $ python3 lceda_step.py C25744 C2590 C25744 | 0402WGF1002TCE | model_doc=98c88bc2b9094f218f3a3e30a7012738 -> C25744 STEP 1068243 bytes -> 0402WGF1002TCE.step C2590 | IRLML2803TRPBF | model_doc=c62791f0466c4ae2a892c056b845b0ca -> C2590 STEP 2773949 bytes -> IRLML2803TRPBF.step ```