EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在平时设计PCB的过程中,经常会涉及到更改栅格点的操作,例如在布局时使用 5mil 栅格点,可以很方便的控制器件间距;而在布线时使用 2.5mil 甚至 1mil 的栅格点,可以提示走线的顺畅度。 软件自带的栅格设置功能使用起来比较繁琐,一种可取的方法是将不同的栅格参数设置录制成 scr 文件,然后在 env 文件中设置快捷键来调用这个 scr 文件。这种方法有一个弊端,就是当需要更多不同的栅格设置时,会产生很多的 scr 文件,也需要更多的快捷键来对应不同的 scr 文件,这样对快捷键资源是一种浪费。 下面介绍一种使用 skill 来设置栅格的方法,只需在命令窗口中输入一行代码,就可以完成 n 多种不同栅格设置,具体的步骤如下: 步骤一: 在 SPB_Data\myskill 文件夹下新建一个 lnChangeGrids.il 文件(文件名可以按自己的喜欢去取)并打开,输入如下代码: - ;---------------------------------------
- ; allegro version: 16.6
- ; Written by: Lianora
- ; date: 2021-08-29
- ;---------------------------------------
- ;---------------------------------------
- ; 注册Allegro 命令
- ;---------------------------------------
- axlCmdRegister(
- "gd"
- 'lnChangeGrids
- ?cmdType "interactive"
- )
- ;---------------------------------------
- ; Allegro 命令调用函数
- ;---------------------------------------
- procedure(lnChangeGrids(@optional (grid "2.5"))
- let(()
- ; 获取当前设计单位
- cur_Units = car(axlDBGetDesignUnits())
- ; 将字符串转换成浮点数
- f_grid = atof(grid)
- ; 设置 non-etch grids
- new_grid = axlDBGridGet("non-etch")
- new_grid->xGrids = f_grid
- new_grid->yGrids = f_grid
- axlDBGridSet(new_grid)
- ; 设置所有 etch grids
- new_grid = axlDBGridGet("TOP")
- new_grid->name = 'etch
- new_grid->xGrids = f_grid
- new_grid->yGrids = f_grid
- axlDBGridSet(new_grid)
-
- printf("Set all girds to %s %s\n", grid, cur_Units)
- )
- )
复制代码
保存后退出。 步骤二: 在 SPB_Data\pcbenv 文件夹下面找到或者新建一个skill初始化文件 allegro.ilinit ,打开并输入以下代码。
- setSkillPath(append(getSkillPath() '("~/myskill")))
- load("lnChangeGrids.il")
复制代码第1行是设置 skill 的加载路径; 第2行是加载设置栅格的 skill 文件,双引号里面的字符串就是步骤一中新建的 skill 文件名,包含文件名后缀。 步骤三: 任意打开一个PCB,在命令窗口中输入:“ gd 5 ”即可改变栅格参数。
|