找回密码
 注册
关于网站域名变更的通知
查看: 4273|回复: 22
打印 上一主题 下一主题

求助-allegro如何批量生成device文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-8-21 09:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
  从一份pcb 中导出的 封装 可是 没有device 文件 ,几百个XXX.dra 文件 没有 device 文件,如何批量的生成 device 文件,而不是手动一个一个的 Creat  device 呢?

该用户从未签到

推荐
 楼主| 发表于 2014-8-22 15:07 | 只看该作者
kevin890505 发表于 2014-8-21 19:17
! Y' b% f6 A( n& R* }你从PCB里面导出所有封装时,弹出界面里面有device file的选项,勾了就有
2 ]  }0 ?: b" v) ?
选择了 所有选项 都选了 ,没有

该用户从未签到

推荐
发表于 2019-4-30 13:00 | 只看该作者
本帖最后由 這侽孓譙悴丶 于 2019-4-30 13:01 编辑
# \# a' R  z) G: @" ?
Chreey 发表于 2019-4-29 16:12
) x& \" C; I3 l! N: M% i& V' |0 b能否发一下一键出封装device的skill0 i; i0 c( y* |6 R- S$ D
谢谢
  1. axlCmdRegister("create_device" 'add_value_device ?cmdType "general")5 a9 q- l7 s+ m( h) Z* G
  2. axlCmdRegister("create_device_batch" 'create_device_batch ?cmdType "general")7 i6 ~* V# k* C

  3. 0 q; _% x) s5 g# o8 F& l+ Z
  4. defun( create_device_batch ()
    " f# k- F0 K' }7 g6 k5 @' ^
  5.         libFiles = getDirFiles("./"); ^: a: w  S0 D9 c; R5 B/ T+ M
  6.         draFiles = nil
    ) k% Q0 @) S- A) ?3 K
  7.         foreach(libFile libFiles
    2 ]' y( @1 P7 b# I8 E
  8.                 when(car(last(parseString(libFile ".")))== "dra"- D! n' M9 M" h
  9.                         draFiles = cons(libFile draFiles)
    9 U7 e% p$ ^6 @" H
  10.                 )! p6 a4 S1 j' t
  11.         ), f/ p2 r3 R1 K9 c) I
  12.         foreach(draFile draFiles
    4 n" E5 q/ T+ w' I/ O% v
  13.                 axlOpenDesign(?design draFile ?mode "wf")
    2 y+ j0 J3 i7 s6 V2 n/ I0 ~% \9 n
  14.                 add_value_device()
    ) |* I' d9 e% u6 c2 [, B0 o1 Q
  15.         );end foreach        + \; V1 a/ Q% E5 c' z7 Q
  16.         axlShell("unset noconfirm")2 q) L" y8 o' k8 W
  17. )
    % {' e' G4 u7 S; l
  18. " L- }3 P$ h6 P" D6 n  Z7 o  C
  19. defun( add_value_device ()# ]2 u, J1 z# V# Y( f( R# ^0 h
  20.         axlShell("set noconfirm")
      t+ m0 d( l' e) R( }6 G: v- {
  21.         designType = axlDesignType(t)9 c2 E. w  e. V) E; t: y& V
  22.         case(designType# {) z+ U  ~/ r4 Y  ^2 {  i
  23.                 ("PACKAGE"
    ' C* g) T9 s/ s( ~, ]2 D" e
  24.                         crete_device_run(strcat(axlCurrentDesign() ".psm"))
    ( K* ]  t# w: P
  25.                         axlPadstackToDisk()
    ( W8 c$ z* A) G
  26.                 )
    ( A  X) l/ U& c: x. g  D1 E! l
  27.                 ("MECHANICAL" ' u- S% `, k5 ~  d  r6 F6 f8 i
  28.                         crete_device_run(strcat(axlCurrentDesign() ".bsm"))
    + m6 g$ N' g5 p: z- T3 `- T: u' i
  29.                 )
    / N% v& L% o8 g
  30.                 ("FORMAT"
    9 S/ b) D! d" q" o% X. G' z
  31.                         crete_device_run(strcat(axlCurrentDesign() ".osm"))) y1 l  P+ k) ]
  32.                 )
      D: m4 d6 I+ U' _. a
  33.                 ("SHAPE"
    # k) d1 o) g6 A2 a6 [
  34.                         crete_device_run(strcat(axlCurrentDesign() ".ssm"))
    ; {. I9 ~3 p, W' W7 }  D: f; @
  35.                 )
    9 g1 ^; X$ P5 y
  36.                 ("FLASH"* P- a) w. S  @( \7 A! k: S; @
  37.                         crete_device_run(strcat(axlCurrentDesign() ".fsm"))
    4 B' O) [+ u7 k) L6 ]
  38.                 )6 J0 o1 |; j; u3 e
  39.         )                5 L% I. e1 f- V! g" [1 y
  40.         axlShell("replay \"./create_device.scr\"")               
    7 x7 p- J$ u# a1 q1 L3 Z
  41.         axlSaveDesign(?design axlCurrentDesign())        
    5 N9 }( |( F. v- f
  42.         axlShell("unset noconfirm")
    8 R1 ?. @6 i9 m* p
  43. )) k( J2 k& {9 B. @# s7 A0 z, N9 S

  44. ! H! T7 y. ^- G% P' S
  45. defun( crete_device_run (fileName)
    # z" E# ^. i9 i' }
  46.         saveScript = outfile("./create_device.scr")
    . h. O3 O+ r" ^  G3 X; k! E+ H
  47.         fprintf(saveScript "scriptmode +i +n\n")
    ) R+ F1 c' q4 X- H  p
  48.         fprintf(saveScript "version 15.51\n"), R* {/ P6 n7 m: I( _- w- r1 a
  49.         fprintf(saveScript "setwindow pcb\n")4 S5 b2 k) Q0 U  i) i4 N: ^/ F
  50.         fprintf(saveScript "trapsize 666\n")
    0 ?, B# X9 q$ Y8 e$ E0 K
  51.         fprintf(saveScript "create device\n")
    2 R. M3 O. p4 P( M) ]* ~+ x
  52.         fprintf(saveScript "setwindow form.crdevice\n")
    / \+ t% c6 H% i" C
  53.         fprintf(saveScript "FORM crdevice done\n")
    " `2 u; g1 Z6 s3 o* a' X
  54.         fprintf(saveScript "create symbol\n")
    * O8 M! J1 x2 O$ O! O
  55.         fprintf(saveScript "fillin %s\n" fileName)
    / D# ?2 c6 h( |5 r
  56.         close(saveScript)
    8 h* C# K& \5 b- v1 v! G3 @. S
  57. )! {8 y+ S1 J/ ~% h) C- p5 A
