vivienluo 发表于 2014-5-13 18:38:05

neo.dong 发表于 2014-5-13 18:22 static/image/common/back.gif
axlCmdRegister("lib"'extract_lib)
procedure(extract_lib()
         let( (type_symbol lib_db pad_db d .../********************************************************/
/*               Title :Export symbolp                */
/*   Execute Command :export_symbol               */
/*            Author :VivienLuo                     */
/*       Creation Date :2013-10-09                  */
/*               Update :                               */
/*               E-mail :admin@allegro-skill.com      */
/********************************************************/

axlCmdRegister("export_symbol" 'export_symbol ?cmdType "interactive"
               ?doneCmd 'exp_sym_done ?cancelCmd 'exp_sym_cancel)
defun(export_symbol ()
let((symbols comp exp_sym_popup savePath workDir)
    exp_sym_version("1.0");display version about this skill
    case(axlUIYesNoCancel("\n\312\307\267\361\321\241\324\361\265\274\263\366\277\342\302\267\276\266\243\277\n" "Export Symbol V1.0")
    (0
      savePath = "./"
    )
    (1      
      savePath = axlDMDirectoryBrowse("./" t ?title "Pick a directory - By Vivien Luo")
    )
    (2
      savePath = nil
    )
    );end case
    when(savePath
    exp_sym_popup = axlUIPopupDefine(nil (list
                  (list "Done" 'exp_sym_done )
                  (list "Cancel" 'exp_sym_cancel))
                  )
    axlUIPopupSet(exp_sym_popup)
    workDir = getWorkingDir()
    axlShell(strcat("cd " savePath))   
    notdone = t
    while(notdone
    axlClearSelSet()
    axlSetFindFilter(?enabled list("noall" "symbols") ?onButtons list("symbols"))
    axlSelect()
    symbols = axlGetSelSet()
    axlHighlightObject(symbols)
    foreach(sym symbols
      comp = sym->component
      axlWritePackageFile(sym->definition)
      when(isFile("./write_device.log")
            deleteFile("./write_device.log")
      );end when
      axlWriteDeviceFile(comp->compdef)
    );end foreach
    );end while
    axlShell(strcat("cd " workDir))
    );end when
);end let
);end defun
procedure(exp_sym_version(ver)
    axlUIWPrint(nil "= = = = = = Export Symbos Version %s^_^ = = = = = =" ver)
    axlUIWPrint(nil "= = = = = = By Vivien Luo 2013-10-09 = = = = = =")
);end procedure
procedure(exp_sym_done()
    notdone = nil
    axlFinishEnterFun()
    axlUIWPrint(nil "- Done -")
)
procedure(exp_sym_cancel()
    notdone = nil
    axlCancelEnterFun()
    axlUIWPrint(nil "- Cancel -")
)

二月花开早 发表于 2014-9-29 10:16:30

为什么大家整得这么复杂呢?我都是随便一个命令选中器件,然后用下面这个skill,就可以导出了
axlWritePackageFile(car(axlGetSelSet())->definition)
如果导出的库没有焊盘的那是因为库里没这个焊盘,要把导出的焊盘放到焊盘库路径下,然后再执行一次上面这行skill,就搞定了.

chuchiwolong 发表于 2014-10-14 20:19:45

vivienluo 版主的很不错

young 发表于 2015-12-29 13:46:39

功能很好用,但是能否像allegro自身的功能一样:鼠标滑过的时候对象就高亮一下?

chuankay 发表于 2016-1-19 09:41:35

young 发表于 2015-12-29 13:46
功能很好用,但是能否像allegro自身的功能一样:鼠标滑过的时候对象就高亮一下?

可用比较笨的方法实现吧

hyper 发表于 2017-7-4 12:48:07

vivienluo 发表于 2014-5-13 18:38


导出带有flash的焊盘会报错,打开封装,也会丢失带有flash的焊盘??
E- (SPMHDB-274): Unable to load flash symbol 2 (Check PSMPATH setting for this symbol).
难道要像楼下说的这样操作
“如果导出的库没有焊盘的那是因为库里没这个焊盘,要把导出的焊盘放到焊盘库路径下,然后再执行一次上面这行skill,就搞定了.”

hyper 发表于 2017-7-4 12:52:27

hyper 发表于 2017-7-4 12:48
导出带有flash的焊盘会报错,打开封装,也会丢失带有flash的焊盘??
E- (SPMHDB-274): Unable to load...

还是会有这个错误
E- (SPMHDB-274): Unable to load flash symbol 2 (Check PSMPATH setting for this symbol).

lovezgyuan 发表于 2022-10-14 09:30:08

二月花开早 发表于 2014-9-29 10:16
为什么大家整得这么复杂呢?我都是随便一个命令选中器件,然后用下面这个skill,就可以导出了
axlWritePackag ...

能说具体点吗?新手看不太清楚
页: 1 [2]
查看完整版本: BRD导出单个symbol(大家来挑错版)!