# Whiteboard-Annotation **Repository Path**: ZeroEggVoid/whiteboard-annotation ## Basic Information - **Project Name**: Whiteboard-Annotation - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-29 - **Last Updated**: 2026-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 白板批注 · 嘉立创EDA专业版扩展 把原理图里的器件框选打包成 **模块1、模块2…**,在模块面板里进入一个独立白板:查看器件全部信息、局部放大、自由批注,并把白板保存、导出、再导入。 ![白板批注](docs/images/component-info.png) > 适用:嘉立创EDA专业版(`pro.lceda.cn` / 专业版客户端),扩展引擎 `>= 3.2.0`。 > 本版本只做原理图侧,PCB 侧暂未实现。 ## 功能 - **框选打包**:在原理图里框选一组器件(导线可一起框选),生成 `模块1`、`模块2`…,并自动打开模块面板。 - **独立白板**:每个模块有独立白板,底图自动使用嘉立创导出的当前原理图页 SVG,按模块范围裁切;框线在导出底图时临时隐藏。 - **查看器件信息**:左键点按器件,右侧显示名称、值、封装、生产商、制造商编号、供应商、供应商编号、描述、数据手册、全部引脚与全部参数。 - **隐藏多余信息**:右侧开关只保留关键字段,适合投屏/讨论。 - **局部放大**:左键拖拽框选一块区域,松手放大到该区域。 - **G 适应全图**:`G` 适应全部内容,`0` 回到模块视图,`1` 恢复 100%。 - **M 键平移**:按住 `M` 移动鼠标即可平移;也支持空格拖拽、中键拖拽、滚轮缩放。 - **白板批注**:画笔、荧光笔、文字、矩形、圆、箭头、橡皮、颜色/粗细、撤销/重做、网格开关。 - **手绘规范化**:工具栏「规范化」开关开启后,画笔手绘会自动纠正为直线段、矩形或近似圆;直线、曲线、折线会自动平滑,未闭合的矩形也能识别。 - **文本批注**:统一使用微软雅黑;选中文本后在右侧拖动「字号」滑块调整文字大小,文字不显示背景框。 - **手写笔压感**:画笔/荧光笔支持手写板压力,按压力度控制线条粗细。 - **激光笔**:按 `L` 开启,按住鼠标左键移动出现红色光点和渐隐拖尾,不写入白板文件,适合演示。 - **右侧栏收起**:右上角「信息」按钮可收起/展开信息栏。 - **保存与迁移**:模块清单和白板批注自动保存;支持导出 `.jlcwb.json`、导入、导出 PNG。 ## 功能演示 ### 1. 从原理图菜单进入 ![白板批注菜单](docs/images/menu.png) ### 2. 模块面板与右键菜单 ![模块面板](docs/images/panel.png) ### 3. 白板总览 ![白板总览](docs/images/whiteboard.png) ### 4. 点选元件查看完整信息 ![元件信息](docs/images/component-info.png) ### 5. 批注、激光笔与局部放大 ![批注与激光](docs/images/annotations.png) ![局部放大](docs/images/zoom.png) ## 安装 1. 构建: ```powershell npm install npm run build ``` 产物:`build/dist/白板批注_v1.4.1.eext` 2. 嘉立创EDA专业版 → 顶部菜单 **高级 → 扩展管理器 → 导入**,选择上面的 `.eext`。 3. 打开原理图图页,顶部菜单会出现 **白板批注**。 ## 使用流程 1. **框选**:用 EDA 自带框选选中一组器件;建议把模块内的导线也一起框进来。 2. **打包**:顶部菜单 **白板批注 → 打包选中器件为模块**。 画布上会生成模块框 + `模块1 · N 个器件` 标签,模块面板自动打开。 3. **进入白板**:选中模块标签/框/模块内器件,顶部菜单 **白板批注 → 进入选中模块的白板**。 白板会自动载入原理图底图并按模块范围定位。 4. **查看信息**:左键点按器件,右侧显示全部信息;打开「隐藏多余信息」只看关键字段。 5. **批注**:用画笔/荧光笔/文字/矩形/箭头做标注;`Ctrl+Z` 撤销,`Ctrl+S` 立即保存。 6. **导出/导入**:白板右键菜单 **导出白板文件** 保存 `.jlcwb.json`;**导入白板文件** 可在另一台电脑/另一个工程恢复。模块面板支持单模块导出/全部导出;如果面板按钮无响应,用顶部 **白板批注 → 导出选中模块 / 导出全部模块**。 7. **删除模块**:选中模块标签/框/器件,顶部菜单 **白板批注 → 删除选中模块(保留原理图)**。 > 如果模块面板里的按钮没有反应,请直接使用顶部「白板批注」菜单,功能一致。部分 V3.2 客户端的面板 iframe 没有开放命令通道。 ## 白板操作 | 操作 | 说明 | | --- | --- | | 左键点按 | 选择器件/批注,右侧显示信息 | | 左键拖拽 | 框选一块区域,松手放大 | | 右键单击 | 白板菜单(网格、底图、导出、关闭…) | | 右上角「信息」 | 收起/展开右侧信息栏 | | 按住 `M` + 移动鼠标 | 平移画面 | | 空格拖拽 / 中键拖拽 | 平移画面 | | 滚轮 | 以鼠标位置为中心缩放 | | `G` | 适应全图 | | `0` | 回到模块视图 | | `1` | 恢复 100% | | `V P H T R O A L E` | 选择 / 画笔 / 荧光笔 / 文字 / 矩形 / 圆 / 箭头 / 激光笔 / 橡皮 | | `← →` | 切换工具栏工具 | | `L` | 激光笔,按住鼠标移动出现红色光点与渐隐拖尾 | | `Ctrl+Z` / `Ctrl+Shift+Z` | 撤销 / 重做 | | `Delete` | 删除选中的批注(不会删除原理图器件) | | `Ctrl+S` | 立即保存 | | `?` | 快捷键帮助 | ## 数据保存在哪里 - 模块清单:`eda.sys_Storage` 的 `jlcwb.modules.<图页 UUID>` - 白板数据:`jlcwb.board.<图页 UUID>.<模块 ID>` - 同时写一份到 `localStorage` 作为兜底,避免 iframe 的消息通道不通时丢数据 - 不修改原理图网络、不删除原理图器件;删除模块只删除模块标签和记录 ## 构建与发布 ```powershell npm test npm run build ``` 产物在 `build/dist/白板批注_v1.4.1.eext`,包内包含: - `extension.json` - `dist/index.js` - `iframe/whiteboard.html`、`iframe/modules.html` - `images/logo.png` - `README.md`、`LICENSE` 发布到嘉立创插件广场时,上传这个 `.eext`,并准备一张方形图标和 2–3 张白板/面板截图作为商店素材。 ## 已知限制 - 只支持原理图侧,PCB 侧未实现。 - 底图依赖 EDA 的 SVG 导出接口;导出失败时可在白板右键菜单 **导入 SVG 底图…** 手动导入。 - 模块范围按框选器件自动取景,边缘文字是否完整取决于框选是否包含对应导线/标签。 - 面板操作在部分 V3.2 客户端不可用,使用顶部菜单即可。 ## License MIT