📄 pdi_vis.il
字号:
;===============================================================================;
; pdi_vis.il - Display Visibility Control V2.1 for Allegro v11.0+ ;
;-------------------------------------------------------------------------------;
; Install the routine in your allegro.ilinit file by adding load("pdi_vis.il") ;
; or by typing (load("pdi_vis.il")) at the Allegro prompt. ;
; ;
; Start the routine by typing 'etch visibility' at the Allegro prompt. ;
; ;
; See the help button for credits and questions. ;
;-------------------------------------------------------------------------------;
; Modification History ;
; ;
; Ver 1.0 Released 09MAY96 - GHP ;
; ;
; Ver 2.0 Added "Plot" button to generate an IPF file ;
; of the screen and call "allegro_plot" to ;
; generate a plot. 20MAY96 - GHP ;
;
; Ver 2.1 Added DRC button 03JUN96 - GHP
; ;
;===============================================================================;
axlCmdRegister( "visibility" `pdiVisibility)
;===============================================;
; ;
; Main Routine - Called when program is started ;
; ;
;===============================================;
(defun pdiVisibility ()
Pin_Control_Value=nil
Via_Control_Value=nil
Etch_Control_Value=nil
DRC_Control_Value=nil
TAssyControl_Value=nil
BAssyControl_Value=nil
TSilkControl_Value=nil
BSilkControl_Value=nil
TMaskControl_Value=nil
BMaskControl_Value=nil
TPasteControl_Value=nil
BPasteControl_Value=nil
TPgridControl_Value=nil
BPgridControl_Value=nil
KOControl_Value=nil
EtchKO_Control_Value=nil
Etch_Layers=(axlGetParam("paramLayerGroup:ETCH")->groupMembers)
(foreach Layer Etch_Layers
set(concat(Layer "_Control_Value") nil)
); end foreach Layer Etch_Layers
(pdiVisForm)
Form=axlFormCreate( (gensym) "pdiVis.form" '(e outer) 'pdiAction t)
(axlFormDisplay Form)
); end defun pdiVisibility
;===============================================;
; ;
; Create the form file ;
; ;
;===============================================;
(defun pdiVisForm ()
Num_Lay=0
(foreach Item Etch_Layers
Num_Lay=Num_Lay + 1
); end foreach Item Etch_Layers
Port_Size=Num_Lay + 15
Visibility_Control_Form=outfile("pdiVis.form" "w")
(fprintf Visibility_Control_Form "FILE_TYPE=FORM_DEFN VERSION=2\n")
(fprintf Visibility_Control_Form "FORM\n")
(fprintf Visibility_Control_Form "FIXED\n")
(fprintf Visibility_Control_Form "PORT 22 %d\n" Port_Size)
(fprintf Visibility_Control_Form "HEADER \"Visibility\"\n")
(fprintf Visibility_Control_Form "TILE\n")
;------------------------------;
; Set the Features Group ;
;------------------------------;
(fprintf Visibility_Control_Form "GROUP \"Etch Features\"\n")
(fprintf Visibility_Control_Form "GLOC 1 1\n")
(fprintf Visibility_Control_Form "GSIZE 20 6\n")
(fprintf Visibility_Control_Form "ENDGROUP\n")
;------------------------------;
; Set the "P" toggle button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD Pin_Control\n")
(fprintf Visibility_Control_Form "FLOC 2 3\n")
(fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
(fprintf Visibility_Control_Form "CHECKLIST \"P\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the "V" toggle button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD Via_Control\n")
(fprintf Visibility_Control_Form "FLOC 8 3\n")
(fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
(fprintf Visibility_Control_Form "CHECKLIST \"V\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the "E" toggle button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD Etch_Control\n")
(fprintf Visibility_Control_Form "FLOC 14 3\n")
(fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
(fprintf Visibility_Control_Form "CHECKLIST \"E\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Keep-Out/In Button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD EtchKO_Control\n")
(fprintf Visibility_Control_Form "FLOC 4 5\n")
(fprintf Visibility_Control_Form "CHECKLIST \"KO\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the DRC Button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD DRC_Control\n")
(fprintf Visibility_Control_Form "FLOC 11 5\n")
(fprintf Visibility_Control_Form "CHECKLIST \"DRC\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Layers Group ;
;------------------------------;
(fprintf Visibility_Control_Form "GROUP \"Etch Layers\"\n")
(fprintf Visibility_Control_Form "GLOC 1 7\n")
(fprintf Visibility_Control_Form "GSIZE 20 %d\n" Num_Lay * 2 + 2 )
(fprintf Visibility_Control_Form "ENDGROUP\n")
;-------------------------------;
; Set the layer toggle buttons ;
;-------------------------------;
Text_Loc=9
(foreach Item Etch_Layers
(fprintf Visibility_Control_Form "TEXT \"%s\"\n" Item)
(fprintf Visibility_Control_Form "TLOC 5 %d\n" Text_Loc)
(fprintf Visibility_Control_Form "ENDTEXT\n")
(fprintf Visibility_Control_Form "FIELD %s_Control\n" Item)
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc)
(fprintf Visibility_Control_Form "CHECKLIST\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
Text_Loc=Text_Loc + 2
); end foreach Item Etch_Layers
;------------------------------;
; Set the Non-Etch Group ;
;------------------------------;
(fprintf Visibility_Control_Form "GROUP \"Non-Etch\"\n")
(fprintf Visibility_Control_Form "GLOC 1 %d\n" Text_Loc)
(fprintf Visibility_Control_Form "GSIZE 20 14\n")
(fprintf Visibility_Control_Form "ENDGROUP\n")
;------------------------------;
; Set the Assy Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD TAssyControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 2)
(fprintf Visibility_Control_Form "CHECKLIST \"TAsy\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD BAssyControl\n")
(fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 2)
(fprintf Visibility_Control_Form "CHECKLIST \"BAsy\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Silk Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD TSilkControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 4)
(fprintf Visibility_Control_Form "CHECKLIST \"TSlk\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD BSilkControl\n")
(fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 4)
(fprintf Visibility_Control_Form "CHECKLIST \"BSlk\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Mask Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD TMaskControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 6)
(fprintf Visibility_Control_Form "CHECKLIST \"TMsk\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD BMaskControl\n")
(fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 6)
(fprintf Visibility_Control_Form "CHECKLIST \"BMsk\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Paste Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD TPasteControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 8)
(fprintf Visibility_Control_Form "CHECKLIST \"TPst\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD BPasteControl\n")
(fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 8)
(fprintf Visibility_Control_Form "CHECKLIST \"BPst\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Place Grid Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD TPgridControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 10)
(fprintf Visibility_Control_Form "CHECKLIST \"TPgr\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD BPgridControl\n")
(fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 10)
(fprintf Visibility_Control_Form "CHECKLIST \"BPgr\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Keep-Out/In Button ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD KOControl\n")
(fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 12)
(fprintf Visibility_Control_Form "CHECKLIST \"Keep Out/In\"\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
;------------------------------;
; Set the Action Buttons ;
;------------------------------;
(fprintf Visibility_Control_Form "FIELD Refresh_Graphics\n")
(fprintf Visibility_Control_Form "FLOC 1 %d\n" Text_Loc + 15)
(fprintf Visibility_Control_Form "MENUBUTTON \"Refresh\" 10 3\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD PlotScreen\n")
(fprintf Visibility_Control_Form "FLOC 11 %d\n" Text_Loc + 15)
(fprintf Visibility_Control_Form "MENUBUTTON \"Plot\" 10 3\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD Quit\n")
(fprintf Visibility_Control_Form "FLOC 1 %d\n" Text_Loc + 18)
(fprintf Visibility_Control_Form "MENUBUTTON \"Quit\" 10 3\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "FIELD Help\n")
(fprintf Visibility_Control_Form "FLOC 11 %d\n" Text_Loc + 18)
(fprintf Visibility_Control_Form "MENUBUTTON \"Help!\" 10 3\n")
(fprintf Visibility_Control_Form "ENDFIELD\n")
(fprintf Visibility_Control_Form "ENDTILE\n")
(fprintf Visibility_Control_Form "ENDFORM\n")
close(Visibility_Control_Form)
); end defun pdiVisForm
;===============================================;
; ;
; Define the action of the form buttons ;
; ;
;===============================================;
(defun pdiAction (Visibility_Control_Form)
(case Visibility_Control_Form->curField
("Help"
pdiVisHelp()
); end "Help"
("Quit"
(axlFormClose Visibility_Control_Form)
(axlCancelEnterFun)
(if isFile("pdiVis.form") then deleteFile("pdiVis.form"))
nil
); end "Quit"
("Refresh_Graphics"
pdiVisUpdate()
t
); end "Refresh_Graphics"
("PlotScreen"
pdiPlotScreen()
t
); end "Refresh_Graphics"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -