在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 466|回复: 6

[原创] schReplaceLabels

[复制链接]
发表于 2024-10-23 19:59:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
sch中搜索替换labels
/**********************************************************************************************************
Function YschChangeLabel()
**********************************************************************************************************/
procedure(YschChangeLabel()
        let((labelText newLabelText obj)
                labelText = hiCreateStringField(
                        ?name 'labelText
                        ?prompt "Search labels:"
                        ?value ""
                )
                newLabelText = hiCreateStringField(
                        ?name 'newLabelText
                        ?prompt "Replace to:"
                        ?value ""
                )
                YschChangeLabelForm = hiCreateAppForm(
                        ?name 'YschChangeLabelForm
                        ?formTitle "Replace labels text form"
                        ?fields list(
                                list(labelText 0:0 400:30 100)
                                list(newLabelText 0:50 400:30 100)
                        )
                        ?buttonLayout 'OKCancelApply
                        ?callback "YschChangeLabelCB(hiGetCurrentForm())"
                        ?minSize 420:100
                )
                when(geGetSelSet() && css()->objType=="label"
                        YschChangeLabelForm->labelText->value = css()->theLabel
                )
                hiDisplayForm('YschChangeLabelForm)
        t
)
)

procedure(YschChangeLabelCB(form @optional cv(geGetEditCellView()) "rd")
        prog((labelText newLabelText)
                unless(form
                        warn("Can not get form database id - %A" form)
                        return()
                )
                when(form
                        labelText = form->labelText->value
                        newLabelText = form->newLabelText->value
                        YschChangeLabelMain(labelText newLabelText)
                )
        return(t)       
)
)

procedure(YschChangeLabelMain(labelText newLabelText @optional cv(geGetEditCellView()) "ttd")
        prog((objList)
                when(artBlankString(labelText) || artBlankString(newLabelText)
                        warn("The argument#1 and argument#2 can not be nil or blank string - %A, %A\n" labelText newLabelText)
                        return()
                )
                unless(cv&&cv->mode!="r"
                        warn("Can not get cellView id or current cellView is readable\n")
                        return()
                )
                if(geGetSelSet() then
                        objList = geGetSelSet()
                        else
                        objList = cv->shapes
                        warn("Not selected any objects in current cellView - %A, then search for all labels in current cellView\n" geGetSelSet())
                )
                objList = setof(x objList x->objType=="label")
                unless(objList
                        warn("Can not get any labels in current cellview - %A\n" objList)
                        return()
                )
                objList = setof(x objList x->theLabel==labelText)
                unless(objList
                        warn("There is not any labels - %A named - %A" objList labelText)
                        return()
                )
                foreach(obj objList
                        obj->theLabel = newLabelText
                )
        return(t)
)
)

发表于 2024-10-24 09:04:13 | 显示全部楼层
赞一个。你这个不局限与sch呀。
 楼主| 发表于 2024-10-24 09:15:04 | 显示全部楼层


acrofoxAgain 发表于 2024-10-24 09:04
赞一个。你这个不局限与sch呀。


是的,本意是在sch中使用,layout可以使用原有的search功能
发表于 2024-10-24 09:58:30 | 显示全部楼层
原理图也可以用本来的Find/Replace功能吧?
 楼主| 发表于 2024-10-24 10:42:34 | 显示全部楼层


acrofoxAgain 发表于 2024-10-24 09:58
原理图也可以用本来的Find/Replace功能吧?


Find好像不能找label,可能是我没用对吧
发表于 2024-10-24 11:01:22 | 显示全部楼层


YuSHL 发表于 2024-10-24 10:42
Find好像不能找label,可能是我没用对吧


Find里选Other,然后填theLabel
 楼主| 发表于 2024-10-24 13:33:00 | 显示全部楼层


acrofoxAgain 发表于 2024-10-24 11:01
Find里选Other,然后填theLabel


好的,感谢,那后面再加一个如果label是Pin Name,加一个顺便改Pin textDisplay
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-25 03:01 , Processed in 0.018582 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表