EDA365电子工程师网

标题: [求助]请问怎么从brd上导出单个零件,不依赖零件的 [打印本页]

作者: 361553894    时间: 2016-6-23 09:34
标题: [求助]请问怎么从brd上导出单个零件,不依赖零件的
本帖最后由 361553894 于 2016-6-29 08:51 编辑
  1. axlCmdRegister("wlDumpSymbol" 'wlDumpSymbol)
  2. axlSetAlias("ds" "wlDumpSymbol")
  3. procedure(wlDumpSymbol(@optional (syms nil))
  4. when(stringp(syms) syms = axlSelectByName("REFDES" syms))
  5. unless(syms
  6. axlSetFindFilter(?enabled '("all") ?onButtons '("noall" "symbols"))
  7. syms = axlGetSelSet(axlSelect())
  8. )
  9. foreach(sym syms
  10. axlWritePackageFile(sym->definition)
  11. axlWriteDeviceFile(sym->component->compdef)
  12. )
  13. )
复制代码

这是我写的从brd上导出零件的函数,但是是依赖零件库的
在File->Export->Libraries里有 No library dependencies这个选项,勾上后能导出板子上的零件,不需要零件库
我Skill里应该怎么修改呢?
@deargds  @betamelody
作者: jet2001    时间: 2016-10-5 17:49
這個應該不難, 我明後天試改看看
作者: jet2001    时间: 2016-10-6 16:24
我改好了 你可以試看看
procedure(Dump_1_Symbol(@optional (uxx_1 nil))
if(uxx_1==nil then printf("*** please keyin : dra U1 ***\n")
  else
  _sym1 = axlSelectByName("REFDES" uxx_1)
  if(_sym1==nil then printf("*** REFDES don't found %s ***\n" uxx_1)
   else
   axlWritePackageFile(car(_sym1)->definition)
   axlWriteDeviceFile(car(_sym1)->component->compdef)
   printf("*** dump %s : %s symbol & device ***\n" car(_sym1)->refdes car(_sym1)->name)
  );if(_sym1
);if(uxx_1l
);procedure 2016/10/6 robert wu edit
axlCmdRegister("dra" 'Dump_1_Symbol)
;  Allegro.ilinit add load("robwu.il")
作者: Jancho    时间: 2016-10-9 14:18
帮顶一个,
作者: 361553894    时间: 2016-10-19 11:19
本帖最后由 361553894 于 2016-10-19 11:20 编辑
jet2001 发表于 2016-10-6 16:24
我改好了 你可以試看看
procedure(Dump_1_Symbol(@optional (uxx_1 nil))
if(uxx_1==nil then printf("* ...


你还是没懂我说的意思
我的重点是不依赖零件库,而不是导出单个零件
在File Export Libraries里有一个No Library Dependences选项,我需要在导出单颗零件的时候,能带上这个设置
也就是我只需要pcb,就可以导出pcb上的零件

说实话,你写的还不如我这个好用, 我的能输入零件名,也可以鼠标选择零件

作者: jet2001    时间: 2016-10-19 16:09
很抱歉 功力不好 沒能幫上忙

作者: 361553894    时间: 2016-10-19 16:46
jet2001 发表于 2016-10-19 16:09
很抱歉 功力不好 沒能幫上忙

这个就是需要互相学习讨论的
这是我目前的skill
axlCmdRegister("wlDumpSymbol" 'wlDumpSymbol)
axlSetAlias("ds" "wlDumpSymbol")
procedure(wlDumpSymbol(@optional (syms nil))
let((devpath padpath psmpath)
devpath = getShellEnvVar("devpath")
padpath = getShellEnvVar("padpath")
psmpath = getShellEnvVar("psmpath")
errset(axlSetVariable("devpath" "."))
errset(setShellEnvVar("devpath=."))
errset(axlSetVariable("padpath" "."))
errset(setShellEnvVar("padpath=."))
errset(axlSetVariable("psmpath" "."))
errset(setShellEnvVar("psmpath=."))
when(stringp(syms) syms = axlSelectByName("REFDES" syms))
unless(syms
  axlSetFindFilter(?enabled '("all") ?onButtons '("noall" "symbols"))
  syms = axlGetSelSet(axlSelect())
)
foreach(sym syms
  axlWritePackageFile(sym->definition)
  axlWriteDeviceFile(sym->component->compdef)
)
errset(axlSetVariable("devpath" devpath))
errset(setShellEnvVar(strcat("devpath=" devpath)))
errset(axlSetVariable("padpath" padpath))
errset(setShellEnvVar(strcat("padpath=" padpath)))
errset(axlSetVariable("psmpath" psmpath))
errset(setShellEnvVar(strcat("psmpath=" psmpath)))
))

作者: apricot    时间: 2018-4-25 16:28
怎么导出来。有skill出来分享么?
作者: apricot    时间: 2018-4-25 16:29
怎么样导出pcb单个的零件?




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2