复制代码
该SKILL可以直接将器件封装的焊盘、DEVICE、SYMBOL一次性导出,device、symbol名与封装名一致。导出方法:
4 O$ U$ G& ]3 @* ]* R1.执行命令:create_device/ P2 v! K7 ]% O
可导出当前器件封装的焊盘、DEVICE、SYMBOL5 M4 ?( \, z% e; R) F; Y
2 D+ Q: o3 J4 {1 H% R
2.执行命令:create_device_batch
: O! v' [9 K& A' B# O5 f可导出当前封装目录下所有封装的焊盘、DEVICE、SYMBOL
7 A# h) \$ u" j# I9 s1 X3 t
. I7 J, H4 l4 ^

7 b, z, z  _/ h5 I2 W

该用户从未签到

推荐
发表于 2017-2-20 15:13 | 只看该作者
王开鑫55 发表于 2017-2-20 13:29
; S/ _. L6 a- C楼主,你发的没有收到呀,感谢,在发一份,标题为skill  感谢!
. Y7 j- T( g( ]6 L) j
有一整套skill包,从封装、非allegro格式网表转换(protel、AD、PADS格式网表转allegro网表)导入、布局、规则设置、布线、检查、gerber(一键设置gerber、一键输出生产文件、生产文件自动分类打包)等每个设计阶段都有相应的辅助工具,需要试用加我!

点评

能否发一下一键出封装device的skill 谢谢  详情 回复 发表于 2019-4-29 16:12
  • TA的每日心情

    2020-7-21 15:38
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    2#
    发表于 2014-8-21 10:40 | 只看该作者
    把他们全放在一个板子里再导出来试试?

    评分

    参与人数 1贡献 +2 收起 理由
    祭司 + 2

    查看全部评分

    该用户从未签到

    3#
    发表于 2014-8-21 19:17 | 只看该作者
    你从PCB里面导出所有封装时,弹出界面里面有device file的选项,勾了就有

    该用户从未签到

    5#
    发表于 2014-9-14 16:51 | 只看该作者
    可以通过SKILL批量生成device,有个skill可以自动生成当前文件夹下所有.dra的device 文件、.psm文件和.pad文件

    该用户从未签到

    6#
    发表于 2014-9-14 17:37 | 只看该作者
    导出封装时,勾选所有选项,然后把封装都导出到同一个文件夹中,那个和封装名称一致的txt文档就是了。

    该用户从未签到

    7#
     楼主| 发表于 2014-9-24 14:48 | 只看该作者
    這侽孓譙悴丶 发表于 2014-9-14 16:51% d/ ^5 L; O- H5 b/ ]1 R
    可以通过SKILL批量生成device,有个skill可以自动生成当前文件夹下所有.dra的device 文件、.psm文件和.pad ...

    + Y" M! G# G1 D, p4 x0 Z哪里有这个skil 啊?能否贡献下

    该用户从未签到

    8#
    发表于 2014-9-24 20:13 | 只看该作者
    yxy758899879 发表于 2014-9-24 14:48: `9 c$ F& s' I, G
    哪里有这个skil 啊?能否贡献下

    : g) v& b& @1 \+ M/ W要的话可以留邮箱

    点评

    我邮箱,感谢!  详情 回复 发表于 2019-7-23 17:39
    麻烦发我一份,非常感谢  详情 回复 发表于 2017-7-9 07:31

    该用户从未签到

    9#
     楼主| 发表于 2014-9-26 08:23 | 只看该作者
    這侽孓譙悴丶 发表于 2014-9-24 20:13
    : g2 w: x+ ?6 v5 Q要的话可以留邮箱
    * l3 J5 n4 x# I- q) z
    谢谢啊 ! 我邮箱2821687106@qq.com,那就麻烦您了。

    该用户从未签到

    10#
    发表于 2014-9-26 19:46 | 只看该作者
    yxy758899879 发表于 2014-9-26 08:237 J# T9 i- o$ U& u9 j
    谢谢啊 ! 我邮箱,那就麻烦您了。
    $ l! z' o! w" v
    已发,注意查收!

    点评

    楼主,你发的没有收到呀,感谢,在发一份,标题为skill 感谢!  详情 回复 发表于 2017-2-20 13:29
    给我也发一份。感谢  详情 回复 发表于 2017-2-6 13:34

    该用户从未签到

    11#
    发表于 2017-2-6 13:34 | 只看该作者
    這侽孓譙悴丶 发表于 2014-9-26 19:46
    % S' q' ?3 g8 G( ~0 g已发,注意查收!

    , |4 ^0 Y! D2 `* R  S) }( v, f$ S给我也发一份。1151615095@qq.com感谢& W4 |2 V; u+ C( k5 G  J

    点评

    Cadence Skill论坛上有!  详情 回复 发表于 2017-2-7 19:45

    该用户从未签到

    12#
    发表于 2017-2-7 19:45 | 只看该作者
    王开鑫55 发表于 2017-2-6 13:34
    5 v9 J2 L8 ?  [给我也发一份。感谢

    ; Y" b# U2 S5 w  fCadence Skill论坛上有!

    点评

    谢谢!感谢  详情 回复 发表于 2017-2-8 08:55

    该用户从未签到

    13#
    发表于 2017-2-8 08:55 | 只看该作者
    這侽孓譙悴丶 发表于 2017-2-7 19:45: u: l2 w( ~! v0 ?$ l6 o( R
    Cadence Skill论坛上有!
    ( ]2 a- ~& m# R
    谢谢!感谢
    9 X/ Q% z5 f% r" O7 j! H0 Q) [- x

    该用户从未签到

    14#
    发表于 2017-2-20 13:29 | 只看该作者
    這侽孓譙悴丶 发表于 2014-9-26 19:46* Q  |( A) X/ D! B5 g1 _$ [0 L" ~
    已发,注意查收!

    # i4 R) `  o3 g0 n2 Q0 e+ M楼主,你发的没有收到呀,感谢,在发一份,标题为skill  感谢!
    # |. p& [( E$ k1 U5 X+ \

    点评

    有一整套skill包,从封装、非allegro格式网表转换(protel、AD、PADS格式网表转allegro网表)导入、布局、规则设置、布线、检查、gerber(一键设置gerber、一键输出生产文件、生产文件自动分类打包)等每个设计阶段  详情 回复 发表于 2017-2-20 15:13
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-11 11:05 , Processed in 0.187500 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表