## 安装插件

1. 确保您的电脑已安装 Allegro，并有 `extracta` 组件（一般都有），低版本的Allegro不一定可以正常运行，请自行尝试。

2. 右键 `install-allegro-extension.bat` ，选择通过管理员权限安装，即可自动安装插件.

    留意运行窗口, 如果有报错提示, 可以尝试手动安装(方法见后面的介绍).

3. 重启 Allegro 后，可看到菜单栏新增了 `Batch Conversion`, 否则说明安装失败.

### 手动安装插件的方法

如果自动安装失败, 可以尝试按以下方法手动安装:

1. 查看是否存在 `ALLEGRO_PCBENV` 环境变量

    可在windows命令提示符输入 `echo %ALLEGRO_PCBENV%` 快速查看环境变量值, 其值类似于 `C:\Users\YourName\pcbenv`

    一般安装Allegro之后就存在 `ALLEGRO_PCBENV` 环境变量，如果没有请手动添加。

    可在windows命令提示符输入 `setx ALLEGRO_PCBENV "%UserProfile%\pcbenv"` 设置该环境变量

2. 将以下4个文件复制到 `ALLEGRO_PCBENV` 环境变量所指目录下
    -  `convertPcbToAscii.ile`
    -  `convert.form`
    -  `brdCmdFile.txt`
    -  `draCmdFile.txt` 

3. 查看该目录下是否已存在 `allegro.ilinit` 文件
    - 不存在, 则将 `allegro.ilinit` 文件复制进去
    - 已存在, 则在该文件中添加一行代码 `loadi("convertPcbToAscii.ile" "ascii")`

## 使用方式

1. 启动 Allegro
2. 点击菜单栏 `Batch Conversion`
3. 以转换 PCB 文件为例；点击子菜单项 `Convert PCB To ASCII...`，会打开一个弹窗

4. 在弹窗中填写 **Source Directory** 和 **Output Directory** 路径后，点击 `Translate`，开始转换

    **Source Directory**即 Allegro PCB 文件（*.brd）所在文件夹

5. 稍等片刻，会有一个弹窗提醒转换完成。在输出文件夹可以看到转换好的ASCII *.ebrd 文件

    脚本开始执行后，无法中断。如果转换文件较多，请耐心等待

## 存在的问题

此处所说旧版插件指`1.6.0`或更早版本.

1. 旧版插件的 `HOME` 环境变量问题

    旧版插件需要 `HOME` 环境变量, 新版已不需要. 现在可以删除该环境变量或恢复以前的值.

2. 旧版插件需要手动移除

    如果以前安装了该插件的旧版本(1.6.0或更早), 则需要手动移除, 按旧版的安装方法反向操作即可(删除复制进去的文件和代码). 新版的安装路径和旧版不同了.

## 常见问题

| 问题 | 详细问题 |可能原因|快速排查|
| --- | --- | --- | --- |
| 菜单不显示| `Batch Conversion` 菜单不显示| 环境变量不对导致脚本未加载 | skill 弹窗中输入 `getShellEnvVar("ALLEGRO_PCBENV")` 及 `getSkillPath()` 查看环境变量的值； 输入 `_openConvertDialog("PCB")` 依据报错提示确认脚本是否加载|
| 菜单不显示| `Batch Conversion` 菜单或子菜单不显示| 脚本冲突 |卸载掉其他脚本；输入 `_openConvertDialog("PCB")` 测试能否打开弹窗|
| 弹窗不显示 |点击子菜单后弹窗不显示|脚本执行报错|联系开发|
| 转换失败 |转换结束后，日志显示所有文件转换都失败|脚本问题|联系开发|



## 更新

### 20240625
1. 批量生成device文件

### 20240606
1. 修复库文件转换失败问题

### 20240520
1. 获取全局动态铺铜参数
2. 获取等长网络组

### 20240507
1. 提高调用 extracta 兼容性
2. 修复对 Allegro 文件后缀识别大小写敏感问题
3. 完善提取信息。分组、禁止区域属性、差分对、FORMAT 和 MECHANICAL 类型符号

### 20241127
1. 完善提取信息。新增元件属性相关信息提取：COMP_CLASS COMP_VALUE FUNC_DES FUNC_TYPE

### 20241211
1. 增加3合1转换菜单及功能
2. 不再需要 `HOME` 环境变量, 避免设置 `HOME` 环境变量的副作用

### 20241212
1. 完善自动安装脚本 bat 文件

### 20241216
1. 完善提取信息。新增网络属性相关信息提取：NETCLASS_GRP_NAME PHYSICAL_CONSTRAINT_SET SPACING_CONSTRAINT_SET
2. 获取网络类/等长网络组/差分对/网络类-网络类/电气属性（网络长度）规则

### 20241218
1. 修正3合1弹窗后其它单项也变成了3合1的问题
