lc-step: LCEDA 3D model (STEP/OBJ) downloader by LCSC code
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user