📄 eagle.def
字号:
Draw = "DA %d,%d;\n"
[TEWIP281]
Type = PenPlotter
Long = "tewidata P 281 plotter"
Init = "H\n"
Reset = "HF0\n"
Width = 16
Height = 11
ResX = 254
ResY = 254
PenSelect = "F%u\n"
PenUp = "H"
PenDown = "I"
Move = "%d/%dK\n"
Draw = "%d/%dK\n"
PenCircleRxn = "O%d,180,540\n" ; Rxn = Radius X (long, negative)
[SE281]
@TEWIP281
Long = "Goerz Servogor SE 281 plotter"
[RY10MZ]
Type = PenPlotter
Long = "Rikadenki RY-10 MZ plotter"
Init = ""
Reset = "H\n"
Width = 16
Height = 11
ResX = 254
ResY = 254
PenSelect = "K%u\n"
PenSpeed = "T%1.0f\n"
Move = "M%d,%d\n"
Draw = "D%d,%d\n"
PenCircleCxCyRxRy = "W%d,%d C%d,180,360\n"
[HIDMP]
Type = PenPlotter
Long = "Houston Instrument DMP plotter"
Init = ";:H A EC1 \n"
Reset = "P0 @\n"
Width = 16
Height = 11
ResX = 1000
ResY = 1000
PenSelect = "P%u\n"
PenSpeed = "V%1.0f\n"
Move = "U %d,%d\n"
Draw = "D %d,%d\n"
PenCircleCxCyRxRy = "CA %d,%d 360\n"
[EPS]
Type = Generic
Long = "Encapsulated PostScript"
ResX = 254000 ; this gives us editor coordinates!
ResY = 254000
Width = 100.00 ; virtually infinite
Height = 100.00
ArcCxCyRWSaEaC = "%d %d %d %d %1.2f %1.2f %d a\n" ; (CenterX, CenterY, Radius, Width, StartAngle, EndAngle, LineCap)
Bar = "%d %d %d %d %.1f b\n" ; (x1, y1, x2, y2, Angle)
Circle = "%d %d %d %d c\n" ; (x, y, Radius, Width)
Line = "%d %d %d %d %d l\n" ; (x1, y1, x2, y2, Width)
Octagon = "%d %d %d %d %.1f o\n" ; (x, y, dx, dy, Angle)
Pie = "%d %d %d p\n" ; (x, y, d)
Hole = "%d %d %d h\n" ; (x, y, d)
Header1 = "%%!PS-Adobe-3.0 EPSF-3.0\n" \
"%%%%Title: EAGLE Drawing %s\n" \
"%%%%Creator: EAGLE\n" \
"%%%%Pages: %d\n" \
"%%%%BoundingBox: 0 0 %d %d\n" \
"%%%%EndComments\n" \
"\n"\
"%% Coordinate transfer:\n"\
"\n"\
"/EU { 254 div 0.072 mul } def\n"\
"/inch { 72 mul } def\n"\
"\n"\
"%% Linestyle:\n"\
"\n"\
"1 setlinecap\n"\
"1 setlinejoin\n"\
"\n"\
"%% Drawing functions:\n"\
"\n"\
"/l { %% draw a line\n"\
" /lw exch def\n"\
" /y2 exch def\n"\
" /x2 exch def\n"\
" /y1 exch def\n"\
" /x1 exch def\n"\
" newpath\n"\
" x1 EU y1 EU moveto\n"\
" x2 EU y2 EU lineto\n"\
" lw EU setlinewidth\n"\
" stroke\n"\
" } def\n"\
"\n"\
"/h { %% draw a hole\n"\
" /d exch def\n"\
" /y exch def\n"\
" /x exch def\n"\
" d 0 gt {\n"\
" newpath\n"\
" x EU y EU d 2 div EU 0 360 arc\n"\
" currentgray dup\n"\
" 1 exch sub setgray\n"\
" fill\n"\
" setgray\n"\
" } if\n"\
" } def\n"\
"\n"\
"/b { %% draw a bar\n"\
" /an exch def\n"\
" /y2 exch def\n"\
" /x2 exch def\n"\
" /y1 exch def\n"\
" /x1 exch def\n"\
" /w2 x2 x1 sub 2 div EU def\n"\
" /h2 y2 y1 sub 2 div EU def\n"\
" gsave\n"\
" x1 x2 add 2 div EU y1 y2 add 2 div EU translate\n"\
" an rotate\n"\
" newpath\n"\
" w2 h2 moveto\n"\
" w2 neg h2 lineto\n"\
" w2 neg h2 neg lineto\n"\
" w2 h2 neg lineto\n"\
" closepath\n"\
" fill\n"\
" grestore\n"\
" } def\n"\
"\n"\
"/c { %% draw a circle\n"\
" /lw exch def\n"\
" /rd exch def\n"\
" /y exch def\n"\
" /x exch def\n"\
" newpath\n"\
" lw EU setlinewidth\n"\
" x EU y EU rd EU 0 360 arc\n"\
" stroke\n"\
" } def\n"\
"\n"\
"/a { %% draw an arc\n"\
" /lc exch def\n"\
" /ae exch def\n"\
" /as exch def\n"\
" /lw exch def\n"\
" /rd exch def\n"\
" /y exch def\n"\
" /x exch def\n"\
" lw rd 2 mul gt {\n"\
" /rd rd lw 2 div add 2 div def\n"\
" /lw rd 2 mul def\n"\
" } if\n"\
" currentlinecap currentlinejoin\n"\
" lc setlinecap 0 setlinejoin\n"\
" newpath\n"\
" lw EU setlinewidth\n"\
" x EU y EU rd EU as ae arc\n"\
" stroke\n"\
" setlinejoin setlinecap\n"\
" } def\n"\
"\n"\
"/p { %% draw a pie\n"\
" /d exch def\n"\
" /y exch def\n"\
" /x exch def\n"\
" newpath\n"\
" x EU y EU d 2 div EU 0 360 arc\n"\
" fill\n"\
" } def\n"\
"\n"\
"/edge { 0.20710678119 mul } def\n"\
"\n"\
"/o { %% draw an octagon\n"\
" /an exch def\n"\
" /dy exch def\n"\
" /dx exch def\n"\
" /y exch def\n"\
" /x exch def\n"\
" gsave\n"\
" x EU y EU translate\n"\
" an dx dy lt { 90 add /dx dy /dy dx def def } if rotate\n"\
" newpath\n"\
" 0 dx 2 div sub EU 0 dy edge add EU moveto\n"\
" 0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div add EU lineto\n"\
" 0 dx dy sub 2 div add dy edge add EU 0 dy 2 div add EU lineto\n"\
" 0 dx 2 div add EU 0 dy edge add EU lineto\n"\
" 0 dx 2 div add EU 0 dy edge sub EU lineto\n"\
" 0 dx dy sub 2 div add dy edge add EU 0 dy 2 div sub EU lineto\n"\
" 0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div sub EU lineto\n"\
" 0 dx 2 div sub EU 0 dy edge sub EU lineto\n"\
" closepath\n"\
" fill\n"\
" grestore\n"\
" } def\n"\
"\n"
;(Name, NrPages, (x2 - x1) * 0.072 * ScaleFactor, (y2 - y1) * 0.072 * ScaleFactor)
[PS]
@EPS
Long = "PostScript (printable)"
Width = 7.75
Height = 11.00
Header2 = "%% the real drawing size:\n"\
"\n"\
"/MinDrawX %6d EU def\n"\
"/MinDrawY %6d EU def\n"\
"/MaxDrawX %6d EU def\n"\
"/MaxDrawY %6d EU def\n"\
"\n"\
"%% the usable page size:\n"\
"\n"\
"/LeftMargin 0.25 inch def %% change these if drawing gets clipped!\n"\
"/BotMargin 0.25 inch def\n"\
"/PageWidth %7.4f inch def\n"\
"/PageHeight %7.4f inch def\n"\
"\n"\
"%% are we going to rotate?:\n"\
"\n"\
"/RotateDrawing %d 0 ne def\n"\
"\n"
;(x1, y1, x2, y2, Width, Height, DoRotate)
Header3 = "%% Media size functions:\n"\
"\n"\
"/AbortMessage { %% Show a message in a box and stop printing\n"\
" /h 100 def\n"\
" /Courier findfont 12 scalefont setfont\n"\
" mediawidth pagemargin sub h 1 setpage\n"\
" newpath\n"\
" 0 0 moveto\n"\
" 0 h rlineto\n"\
" mediawidth pagemargin sub 0 rlineto\n"\
" 0 h neg rlineto\n"\
" closepath\n"\
" 5 setlinewidth\n"\
" stroke\n"\
" newpath 50 60 moveto (ERROR: Jobsize exceeds physical printing area!) show\n"\
" newpath 50 40 moveto ( Job has been aborted!) show\n"\
" showpage\n"\
" stop\n"\
" } def\n"\
"\n"\
"/SelectPage { %% Select the page identified by Row and Column\n"\
" /Column exch def\n"\
" /Row exch def\n"\
"\n"\
" %% the actually exposed area (if the machine knows these parameters!):\n"\
"\n"\
" /DrawX MaxDrawX MinDrawX sub def\n"\
" /DrawY MaxDrawY MinDrawY sub def\n"\
" statusdict /setpage known\n"\
" statusdict /mediawidth known and\n"\
" statusdict /medialength known and\n"\
" statusdict /pagemargin known and {\n"\
" %% this is for machines that can tell the media size:\n"\
" statusdict begin\n"\
" /MediaW mediawidth pagemargin sub def\n"\
" DrawX DrawY ge {\n"\
" DrawX MediaW le DrawY medialength le and {\n"\
" MediaW DrawY 1 setpage\n"\
" MediaW DrawX sub 2 div 0 translate\n"\
" }{\n"\
" DrawY MediaW le DrawX medialength le and {\n"\
" MediaW DrawX 0 setpage\n"\
" 0 MediaW DrawY sub 2 div translate\n"\
" }{\n"\
" AbortMessage\n"\
" } ifelse\n"\
" } ifelse\n"\
" }{\n"\
" DrawY MediaW le DrawX medialength le and {\n"\
" MediaW DrawX 0 setpage\n"\
" 0 MediaW DrawY sub 2 div translate\n"\
" }{\n"\
" DrawX MediaW le DrawY medialength le and {\n"\
" MediaW DrawY 1 setpage\n"\
" MediaW DrawX sub 2 div 0 translate\n"\
" }{\n"\
" AbortMessage\n"\
" } ifelse\n"\
" } ifelse\n"\
" } ifelse\n"\
" end\n"\
" }{\n"\
" %% this is for machines that can NOT tell the media size:\n"\
" %% (Ghostscript doesn't like this!)\n"\
" /Product product length string def\n"\
" /i 0 def\n"\
" product { dup 97 lt { 32 add } if Product exch i exch put /i i 1 add def } forall \n"\
" Product (ghostscript) search dup /IsGhostscript exch def\n"\
" { pop pop } if\n"\
" pop\n"\
" IsGhostscript not {\n"\
" statusdict /setpage known {\n"\
" statusdict begin\n"\
" RotateDrawing {\n"\
" LeftMargin PageHeight add BotMargin DrawY add\n"\
" }{\n"\
" BotMargin DrawY add LeftMargin DrawX add \n"\
" } ifelse\n"\
" 0 setpage\n"\
" end\n"\
" } if\n"\
" } if\n"\
" %% set clipping boundary:\n"\
" newpath\n"\
" LeftMargin BotMargin moveto\n"\
" 0 PageHeight rlineto\n"\
" PageWidth 0 rlineto\n"\
" 0 PageHeight neg rlineto\n"\
" closepath\n"\
" clip\n"\
" %% set the origin:\n"\
" LeftMargin BotMargin translate\n"\
" RotateDrawing {\n"\
" 0 PageHeight translate\n"\
" -90 rotate\n"\
" PageHeight Column mul neg PageWidth Row mul neg translate\n"\
" }{\n"\
" PageWidth Column mul neg PageHeight Row mul neg translate\n"\
" } ifelse\n"\
" } ifelse\n"\
" %% move the lower left corner of the drawing to the origin:\n"\
" MinDrawX neg MinDrawY neg translate\n"\
" \n"\
" %% Linestyle:\n"\
" \n"\
" 1 setlinecap\n"\
" 1 setlinejoin\n"\
" \n"\
" } def\n"\
"\n"\
"%% TheDrawing\n"
StartPage= "\ngsave %d %d SelectPage\n" ;(Row, Column)
EndPage = "showpage grestore\n"
[PS_INVERTED]
@PS
Long = "PostScript (printable, inverted)"
Header3 = "%% Media size functions:\n"\
"\n"\
"/AbortMessage { %% Show a message in a box and stop printing\n"\
" /h 100 def\n"\
" /Courier findfont 12 scalefont setfont\n"\
" mediawidth pagemargin sub h 1 setpage\n"\
" newpath\n"\
" 0 0 moveto\n"\
" 0 h rlineto\n"\
" mediawidth pagemargin sub 0 rlineto\n"\
" 0 h neg rlineto\n"\
" closepath\n"\
" 5 setlinewidth\n"\
" stroke\n"\
" newpath 50 60 moveto (ERROR: Jobsize exceeds physical printing area!) show\n"\
" newpath 50 40 moveto ( Job has been aborted!) show\n"\
" showpage\n"\
" stop\n"\
" } def\n"\
"\n"\
"/SelectPage { %% Select the page identified by Row and Column\n"\
" /Column exch def\n"\
" /Row exch def\n"\
"\n"\
" %% the actually exposed area (if the machine knows these parameters!):\n"\
"\n"\
" /DrawX MaxDrawX MinDrawX sub def\n"\
" /DrawY MaxDrawY MinDrawY sub def\n"\
" statusdict /setpage known\n"\
" statusdict /mediawidth known and\n"\
" statusdict /medialength known and\n"\
" statusdict /pagemargin known and {\n"\
" %% this is for machines that can tell the media size:\n"\
" statusdict begin\n"\
" /MediaW mediawidth pagemargin sub def\n"\
" DrawX DrawY ge {\n"\
" DrawX MediaW le DrawY medialength le and {\n"\
" MediaW DrawY 1 setpage\n"\
" MediaW DrawX sub 2 div 0 translate\n"\
" }{\n"\
" DrawY MediaW le DrawX medialength le and {\n"\
" MediaW DrawX 0 setpage\n"\
" 0 MediaW DrawY sub 2 div translate\n"\
" }{\n"\
" AbortMessage\n"\
" } ifelse\n"\
" } ifelse\n"\
" }{\n"\
" DrawY MediaW le DrawX medialength le and {\n"\
" MediaW DrawX 0 setpage\n"\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -