allegro skill选择和获取函数
对Allegro中的对象进行操作,比如移动、删除,都需要先选择和获取该对象的dbid。选择操作包含一些选择设置比如是只选择Symbol还是Symbol和Via都可以选等等,然后通过axlSelect 相关函数来选择具体的对象,然后是axlGetSelSet函数来得到那些被选择的dbid。
AXL-Skill函数支持多种选择的方式,比如单选择一个对象,或者是框选多个对象,又或者说是使用Temp Group的方式来选择多个对象,不过通常对象只有在当前可见(Visible)的情况下才可
以被选择上(除非设置了invisible选项)。
选择设置和被选择了对象的有效性会一直持续到用户使用其它的系统命令,比如allegro的Add Cline命令,因为allegro的命令将会改变一些系统的dbid,所以的Skill之前获取的bdid都会变成无效的(removed)。
通常的选择和获取操作如下,
设置Find Filter来控制将要被选则的对象类型;
选择对象的三种模式:单选,多选或通过名字来选择;
从被选择的对象中添加和移除对象
3.1 Find Filter设置函数
函数定义axlSetFindFilter(?enabled lt_enabled ?onButtons lt_filterOn) 功能:该函数最直观的理解是,它可以设置allegro的Find Filter。
参数:
lt_enabled,该参数将决定哪些Find Filter中的元素可以被选择;
lt_filterOn,该参数将决定可以被选择的元素中,哪些已经被选中了。
参数支持的类型如下:
"PINS","VIAS","CLINES","CLINESEGS","LINES","LINESEGS","DRCS","TEXT","SHAPES","SHAPESEGS","BOUNDARY_SHAPES","VOIDS","VOIDSEGS","SYMBOLS","FIGURES","COMPONENTS","FUNCTIONS","NETS","INVISIBLE","NAMEFORM","ALLTYPES","ALL","DYNTHEMALS","GROUPS","GROUPMEMBERS""DYNTHEMALS","GROUPS","GROUPMEMBERS"
用法示例:
axlSetFindFilter( ?enabled list( "vias" "pins" "nets") ?onButtons list( "vias" "pins")) =>
设置Find Filter中的vias,pins,nets为可以被选择的,而其它的选项将被设置成不可操作的,默认选择了vias和pins。
3.2 点选函数
axlSingleSelectPoint() => 运行该命令之后,allegro将提示你点选一个design中
的对象。
axlAddSelectPoint()
axlSubSelectPoint()
3.3 框选函数
axlSingleSelectBox() => 在allegro中框选
axlAddSelectBox()