mengzhuhao 发表于 2015-8-4 21:33:18

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

使用的是论坛下载的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
          ))


如果实现如下的效果:
新建的文件,通过skill自动按照预设的字体格式设置,并且增加上name说明(name里面增加一些字体格式说明,方便在实际选择的时候灵活应用,总比记数字选择方便);同时能以窗口方便点选的方式进行修改需要变化的字符大小;能通过划选统一修改字符大小(划选的时候可以分别选择位号或者value)
能将元件value自动归中

mengzhuhao 发表于 2015-8-4 21:35:31

下面是quick_display的源代码;我希望增加这样的效果:
顶层丝印+顶层布线/ 底层丝印+底层布线/顶层丝印+顶层布线(隐藏铜皮)/ 底层丝印+底层布线(隐藏铜皮)/顶层丝印+顶层布线+底层丝印+底层布线
希望隐藏铜皮的选择可以是一种勾选项,方便切换
希望同时显示丝印与走线时一种勾选项目,方便切换

这样的效果如何在下面的代码基础上进行修改呢?


mengzhuhao 发表于 2015-8-4 21:36:12



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

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


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



页: [1]
查看完整版本: 为何更改了text设置值没有起作用?如何增加自定义功能?