Files
lc-step/README.md
T

76 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```