自动导出封装焊盘、DEVICE、SYMBOL的SKILL
当在allegro中调入第三方网表的时候,需要指定器件的封装、焊盘、device。方可调入到PCB EDITOR中。该SKILL可以直接将器件封装的焊盘、DEVICE、SYMBOL一次性导出,device、symbol名与封装名一致。
导出方法:
执行命令:create_device
可导出当前器件封装的焊盘、DEVICE、SYMBOL
执行命令:create_device_batch
可导出当前封装目录下所有封装的焊盘、DEVICE、SYMBOL
以下是SKILL源码,仅供各位参考:/********************************************************/
/* Title :Create Device */
/* Execute Command :create_device */
/* create_device_batch */
/* Author :VivienLuo */
/* Creation Date :2013-07-16 */
/* Update : */
/********************************************************/
axlCmdRegister("create_device" 'add_value_device ?cmdType "general")
axlCmdRegister("create_device_batch" 'create_device_batch ?cmdType "general")
defun( create_device_batch ()
libFiles = getDirFiles("./")
draFiles = nil
foreach(libFile libFiles
when(car(last(parseString(libFile ".")))== "dra"
draFiles = cons(libFile draFiles)
)
)
foreach(draFile draFiles
axlOpenDesign(?design draFile ?mode "wf")
add_value_device()
);end foreach
axlShell("unset noconfirm")
);end defun
defun( add_value_device ()
axlShell("set noconfirm")
designType = axlDesignType(t)
case(designType
("PACKAGE"
crete_device_run(strcat(axlCurrentDesign() ".psm"))
axlPadstackToDisk()
)
("MECHANICAL"
crete_device_run(strcat(axlCurrentDesign() ".bsm"))
)
("FORMAT"
crete_device_run(strcat(axlCurrentDesign() ".osm"))
)
("SHAPE"
crete_device_run(strcat(axlCurrentDesign() ".ssm"))
)
("FLASH"
crete_device_run(strcat(axlCurrentDesign() ".fsm"))
)
)
axlShell("replay \"./create_device.scr\"")
axlSaveDesign(?design axlCurrentDesign())
axlShell("unset noconfirm")
);end defun
defun( crete_device_run (fileName)
saveScript = outfile("./create_device.scr")
fprintf(saveScript "scriptmode +i +n\n")
fprintf(saveScript "version 15.51\n")
fprintf(saveScript "setwindow pcb\n")
fprintf(saveScript "trapsize 666\n")
fprintf(saveScript "create device\n")
fprintf(saveScript "setwindow form.crdevice\n")
fprintf(saveScript "FORM crdevice done\n")
fprintf(saveScript "create symbol\n")
fprintf(saveScript "fillin %s\n" fileName)
close(saveScript)
);end defun
chuchiwolong 发表于 2014-6-27 16:00
请问这个错误怎么解决?
E- Cannot open script file; 'E:/pcb01/create_device.scr' does not exist.
同问 为啥我的找不到create_device命令,座求大虾指点:)谢谢 allegro自带的好像也可以 allegro自带的不能单独到处一个封装 375259768 发表于 2013-11-22 16:04 static/image/common/back.gif
allegro自带的好像也可以
是不是因为你没加载成功的原因? 375259768 发表于 2013-11-22 16:04 static/image/common/back.gif
allegro自带的好像也可以
allegro 本身就可以创建DEVICE,这个功能只是方便一次性创建出来。不用手动去创建。 不错、感谢分享··· 请问这个错误怎么解决?
E- Cannot open script file; 'E:/pcb01/create_device.scr' does not exist.
Performing a partial database check before saving.
Writing database to disk. allegro自带的好像也可以 很好用,比我公司更好用