📄 border1.scr
字号:
'加外围孔
if isglyr%<0 then
select case hdcodesel%
case 1
hdcodetmp%=hdcode1%
case 2
hdcodetmp%=hdcode2%
case 3
hdcodetmp%=hdcode3%
end select
else
hdcodetmp%=hdcode4%
end if
varx#=(maxx#+minx#)/2+holelocx#
vary#=miny#-holedist#+horizy#
setdcode@ hdcodetmp%
update_dcodebar@
add_flash@
axy@ varx#,vary#
back@
varx#=(maxx#+minx#)/2+holelocx#
vary#=maxy#+holedist#-horizy#
setdcode@ hdcodetmp%
update_dcodebar@
add_flash@
axy@ varx#,vary#
back@
vary#=(maxy#+miny#)/2+holelocy#
varx#=minx#-holedist#-vertx#
setdcode@ hdcodetmp%
update_dcodebar@
add_flash@
axy@ varx#,vary#
back@
vary#=(maxy#+miny#)/2+holelocy#
varx#=maxx#+holedist#+vertx#
setdcode@ hdcodetmp%
update_dcodebar@
add_flash@
axy@ varx#,vary#
back@
'加文字
'文字连接
'暂存字符
if widy#>widx# then
boardy%=(maxy#-miny#+14)
boardx%=(maxx#-minx#+10)
else
boardy%=(maxy#-miny#+10)
boardx%=(maxx#-minx#+14)
end if
tstrtmp3$=tstr3$
if isglyr%>0 then
if widx#>=widy# then
tstr3$=ltrim$(rtrim$(tstr3$))+" X"+FMTUSING$("#.#",boardx%+8)+">Y"+FMTUSING$("#.#",boardy%+8)+"MM"
else
tstr3$=ltrim$(rtrim$(tstr3$))+" X"+FMTUSING$("#.#",boardx%+8)+"<Y"+FMTUSING$("#.#",boardy%+8)+"MM"
end if
else
if widx#>=widy# then
tstr3$=ltrim$(rtrim$(tstr3$))+" X"+FMTUSING$("#.#",boardx%)+">Y"+FMTUSING$("#.#",boardy%)+"MM"
else
tstr3$=ltrim$(rtrim$(tstr3$))+" X"+FMTUSING$("#.#",boardx%)+"<Y"+FMTUSING$("#.#",boardy%)+"MM"
end if
end if
board$=tstr3$
tstrtmp1$=tstr1$
tstrtmp2$=tstr2$
pcbtmp$=tstr2$
tstr2$="P/N: "+ucase$(ltrim$(rtrim$(pcbname$)))+" "+ltrim$(rtrim$(tstr2$))
if tl2% then
tstr2$=ltrim$(rtrim$(tstr2$))+" "+ltrim$(rtrim$(tstr3$))
tstr3$=""
end if
if tl1% then
tstr1$=ltrim$(rtrim$(tstr1$))+" "+ltrim$(rtrim$(tstr2$))
tstr2$=""
end if
if latmp$="" then
select case lasel%
case 1
la$="GTL"
case 2
la$="GTS"
case 3
la$="GTO"
case 4
la$="GBL"
case 5
la$="GBS"
case 6
la$="GBO"
case 7
la$="GKO"
end select
else
select case ucase$(latmp$)
case "GTB"
la$="TOP"
case "GBB"
la$="BOT"
case else
la$=ltrim$(rtrim$(UCASE$(latmp$)))
end select
end if
if tl1% then
if (algwidth#(talg1%)-algwidth#(talg2%))*(len(tstr1$+" "+la$)-len(tstr2$))<0 then swap talg1%,talg2%
else
if (algwidth#(talg1%)-algwidth#(talg2%))*(len(tstr1$)-len(tstr2$+" "+la$))<0 then swap talg1%,talg2%
end if
'记录已修改的层
if editflag%=0 then
if mid$(ucase$(pcbname$),1,1)="S" or ts%=1 then
select case ltrim$(rtrim$(ucase$(latmp$)))
case "GTB"
edit_layer@ lay%,-2,-2,-2,-2,pcbno$+".GTB"
case "GBB"
edit_layer@ lay%,-2,-2,-2,-2,pcbno$+".GBB"
case ""
edit_layer@ lay%,-2,-2,-2,-2,pcbno$+"."+la$
end select
' exportgbrfile@ lay%,-1,workpath$+"\"+pcbno$+"."+la$
else
select case ltrim$(rtrim$(ucase$(latmp$)))
case "GTB"
edit_layer@ lay%,-2,-2,-2,-2,mid$(pcbno$,5)+".GTB"
case "GBB"
edit_layer@ lay%,-2,-2,-2,-2,mid$(pcbno$,5)+".GBB"
case ""
edit_layer@ lay%,-2,-2,-2,-2,mid$(pcbno$,5)+"."+la$
end select
' exportgbrfile@ lay%,-1,workpath$+"\"+mid$(pcbno$,5)+"."+la$
end if
if isglyr%<0 then
setlayer@ lay%
editcount%=editcount+1
editlayer%(editcount%)=lay%
else
setlayer@ layertmp%
end if
else
clearcount%=clearcount%+1
addclear%(clearcount%)=blanklayer!
clearmir%(clearcount%)=tmir%
edit_layer@ addclear%(clearcount%),-2,-2,4,0,la$+"_Clear"
clearcompplace%(clearcount%)=compnum%+clearcount%+ginvertcount%-1
setcompo@ clearcompplace%(clearcount%)
edit_compo_bkg@ clearcompplace%(clearcount%),-1
if mid$(ucase$(pcbname$),1,1)="S" or ts%=1 then
edit_compo@ clearcompplace%(clearcount%),0,lay%,1,pcbno$+"."+la$
else
edit_compo@ clearcompplace%(clearcount%),0,lay%,1,mid$(pcbno$,5)+"."+la$
end if
edit_compo@ clearcompplace%(clearcount%),1,addclear%(clearcount%),-1
if ucase$(rtrim$(ltrim$(la$)))="GTL" then
hh%=2
for cleart =1 to gtlclearcount%
if gtlclearly%(cleart)<>-1 then
hh%=hh%+1
edit_compo@ clearcompplace%(clearcount%),hh%,gtlclearly%(cleart),-1
end if
next
end if
if ucase$(rtrim$(ltrim$(la$)))="GBL" then
hh%=2
for cleart =1 to gblclearcount%
if gblclearly%(cleart)<>-1 then
hh%=hh%+1
edit_compo@ clearcompplace%(clearcount%),hh%,gblclearly%(cleart),-1
end if
next
end if
if mid$(ucase$(pcbname$),1,1)="S" or ts%=1 then
edit_layer@ lay%,-2,-2,-2,-2,pcbno$+"."+la$
' exportgbrfile@ lay%,compnum%+clearcount%-1,workpath$+"\"+pcbno$+"."+la$
else
edit_layer@ lay%,-2,-2,-2,-2,mid$(pcbno$,5)+"."+la$
' exportgbrfile@ lay%,compnum%+clearcount%-1,workpath$+"\"+mid$(pcbno$,5)+"."+la$
end if
setlayer@ addclear%(clearcount%)
end if
if bluecount%=1 then
blue%(1)=blankdcode!
edit_aperture@ blue%(1),6,0,0,blue%(1),"nc231"
blue%(2)=blankdcode!
edit_aperture@ blue%(2),6,0,0,blue%(2),"nc232"
blue%(3)=blankdcode!
edit_aperture@ blue%(3),6,0,0,blue%(3),"nc233"
blue%(4)=blankdcode!
edit_aperture@ blue%(4),6,0,0,blue%(4),"nc234"
end if
if tstr1$<>"" then
tstr1$=ucase$(tstr1$)
if tl1% then
latmp2$=tstr1$+" "+la$
if ucase$(latmp$)="GTB" or ucase$(latmp$)="GBB" then
if tmir% then
select case talg1%
case 3,5,6,8
blueplace#=5
case 1,2,4,7
blueplace#=0
end select
else
select case talg1%
case 3,5,6,8
blueplace#=0
case 1,2,4,7
blueplace#=-5
end select
end if
else
blueplace#=0
end if
else
latmp2$=tstr1$
blueplace#=0
end if
textfullheight@ thigh#
textmirror@ tmir%
if talg1%=1 or talg1%=3 or talg1%=5 or talg1%=7 then
textangle@ 0
else
textangle@ 9000
end if
textjust@ 4
long%=len(ltrim$(rtrim$(latmp2$)))
select case talg1%
case 1
varx1#=(minx#+maxx#)/2-8+holelocx#-thigh#*0.27*long%+blueplace#
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 2
vary1#=(miny#+maxy#)/2-8+holelocy#-thigh#*0.27*long%+blueplace#
varx1#=minx#-(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 3
varx1#=(minx#+maxx#)/2+8+holelocx#+thigh#*0.27*long%+blueplace#
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 4
vary1#=(miny#+maxy#)/2-8+holelocy#-thigh#*0.27*long%+blueplace#
varx1#=maxx#+(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 5
varx1#=(minx#+maxx#)/2+8+holelocx#+thigh#*0.27*long%+blueplace#
vary1#=maxy#+(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 6
vary1#=(miny#+maxy#)/2+8+holelocy#+thigh#*0.27*long%+blueplace#
varx1#=maxx#+(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 7
varx1#=(minx#+maxx#)/2-8+holelocx#-thigh#*0.27*long%+blueplace#
vary1#=maxy#+(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 8
vary1#=(miny#+maxy#)/2+8+holelocy#+thigh#*0.27*long%+blueplace#
varx1#=minx#-(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
end select
setdcode@ tdcode%
update_dcodebar@
addtext@ varx1#,vary1#,varx2#,vary2#,ltrim$(rtrim$(latmp2$))
back@
if tl1% and (ucase$(latmp$)="GTB" or ucase$(latmp$)="GBB") then
select case talg1%
case 1,3,5,7
setdcode@ blue%(1+2*tmir%)
update_dcodebar@
add_flash@
axy@ varx1#+(1-2*tmir%)*(thigh#*0.27*long%+5),vary1#
back@
case 2,4,6,8
setdcode@ blue%(2+2*tmir%)
update_dcodebar@
add_flash@
axy@ varx1#,vary1#+(1-2*tmir%)*(thigh#*0.27*long%+5)
back@
end select
end if
if talg1%=1 or talg1%=3 or talg1%=5 or talg1%=7 then
if tmir% then
varx1#=varx1#+thigh#*0.28*long%+1.8+blueplace#
else
varx1#=varx1#-thigh#*0.28*long%-4.2+blueplace#
end if
scale#=(widy#-eidint#)/5
if editflag%=0 then
if isglyr%<0 then
polylayer@ lay%
else
polylayer@ layertmp%
end if
else
polylayer@ addclear%(clearcount%)
end if
polyfilldcode@ longstar%
polyclearance@ 0
polyfillpattern@ "SOLID"
polyfillmethod@ "VECTOR"
polyaddtype@ "DRAWBORDER"
polydeleteislands@ "Yes"
add_pouring@
axy@ varx1#,vary1#
axy@ varx1#+scale#*0.762,vary1#+scale#*0.229
axy@ varx1#+scale#*0.914,vary1#+scale#*1.524
axy@ varx1#+scale#*1.092,vary1#+scale#*0.229
axy@ varx1#+scale#*1.8,vary1#
axy@ varx1#+scale#*1.092,vary1#-scale#*0.279
axy@ varx1#+scale#*0.914,vary1#-scale#*1.499
axy@ varx1#+scale#*0.762,vary1#-scale#*0.279
back@
else
if tmir% then
vary1#=vary1#+thigh#*0.28*long%+1.6
else
vary1#=vary1#-thigh#*0.28*long%-4
end if
scale#=(widx#-eidint#)/5
if editflag%=0 then
if isglyr%<0 then
polylayer@ lay%
else
polylayer@ layertmp%
end if
else
polylayer@ addclear%(clearcount%)
end if
polyfilldcode@ longstar%
polyclearance@ 0
polyfillpattern@ "SOLID"
polyfillmethod@ "VECTOR"
polyaddtype@ "DRAWBORDER"
polydeleteislands@ "Yes"
add_pouring@
axy@ varx1#,vary1#
axy@ varx1#-scale#*0.229,vary1#+scale#*0.762
axy@ varx1#-scale#*1.524,vary1#+scale#*0.914
axy@ varx1#-scale#*0.229,vary1#+scale#*1.092
axy@ varx1#,vary1#+scale#*1.8
axy@ varx1#+scale#*0.279,vary1#+scale#*1.092
axy@ varx1#+scale#*1.499,vary1#+scale#*0.914
axy@ varx1#+scale#*0.279,vary1#+scale#*0.762
back@
end if
end if
if tstr2$<>"" then
setdcode@ tdcode%
update_dcodebar@
tstr2$=ucase$(tstr2$)
textfullheight@ thigh#
textmirror@ tmir%
if ucase$(latmp$)="GTB" or ucase$(latmp$)="GBB" then
if tmir% then
select case talg2%
case 3,5,6,8
blueplace#=5
case 1,2,4,7
blueplace#=0
end select
else
select case talg2%
case 3,5,6,8
blueplace#=0
case 1,2,4,7
blueplace#=-5
end select
end if
else
blueplace#=0
end if
if talg2%=1 or talg2%=3 or talg2%=5 or talg2%=7 then
textangle@ 0
else
textangle@ 9000
end if
'textcspace@ 0.5
'textlspace@ 2.5
'textfitting@ 1
textjust@ 4
'textfont@ "SIMPLE.EFN"
'textfontface@ "Arial"
long%=len(ltrim$(rtrim$(tstr2$))+" "+la$)
select case talg2%
case 1
varx1#=(minx#+maxx#)/2-6+holelocx#-thigh#*0.27*long%+blueplace#
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 2
vary1#=(miny#+maxy#)/2-6+holelocy#-thigh#*0.27*long%+blueplace#
varx1#=minx#-(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 3
varx1#=(minx#+maxx#)/2+6+holelocx#+thigh#*0.27*long%+blueplace#
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 4
vary1#=(miny#+maxy#)/2-6+holelocy#-thigh#*0.27*long%+blueplace#
varx1#=maxx#+(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 5
varx1#=(minx#+maxx#)/2+6+holelocx#+thigh#*0.27*long%+blueplace#
vary1#=maxy#+(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 6
vary1#=(miny#+maxy#)/2+6+holelocy#+thigh#*0.27*long%+blueplace#
varx1#=maxx#+(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 7
varx1#=(minx#+maxx#)/2-6+holelocx#-thigh#*0.27*long%+blueplace#
vary1#=maxy#+(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 8
vary1#=(miny#+maxy#)/2+6+holelocy#+thigh#*0.27*long%+blueplace#
varx1#=minx#-(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
end select
addtext@ varx1#,vary1#,varx2#,vary2#,ltrim$(rtrim$(tstr2$))+" "+la$
back@
if ucase$(latmp$)="GTB" or ucase$(latmp$)="GBB" then
select case talg1%
case 1,3,5,7
setdcode@ blue%(1+2*tmir%)
update_dcodebar@
add_flash@
axy@ varx1#+(1-2*tmir%)*(thigh#*0.27*long%+5),vary1#
back@
case 2,4,6,8
setdcode@ blue%(2+2*tmir%)
update_dcodebar@
add_flash@
axy@ varx1#,vary1#+(1-2*tmir%)*(thigh#*0.27*long%+5)
back@
end select
end if
end if
if tstr3$<>"" then
setdcode@ tdcode%
update_dcodebar@
tstr3$=ucase$(tstr3$)
textfullheight@ thigh#
textmirror@ tmir%
if talg3%=1 or talg3%=3 or talg3%=5 or talg3%=7 then
textangle@ 0
else
textangle@ 9000
end if
'textcspace@ 0.5
'textlspace@ 2.5
'textfitting@ 1
textjust@ 4
'textfont@ "SIMPLE.EFN"
'textfontface@ "Arial"
long%=len(ltrim$(rtrim$(tstr3$)))
select case talg3%
case 1
varx1#=(minx#+maxx#)/2-6+holelocx#-thigh#*0.27*long%
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 2
vary1#=(miny#+maxy#)/2-6+holelocy#-thigh#*0.27*long%
varx1#=minx#-(widx#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 3
varx1#=(minx#+maxx#)/2+6+holelocx#+thigh#*0.27*long%
vary1#=miny#-(widy#+widint#)/2
varx2#=varx1#
vary2#=vary1#
case 4
vary1#=(miny#+maxy#)/2-6+holelocy#-thigh#*0.27*long%
varx1#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -