找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 7569|回复: 57
打印 上一主题 下一主题

allegro输出BOM的skill-感谢XYX365

  [复制链接]

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
跳转到指定楼层
1#
发表于 2012-5-7 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 lam007 于 2012-5-9 15:08 编辑

Hi,各位,我这段时间查了好多资料,都找不到allegro方便出BOM得工具或资料.我在tools的report里编辑了一个文本,可以输出序号,P/N和其他信息,但是,不能与相同的元件参数排列.导致全都是散得.需一个个整理,费时,且也不能计数.
有没有这样的skill.可以分上下层,然后依照BOM基本要的信息输出就可以了.谢谢!
以下是一段本论坛的一位大侠的杰作,但不能以sym_name或part_number排序.只能以refdes才行.请解.谢谢!

#Allegro自定义Report

#COMPONENT表示以下属性为COMPONENT的属性
COMPONENT

#_SORT表示以该属性排序

REFDES_SORT

#以下为将要Report的属性

PART_NUMBER
COMP_VALUE
REFDES
SYM_NAME
SYM_MIRROR
#end
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏13 支持!支持!1 反对!反对!

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
推荐
发表于 2012-5-8 09:40 | 只看该作者
lam007 发表于 2012-5-8 09:19
谢谢!我执行可以输出了.请问一下可否输出xls格式呢?我看看能否修改一下.挺好!谢谢,这样在excel里就最好了.

只要將輸出的檔名改為*.csv,這樣就可以用excel 打開
以下是修改過的

axlCmdRegister("eb" `export_bom)

defun( export_bom ()
(prog
  (
    symDefs       ; Symbol Definitions list
    totCount      ; total Symbol count
  )

  ; Get definitions from database
  (setq symDefs (axlDBGetDesign)->symdefs )
  (setq totCount 0)
  (setq BOM (axlDMOpenFile "ALLEGRO_TEXT" "bom_test.csv" "w"))

  ; Go through them and print the info
  (fprintf BOM "Silly little BOM Report\n")
  (fprintf BOM "NAME,TYPE,COUNT\n")
  (foreach device symDefs
    (when (or (equal device->type "MECHANICAL" )
              (equal device->type "PACKAGE"))
      (fprintf BOM "%s,%s,%d\n" device->name device->type (length device->instances))
      (setq totCount (plus totCount (length device->instances)))
    );  end-when
  );  end-foreach
  (fprintf BOM ",%s,%d\n" "TOTAL" totCount )
  (axlDMClose BOM)
);  end-prog

)

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
推荐
 楼主| 发表于 2012-5-8 08:59 | 只看该作者
XYX365,非常感谢你的信息,让我感到兴奋!ncrpt.il也很实用,谢谢!另外你给的这段代码,我也在cadence网站上找到有,但不知如何修改并执行.我没看到defun语句并执行它.我对skill是不懂,只有参考别人的来看.谢谢!

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
推荐
发表于 2015-3-6 16:28 | 只看该作者
yangruofei52 发表于 2015-3-6 14:29
要如何升级会员啊?

Allegro Skill開發的版塊必須是三級會員以上才可以下載資料,
你可以每天去簽到,就會提升等級.

172

主题

733

帖子

-7486

积分

未知游客(0)

积分
-7486
2#
发表于 2012-5-7 22:40 | 只看该作者
最近同样在思考这个问题

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
3#
发表于 2012-5-8 07:59 | 只看该作者
本帖最后由 XYX365 于 2012-5-8 09:06 编辑

以下的source code和附件的skill 應該可以參考一下,改成你需要的格式


axlCmdRegister("eb" `export_bom)

