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

要如何取得Place_Bound shape上PACKAGE_HEIGHT_MIN的值?

[复制链接]
  • TA的每日心情

    2022-12-28 15:18
  • 签到天数: 53 天

    [LV.5]常住居民I

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

    EDA365欢迎您登录!

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

    x
    以下为EDA365源码ch_text_overlap.il内检查文字面在零件上(text on place_bound_*)程式码,
    原始功能:检查文字面在零件place_bound shape上
    预期功能:当文字在零件place_bound shape上且PACKAGE_HEIGHT_MIN = 0 MIL时才会报错

    遇到的问题:
    Place_Bound shape上可设定PACKAGE_HEIGHT_MIN & PACKAGE_HEIGHT_MAX,
    想请问skill内要如何写才能取得Place_Bound shape上PACKAGE_HEIGHT_MIN的值?

    再麻烦各位大大帮忙,感谢!!

    (defun refdes_on_pad ()
        if(refdes_component then

            axlMsgPut("defun refdes_on_pad_refdes_component")
            allselcom = nil
                cnt = 0
            axlSetFindFilter(?enabled '(noall shapes) ?onButtons '(noall shapes))

                foreach(txt alltexts refdes_overlap_component(txt))
            axlHighlightObject( allselcom)     
                axlMsgPut("Total of refdes on %s component : %d" layer cnt)
        )
    )

    (defun refdes_overlap_component ( txt)
    (prog ()
    let( (item allbox)
        if(txt->layer == strcat( "REF DES/DISPLAY_" layer) then
            if(axlSingleSelectBox(getbox(txt)) != nil then
                allboxes = axlGetSelSet()
                axlClearSelSet()
                have = nil
                foreach(item allboxes ;++k item = nthelem(k allboxes)
                    if(item->objType == "shape" &&
                       item->layer == strcat( "PACKAGE GEOMETRY/PLACE_BOUND_" layer) then
                        allselcom = cons(item allselcom)
                               allselcom = cons(txt allselcom)
                               have = t
                    )
                )
                if(have then ++cnt add_loc_text(txt))
            )            
        )                                       
    )))

    该用户从未签到

    2#
    发表于 2018-10-21 10:08 | 只看该作者
    参考代码dbidShape->prop->PACKAGE_HEIGHT_MIN

    点评

    感謝幫忙,得已解決  详情 回复 发表于 2020-2-18 17:11

    该用户从未签到

    3#
    发表于 2020-1-20 15:20 | 只看该作者
    这个代码改好了吗

    点评

    要是SKILL 能标出这个高度的值就好了,封装没标高度,每欠出3D图 都要去标高度  详情 回复 发表于 2020-2-19 09:04
    修改后代码提供参考[/backcolor] (defun refdes_on_pad () if(refdes_component then axlMsgPut("defun refdes_on_pad_refdes_component") allselcom = nil cnt = 0 axlSetFindFilter(?enabled  详情 回复 发表于 2020-2-18 17:14
  • TA的每日心情

    2022-12-28 15:18
  • 签到天数: 53 天

    [LV.5]常住居民I

    4#
     楼主| 发表于 2020-2-18 17:11 | 只看该作者
    deargds 发表于 2018-10-21 10:08
    参考代码dbidShape->prop->PACKAGE_HEIGHT_MIN

    感謝幫忙,得已解決
  • TA的每日心情

    2022-12-28 15:18
  • 签到天数: 53 天

    [LV.5]常住居民I

    5#
     楼主| 发表于 2020-2-18 17:14 | 只看该作者
    本帖最后由 Ling 于 2020-2-18 17:15 编辑
    85654202 发表于 2020-1-20 15:20
    这个代码改好了吗



    修改后代码提供参考
    (defun refdes_on_pad ()


        if(refdes_component then


            axlMsgPut("defun refdes_on_pad_refdes_component")       
            allselcom = nil
                cnt = 0
            axlSetFindFilter(?enabled '(noall shapes) ?onButtons '(noall shapes))


                foreach(txt alltexts refdes_overlap_component(txt))
            axlHighlightObject( allselcom)     
                axlMsgPut("Total of refdes on %s component : %d" layer cnt)
        )
    )






    (defun refdes_overlap_component ( txt)
    (prog ()


    let( (item allbox proplist prop propS propV)


        if(txt->layer == strcat( "REF DES/DISPLAY_" layer) then
            if(axlSingleSelectBox(getbox(txt)) != nil then
                allboxes = axlGetSelSet()
                axlClearSelSet()
                have = nil
                foreach(item allboxes
                    proplist=axlDBGetProperties(item)
                    foreach(prop proplist
                        
                        propS=symbolToString(car(prop))   
                        propV=nth(1 prop)


                        if(propS == "PACKAGE_HEIGHT_MIN" && propV == "0 MIL" then


                            if( item->objType == "shape" &&
                                item->layer == strcat( "PACKAGE GEOMETRY/PLACE_BOUND_" layer) then


                                allselcom = cons(item allselcom)
                                allselcom = cons(txt allselcom)
                                have = t
                            )
                        )
                    )       
                )
                if(have then ++cnt add_loc_text(txt))
            )            
        )                       
    )))


    该用户从未签到

    6#
    发表于 2020-2-19 09:04 | 只看该作者
    85654202 发表于 2020-1-20 15:20
    这个代码改好了吗

    要是SKILL 能标出这个高度的值就好了,封装没标高度,每欠出3D图 都要去标高度
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-3-11 13:04 , Processed in 0.078125 second(s), 24 queries , Gzip On.

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

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

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