Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3865|回复: 2

为何更改了text设置值没有起作用?如何增加自定义功能?

[复制链接]
发表于 2015-8-4 21:33:18 | 显示全部楼层 |阅读模式
使用的是论坛下载的skill打包中的quick_textset.il文件
尝试修改里面的数值貌似没有起作用

axlCmdRegister("quick_textset" 'quicktext)


;get the old layer display,for recover


defun( quicktext ()
let( (curdsnunit)
                  curdsnunit = axlGetParam("paramDesign")->units
                   case(curdsnunit
                ("mils"  du = 1)
                    ("millimeters" du = 0.0254 )
                        ;(u can add other units)
                      )


old_visList = axlVisibleGet()

setTextSize()
axlVisibleSet(old_visList)
))


;load("quick_textset.il")

defun( setTextSize ()
      let(()
          ;1,GET 字体
          Text_need = '("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15"

"16")
         
          foreach(text_block Text_need
                    p = axlGetParam(strcat("paramTextBlock:" text_block))
                    block_pl = atoi(text_block) ;change string to num   (1.0/du)
                    p->width = (15 + 5*block_pl)*(1.0/du)
                     p->height = (20 + 5*block_pl)*(1.0/du)
                     p->lineSpace = 25*(1.0/du)
                    p->photoWidth = 4*(1.0/du)
                    p->charSpace = 5*(1.0/du)
                    axlSetParam(p)        
                    )
          ;set the textblock size
         


         
          axlVisibleDesign(nil)
          axlVisibleLayer("REF DES/SILKSCREEN_TOP" t)
          axlVisibleLayer("REF DES/SILKSCREEN_BOTTOM" t)
          ;if u need other text ,please add below:
          ;axlVisibleLayer("REF DES/assembly_TOP" t)
         
         
          axlClearSelSet()
          axlSetFindFilter( ?enabled (list "noall" "text" "clinesegs") , ?onButtons (list

"text"))
          allrefs = axlGetSelSet(axlAddSelectAll())
          foreach(i allrefs   
                  axlDBChangeText(i nil 2)为何我更改这里的数值,没有按照设置的值进行变化?例如我更改为4,为何变更的不是第4号字体?
                  )
          ;change the resdes
         
          axlVisibleDesign(nil)
          axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t)
          ; axlVisibleLayer("BOARD GEOMETRY/SILKSCREEN_TOP" t)
          axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" t)
          ; axlVisibleLayer("BOARD GEOMETRY/SILKSCREEN_BOTTOM" t)
          axlClearSelSet()
          axlSetFindFilter( ?enabled (list "noall" "text" "clinesegs") , ?onButtons (list

"text"))
          alloth_text = axlGetSelSet(axlAddSelectAll())
          foreach(i alloth_text
          axlDBChangeText(i nil 1))
          ;change all other text
          ))


如果实现如下的效果:
[1]新建的文件,通过skill自动按照预设的字体格式设置,并且增加上name说明(name里面增加一些字体格式说明,方便在实际选择的时候灵活应用,总比记数字选择方便);同时能以窗口方便点选的方式进行修改需要变化的字符大小;能通过划选统一修改字符大小(划选的时候可以分别选择位号或者value)
[2]能将元件value自动归中
 楼主| 发表于 2015-8-4 21:35:31 | 显示全部楼层
下面是quick_display的源代码;我希望增加这样的效果:
[1] 顶层丝印+顶层布线/ 底层丝印+底层布线/顶层丝印+顶层布线(隐藏铜皮)/ 底层丝印+底层布线(隐藏铜皮)/顶层丝印+顶层布线+底层丝印+底层布线
[2]希望隐藏铜皮的选择可以是一种勾选项,方便切换
[3]希望同时显示丝印与走线时一种勾选项目,方便切换

这样的效果如何在下面的代码基础上进行修改呢?
quick_display.rar (2.67 KB, 下载次数: 0)
 楼主| 发表于 2015-8-4 21:36:12 | 显示全部楼层


像skill有没有好的编辑与调试环境,自带的文档看起来总是感觉有点难度大

有没有针对常见的功能能说说如何实现比较好的自动化参数设置?


希望能以一定类似菜单的方式定义,一次性设置搞出
[1]自定义板框,字体等常见习惯性设置
[2]自定义板层(4层,6层或者更多层的常规勾选执行自动设置)
[3]自定义gerber层设置(4层,6层或者更多层的常规勾选执行自动设置)[3]常用的电气,安全间距规则定义设置
等等
希望可以实现模板化规则设置



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-17 06:33 , Processed in 0.147406 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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