defun( export_bom ()
(prog
  (
    symDefs       ; Symbol Definitions list
    totCount      ; total Symbol count
  )

  ; Get definitions from database
  (setq symDefs (axlDBGetDesign)->symdefs )
  (setq totCount 0)
  (setq BOM (axlDMOpenFile "ALLEGRO_TEXT" "bom_test" "w"))

  ; Go through them and print the info
  (fprintf BOM "+--------------------------------------------------+\n")
  (fprintf BOM "|             Silly little BOM Report              |\n")
  (fprintf BOM "+--------------------------+---------------+-------+\n")
  (fprintf BOM "| NAME                     | TYPE          | COUNT |\n")
  (fprintf BOM "+--------------------------+---------------+-------+\n")
  (foreach device symDefs
    (when (or (equal device->type "MECHANICAL" )
              (equal device->type "PACKAGE"))
      (fprintf BOM "| %24s | %13s | %5d |\n"
               device->name device->type (length device->instances))
      (fprintf BOM "+--------------------------+---------------+-------+\n")
      (setq totCount (plus totCount (length device->instances)))
    );  end-when
  );  end-foreach
  (fprintf BOM "| %40s | %5d |\n" "TOTAL" totCount )
  (fprintf BOM "+------------------------------------------+-------+\n")
  (axlDMClose BOM)
);  end-prog
)

本帖子中包含更多资源

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

x

点评

看不了  详情 回复 发表于 2015-6-18 09:24

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
5#
发表于 2012-5-8 09:07 | 只看该作者
lam007 发表于 2012-5-8 08:59
XYX365,非常感谢你的信息,让我感到兴奋!ncrpt.il也很实用,谢谢!另外你给的这段代码,我也在cadence网站上找到 ...

已加入defun and axlCmdRegister ,你再試試看

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
6#
 楼主| 发表于 2012-5-8 09:19 | 只看该作者
谢谢!我执行可以输出了.请问一下可否输出xls格式呢?我看看能否修改一下.挺好!谢谢,这样在excel里就最好了.

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
8#
 楼主| 发表于 2012-5-8 09:57 | 只看该作者
谢谢,是真的很方便了.我尝试修改增加part number和Refdes但打开后提示格式不对nil.该如何修改!这个必定成为大家所爱.

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
9#
发表于 2012-5-8 10:05 | 只看该作者
lam007 发表于 2012-5-8 09:57
谢谢,是真的很方便了.我尝试修改增加part number和Refdes但打开后提示格式不对nil.该如何修改!这个必定成为 ...

你是加了那些程序,還有你要輸出那一些資料及排列的方式

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
10#
 楼主| 发表于 2012-5-8 10:08 | 只看该作者
(fprintf BOM "%s,%s,%s,%d\n" device->part_number device->name device->type (length device->instances))
我修改这一行增加PART NUMBER.我依照格式修改了一下,提示这个.

Error* fprintf/sprintf: format spec. incompatible with data - "Format is '%s,%s,%s,%d\n', argument #1 is nil"
w

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
11#
 楼主| 发表于 2012-5-8 10:20 | 只看该作者
该修改那几行?谢谢!

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
12#
发表于 2012-5-8 10:22 | 只看该作者
本帖最后由 XYX365 于 2012-5-8 10:28 编辑
lam007 发表于 2012-5-8 10:08
(fprintf BOM "%s,%s,%s,%d\n" device->part_number device->name device->type (length device->instances ...


device 有下列幾種:
Attribute Name,   Type,          Description
children,               l_dbid/nil,    List of figures other than pins making up shape
instances,             l_dbid,        Symbol instances
name,                  string,         Name of symbol definition
objType,              string,        Type of object, in this case "symdef"
parent,                 dbid,          Design
pins,                     l_dbid/nil,   List of pins
type,                    string,        Symbol type is one of the following: PACKAGE,
                                              MECHANICAL, FORMAT, SHAPE, or DRAFTING


如果要取REFDES 和part_number 的話,就要另外判斷及讀取其它資料
你的part_number 是指Board file 裡面的那一層?

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
13#
 楼主| 发表于 2012-5-8 10:29 | 只看该作者
恩,我的part number是在user part number一栏,

本帖子中包含更多资源

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

x

8

主题

113

帖子

1624

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1624
14#
 楼主| 发表于 2012-5-8 10:32 | 只看该作者
#COMPONENT表示以下属性为COMPONENT的属性
请读取COMPONENT一下的属性list

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
15#
发表于 2012-5-9 08:13 | 只看该作者
本帖最后由 XYX365 于 2012-5-9 14:18 编辑
szc1983 发表于 2012-5-7 22:40
最近同样在思考这个问题


試試看附件的skill看有沒有用,也希望能提供意見,已更新
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-10-19 05:30 , Processed in 0.070395 second(s), 40 queries , Gzip On.

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

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

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