EDA365电子工程师网
标题:
已解决。字体设置skill,英制单位正常,公制单位出错
[打印本页]
作者:
yihafewu
时间:
2017-11-21 17:02
标题:
已解决。字体设置skill,英制单位正常,公制单位出错
本帖最后由 yihafewu 于 2017-11-22 08:25 编辑
这是我在本论坛里搜罗的一个字体设置skill,我习惯mm为单位,不知道是否要改skill的内容?
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 (1.0/du)
p->width = (20 + 5*block_pl)*(1.0/du)
p->height = (25 + 5*block_pl)*(1.0/du)
p->lineSpace = 25*(1.0/du)
p->photoWidth = 6*(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)
)
;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
))
作者:
yihafewu
时间:
2017-11-22 08:26
找到原因,只需将1.0/du改为du/1.0即可。
作者:
bingshuihuo
时间:
2017-11-22 09:40
咋使用 上个例子
作者:
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:44
替换完成了 还是不行啊
作者:
yihafewu
时间:
2017-11-22 13:20
bingshuihuo 发表于 2017-11-22 09:44
替换完成了 还是不行啊
你试试
作者:
yihafewu
时间:
2017-11-22 16:11
bingshuihuo 发表于 2017-11-22 09:44
替换完成了 还是不行啊
我是通过EDA365Skill的plugin,加载本skill文件,使用的。图中是我自定义的一个名字。
如果没有装EDA365Skill,可以把本skill文件拷贝到pcbenv文件夹下,然后再pcbenv文件夹下的allegro.ilinit文件里添加一句:
load("quick_textset.il")
在ALLEGRO命令行里执行skill load("allegro.ilinit") 所有加载的skill即刻生效,当然也可以重新打开ALLEGRO。
然后再ALLEGRO命令行里执行quick_textset即可。
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/)
Powered by Discuz! X3.2