找回密码
 注册
关于网站域名变更的通知

已解决。字体设置skill,英制单位正常,公制单位出错

查看数: 1401 | 评论数: 6 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-11-21 17:02

正文摘要:

本帖最后由 yihafewu 于 2017-11-22 08:25 编辑 这是我在本论坛里搜罗的一个字体设置skill,我习惯mm为单位,不知道是否要改skill的内容? axlCmdRegister("quick_textset" 'quicktext) defun( quicktext ( ...

回复

yihafewu 发表于 2017-11-22 13:20
bingshuihuo 发表于 2017-11-22 09:44
替换完成了  还是不行啊

你试试

quick_textset.zip

1.08 KB, 下载次数: 1, 下载积分: 贡献 -30 , 威望 -10

bingshuihuo 发表于 2017-11-22 09:44
替换完成了  还是不行啊

点评

我是通过EDA365Skill的plugin,加载本skill文件,使用的。图中是我自定义的一个名字。 如果没有装EDA365Skill,可以把本skill文件拷贝到pcbenv文件夹下,然后再pcbenv文件夹下的allegro.ilinit文件里添加一句: lo  详情 回复 发表于 2017-11-22 16:11
你试试  详情 回复 发表于 2017-11-22 13:20
bingshuihuo 发表于 2017-11-22 09:43
axlCmdRegister("quick_textset" 'quicktext)
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)
))
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   (du/1.0)
                    p->width = (20 + 5*block_pl)*(du/1.0)
                     p->height = (25 + 5*block_pl)*(du/1.0)
                     p->lineSpace = 25*(du/1.0)
                    p->photoWidth = 6*(du/1.0)
                    p->charSpace = 5*(du/1.0)
                    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)
                  )
          ;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
          ))
bingshuihuo 发表于 2017-11-22 09:40
咋使用   上个例子
yihafewu 发表于 2017-11-22 08:26
找到原因,只需将1.0/du改为du/1.0即可。
关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 12:40 , Processed in 0.156250 second(s), 30 queries , Gzip On.

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

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

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