您尚未登录。

楼主 #1 2020-11-08 20:57:10

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 627
积分: 522
个人网站

强大的AD,AltiumDesigner使用公式或者函数对一些字符串进行处理,避免了一个个手动修改

在我们用AD画板子的时候。不可避免的遇到一些标号或者说是丝印字符需要批量处理,例如标号前面统一加上某个字符串,亦或者需要往标号后面加一些递增的字符等等。
这个时候,可以利用AD的查找相似对象功能来进行筛选选中需要处理的字符,如下图
sameobject.png
然后点击到对应要修改的属性选项,出现三个点的按钮,点击他,弹出公式编辑对话框,如下图
gongshi.png
然后输入公式点击确定就ok。

函数公式为Pascal语言,可以到这个网站上去查找对应函数说明 https://www.templetons.com/brad/alice/language/language8.html

下面以一个例子说明下用法
复制粘贴后标号处理(好像也可以用特殊粘贴功能),如下图,粘贴后会有LED1_1等自动带的尾缀。
before.png
然后需要处理,前面已经是1-16了。后面要求从17开始一直编号编下去。
查找规律。第一列一直都是LED1_n,第二列是LED2_n.依次类推
那么规律就是LEDc_r.
我们可以从标号中提取出c和r。然后通过公式c*16+r就是目标标号
直接上公式(Copy(Copy(!,0,Pos(_,!)-1),4,2) + (Copy(!,Pos(_,!)+1,2)+0)*16)
如下图
gongshi.png
公式中感叹号代表原来的标号,Copy函数Copy(str, pos, num)代表返回长度为num的字符串变量str的子字符串,从位置pos开始。如果pos大于字符串的长度,则返回空字符串(即长度为零的字符串)
经过处理后标号就变成纯数字的,如图
noLED.png

然后我们再用公式加上LED(为什么不直接在上面公式加上LED?因为好像数值转字符串我还没有尝试成功,str函数是通过参数返回的,在AD里面还不会用呢)
addLED.png

最后结果是这样
editok.png
Over

最近编辑记录 微凉VeiLiang (2020-11-08 21:01:36)

离线

楼主 #2 2020-11-08 20:59:36

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 627
积分: 522
个人网站

Re: 强大的AD,AltiumDesigner使用公式或者函数对一些字符串进行处理,避免了一个个手动修改

数值转字符串还没有尝试成功,str函数是通过参数返回的,有没有知道AD里面怎么用的方便告知下么
字符串转数值,我采用的办法是,字符串直接让它+0。就强制转换了。一样的,Val函数是通过参数返回的,不会在AD里面用

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn