Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 32035|回复: 41

[原创] 查找无位号器件的SKILL(开源)

[复制链接]
发表于 2013-9-16 23:14:24 | 显示全部楼层 |阅读模式
功能:
1.该SKILL用于查找器件有无位号,并将无位号的器件打印到报表中。
2.会自动跳过本身就无位号的器件(比如定位孔等)。
3.可直接点击报表中的坐标,跳转到指定器件的位置。
4.自动高亮无位号的器件。

find_no_refdes.png

代码:
  1. /****************************************************/
  2. /*               Title :  find symbol no refdes                */
  3. /*     Execute Command :  find_symbol_no_refdes                */
  4. /*              Author :  Vivien Luo                */
  5. /*       Creation Date :  2013-09-16                */
  6. /*                       Update :                                          */
  7. /*            Web site :  www.allegro-skill.com     */
  8. /*             E-maial :  admin@allegro-skill.com        */
  9. /****************************************************/
  10. axlCmdRegister("find_symbol_no_refdes" 'find_symbol_no_refdes)

  11. defun(find_symbol_no_refdes ()
  12.         let((curVisible symbols logfile sym txt norefdes)
  13.         logifile = outfile("./find_symbol_no_refdes.log")
  14.         fprintf(logifile "------------------------------------------\n")
  15.         fprintf(logifile "Find symbol no refdes report                                \n")
  16.         fprintf(logifile "   Author : Vivien Luo                                        \n")
  17.         fprintf(logifile "   E-mail : admin@allegro-skill.com                \n")
  18.         fprintf(logifile "Date&Time : %s                                                        \n" getCurrentTime())
  19.         fprintf(logifile "------------------------------------------\n")
  20.         fprintf(logifile "Refdes\t\t\tLocation\n")
  21.         ;visible the layers
  22.         axlVisibleLayer("PIN/TOP" t)
  23.         axlVisibleLayer("PIN/BOTTOM" t)
  24.         axlVisibleLayer("REF DES/SILKSCREEN_TOP" t)
  25.         axlVisibleLayer("REF DES/SILKSCREEN_BOTTOM" t)
  26.         axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t)
  27.         axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" t)
  28.         axlVisibleUpdate(t)
  29.         symbols = axlDBGetDesign()->symbols
  30.         foreach(sym symbols
  31.                 norefdes = t
  32.                 when(sym->refdes
  33.                         foreach(txt axlDBGetAttachedText(sym)
  34.                                 when(txt->layer == "REF DES/SILKSCREEN_TOP" || txt->layer == "REF DES/SILKSCREEN_BOTTOM"
  35.                                         norefdes = nil
  36.                                 )
  37.                         )
  38.                         when(norefdes
  39.                                 fprintf(logifile "%s\t\t\t(%P)\n" sym->refdes sym->xy)
  40.                                 axlHighlightObject(sym)
  41.                         )
  42.                 )
  43.         )
  44.         close(logifile)
  45.         axlUIViewFileCreate("./find_symbol_no_refdes.log" "Find Symbol No Refdes  - www.allegro-skill.com" nil)
  46. )
  47. )
复制代码
find_no_refdes.rar (1.05 KB, 下载次数: 209)
发表于 2013-9-18 16:29:35 | 显示全部楼层

回帖奖励 +10 SKILL币

虽然用不到,但还是谢谢你,并祝你节日快乐.
 楼主| 发表于 2013-9-18 21:01:00 | 显示全部楼层
wolf343105 发表于 2013-9-18 16:29
虽然用不到,但还是谢谢你,并祝你节日快乐.

嘿嘿,你也节日快乐哦
发表于 2013-9-19 17:25:15 | 显示全部楼层
虽然用不到,但还是谢谢你
发表于 2013-9-22 13:33:24 | 显示全部楼层
不错,可以用到
发表于 2013-10-6 19:46:11 | 显示全部楼层
不错,辛苦了
发表于 2013-10-7 17:04:32 | 显示全部楼层

谢谢分享
发表于 2013-11-22 16:34:26 | 显示全部楼层
load("find_no_refdes.il")这样对吗谢谢
 楼主| 发表于 2013-11-22 18:38:37 | 显示全部楼层
遊樂天空 发表于 2013-11-22 16:34
load("find_no_refdes.il")这样对吗谢谢

是的,参考:
http://www.allegro-skill.com/thread-306-1-1.html
http://www.allegro-skill.com/thread-112-1-1.html
发表于 2013-11-26 14:30:25 | 显示全部楼层
谢谢lz         
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-4-26 00:14 , Processed in 0.157548 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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