找回密码
 注册
查看: 1704|回复: 11
打印 上一主题 下一主题

有padstack怎么获取到这个的PIN呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-7-18 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
padstack怎么获取到这个的PIN呢?大神们怎么弄啊

该用户从未签到

2#
发表于 2019-7-18 21:06 | 只看该作者
方法1:
打开封装   tools》padstack》modify design padstacks》
在options菜单找到焊盘双击打开就可以另存了

点评

SKILL 获取  详情 回复 发表于 2019-7-19 13:59

该用户从未签到

3#
 楼主| 发表于 2019-7-19 13:59 | 只看该作者
summer2019 发表于 2019-7-18 21:06
方法1:
打开封装   tools》padstack》modify design padstacks》
在options菜单找到焊盘双击打开就可以 ...

SKILL 获取

该用户从未签到

4#
发表于 2019-7-21 20:53 | 只看该作者
->parent->??   

点评

你这好像不行获取本padstack的pin,->parent->?这个结果是design  详情 回复 发表于 2019-7-22 09:08

该用户从未签到

5#
 楼主| 发表于 2019-7-22 09:08 | 只看该作者

你这好像不行获取本padstack的pin,->parent->?这个结果是design
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2019-7-22 15:57 | 只看该作者
    本帖最后由 jet2001 于 2019-7-22 16:17 编辑

    axlCmdRegister( "get_pad" `get_pad) ; load("get_pad.il") ; get_pad C110D91 ; get_pad SMD35X157
    procedure(get_pad(pad_name)

    wbox=axlGetParam("paramDesign")->bBox
    (axlVisibleDesign nil)
    axlSetFindFilter(?enabled list("noall" "PINS"))
    axlSetFindFilter(?onButtons list("all"))
    axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
    axlVisibleLayer("PACKAGE GEOMETRY/PIN_NUMBER" t)
    axlVisibleLayer("PIN/TOP" t)
    axlVisibleLayer("PIN/BOTTOM" t)
    all_pads=axlGetSelSet(axlSingleSelectBox(wbox))
    axlClearSelSet()

    ;Skill > p1->component->package "USB31C_12X2_TP3D1-003"
    ;Skill > p1->component->name  "CN2"
    ;Skill > p1->name "O44X95D24X75"
    ;Skill > p1->number  "H1"
    ;Skill > p1->xy   (24.654 594.732)

    g_pads=nil
    (foreach a all_pads if(a->name==pad_name then g_pads=cons(a g_pads) ) )
    printf("*** get %d padstack=%s  ***\n" length(g_pads) pad_name )
    ctr=1
    (foreach p g_pads printf("pin %d : %s.%s at %L\n" ctr p->component->name p->number p->xy ) ++ctr)
    p_xy=nth(0 g_pads)->xy ;如果你要跑到 pin1去
    p_x=nth(0 p_xy)
    p_y=nth(1 p_xy)
    if(nth(0 axlDBGetDesignUnits())=="millimeters" then _dxy=10 else _dxy=400) ; set display Window X /Y = 20x20CM
    (axlWindowBoxSet (list (list p_x-_dxy p_y-_dxy) (list p_x+_dxy p_y+_dxy)))
    ;;;; 其他的 請自己寫
    );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    在allegro
    Command > get_pad SMD35X157
    會show
    *** get 2 padstack=C110D91  ***
    pin 1 : USB4.H2 at (24.654 594.732)
    pin 2 : USB4.H1 at (11.514 594.732)




    点评

    好像跟我要的不一样,我要的是axlLoadPadstack(padStackName),这样能获取到这个PIN的dbid吗?  详情 回复 发表于 2019-7-22 17:51

    该用户从未签到

    7#
     楼主| 发表于 2019-7-22 17:51 | 只看该作者
    jet2001 发表于 2019-7-22 15:57
    axlCmdRegister( "get_pad" `get_pad) ; load("get_pad.il") ; get_pad C110D91 ; get_pad SMD35X157
    proc ...

    好像跟我要的不一样,我要的是axlLoadPadstack(padStackName),这样能获取到这个PIN的dbid吗?

    点评

    你的问题很奇怪 会用到这个padstack的pin并不一定唯一 怎么获取到“这个”Pin? 你的目的是获取到使用这种padstack的所有pin? 那就先axlSelect获得所有的pin,再根据pin->name去筛选  详情 回复 发表于 2019-7-31 14:26
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    8#
    发表于 2019-7-22 18:30 | 只看该作者
    本帖最后由 jet2001 于 2019-7-22 18:32 编辑

    照我的方法可以找的到已place的零件 有幾個你要找的padStack
    用你的方法不行
    Skill > a=axlLoadPadstack("O111X44D91X24")
    dbid:132720016
    Skill > a->??
    (prop nil bBox
        ((-1.5367 -0.6858)
            (1.5367 0.6858)
        ) readOnly
        t pads
        (pad:161227040 pad:161227016 pad:161226992 pad:161226968 pad:161226944
            pad:161226920 pad:161226896 pad:161226872 pad:161226848 pad:161226824
            pad:161226800 pad:161226776
        ) objType "padstack"
        startEnd
        ("ETCH/TOP" "ETCH/BOTTOM") parent dbid:160845304 name
        "O111X44D91X24" isThrough t drillChar "F"
        multiDrillData nil drillFigureHeight 0.6096 drillFigureWidth
        2.3114 drillFigureName "OBLONG_X" drillDiameter 0.6096
        drillOffset
        (0.0 0.0)
    )
    =====================
    Skill > pp=a->parent
    dbid:160845304
    Skill > pp->??
    一堆資料 但找不到有提供的欄位


  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    9#
    发表于 2019-7-31 14:26 | 只看该作者
    lyh289114980 发表于 2019-7-22 17:51
    好像跟我要的不一样,我要的是axlLoadPadstack(padStackName),这样能获取到这个PIN的dbid吗?

    你的问题很奇怪
    会用到这个padstack的pin并不一定唯一
    怎么获取到“这个”Pin?
    你的目的是获取到使用这种padstack的所有pin?
    那就先axlSelect获得所有的pin,再根据pin->name去筛选

    该用户从未签到

    10#
     楼主| 发表于 2019-8-14 11:32 | 只看该作者
    leilei4908 发表于 2019-7-31 14:26
    你的问题很奇怪
    会用到这个padstack的pin并不一定唯一
    怎么获取到“这个”Pin?

    你想要的是用SKILL去更新我板子上的器件焊盘从而更新更是这样板子的器件封装,这个麻烦提供下思路。谢谢

    点评

    大概知道你的意思了 比如所有的焊盘需要修改Tolerance 如果单单只是brd上修改,虽然Export Library能导出修改后的焊盘 但是dra内部的焊盘还是未更新的 你需要的是包括brd,包括dra都能更新焊盘,对不? brd使  详情 回复 发表于 2019-8-15 11:54
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    11#
    发表于 2019-8-15 11:54 | 只看该作者
    本帖最后由 leilei4908 于 2019-8-19 10:01 编辑
    lyh289114980 发表于 2019-8-14 11:32
    你想要的是用SKILL去更新我板子上的器件焊盘从而更新更是这样板子的器件封装,这个麻烦提供下思路。谢谢
    ...

    大概知道你的意思了
    比如所有的焊盘需要修改Tolerance
    如果单单只是brd上修改,虽然Export Library能导出修改后的焊盘
    但是dra内部的焊盘还是未更新的
    你需要的是包括brd,包括dra都能更新焊盘,对不?

    brd使用的pad数据,只是Library里的
    虽然dra能榨取pad,但是brd只是用了dra的pad name

    在brd界面修改dra,应该是不可行的,只能读取dra的definition,不能export修改后的dra

    可以先在brd修改所有的焊盘并导出,用getDirFiles获取所有的dra,axlOpenDesign打开dra
    skill生成“替换焊盘”的录制文件scr,重播,axlSaveDesign保存dra

    该用户从未签到

    12#
     楼主| 发表于 2019-8-19 09:59 | 只看该作者
    leilei4908 发表于 2019-8-15 11:54
    大概知道你的意思了
    比如所有的焊盘需要修改Tolerance
    如果单单只是brd上修改,虽然Export Library能导 ...

    谢谢,我正在尝试着写代码看下是否可以。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-30 06:51 , Processed in 0.078125 second(s), 31 queries , Gzip On.

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

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

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