⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grids.il

📁 Allegro常用skill
💻 IL
字号:
;;###################################################################################################################################
;;调整skill窗口长度:第50行指令 fprintf(gridsform "PORT 108 3\n") 将 108 调整至合适
;;调整skill窗口标题:滴51行指令 fprintf(gridsform "HEADER \"Grids by Benson 2010.05.14\"\n") 将 Grids by Benson 2010.05.14 改成任何非汉字都可以
;;例如:
;;     要设置grids的值,
;;     调整下面指令对应位置的数值
;;     fprintf( gridsform "FIELD %n \nFLOC  1  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/100     conv_factor/100   )
;;                              第一个数字"1"在窗口中的位置                                         grids=100/***       grids=100/***
;;
;;     (equal(evalstring(gridsform->curField) conv_factor/100   )	UC_grids_script_create(conv_factor/100)  	);
;;                                              grids=100/***                              grids=100/***
;;     以上2条指令的位置fprintf顺数=equal倒数,可参考下面的例程
;;
;;这样一个grids就设置完了。
;;
;;如果设置的grids大于100,设置如下grids=250mil:
;;      fprintf( gridsform "FIELD %n \nFLOC 101 1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor*25/10   conv_factor*25/10 )
;;      (equal(evalstring(gridsform->curField) conv_factor*25/10 ) 	UC_grids_script_create(conv_factor*25/10) );
;;
;;此grids.il设置的grids有(mil):		1		2		4		5		10		20		25		50		100		200		250
;;
;;      skill调用时输入:grids            载入为:   load(“girds.il”)       skill menu为:MENUITEM "grids", "grids"
;;可修改适合自己的girds.il
;;
;;改著玩玩       Benson        Layout       2010.05.14
;;###################################################################################################################################


;Modify the hotkey by yourself
;---------------------------------------
axlShell("alias SInsert skill grids")
;---------------------------------------

defun( grids ()

; creates conversion factors for different db units
; -------------------------------------------------
;
units = car(axlDBGetDesignUnits())
	cond(
		(equal(units "microns") 	  (conv_factor = 1) 	 );
		(equal(units "mils") 		    (conv_factor = 100)  );
		(equal(units "inches") 	   	(conv_factor = 0.1)  );
		(equal(units "millimeters") (conv_factor = 2.54) );
		(equal(units "centimeters") (conv_factor = 0.254)); 
	) ; end of cond

	drain()
	gridsform_file = "grids.form"

	gridsform = outfile(gridsform_file "w")
     fprintf(gridsform "FILE_TYPE=FORM_DEFN VERSION=2\n")
     fprintf(gridsform "FORM\n")
     fprintf(gridsform "FIXED\n")
     fprintf(gridsform "PORT 108 3\n")
     fprintf(gridsform "HEADER \"Grids by Benson 2010.05.14\"\n")
     fprintf(gridsform "\n")
     fprintf(gridsform "TILE\n")
	;-------------------------------------------------------------------------------------------------------
     fprintf( gridsform "FIELD %n \nFLOC  1  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/100     conv_factor/100   )
     fprintf( gridsform "FIELD %n \nFLOC 11  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/50      conv_factor/50    )
     fprintf( gridsform "FIELD %n \nFLOC 21  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/25      conv_factor/25    )
     fprintf( gridsform "FIELD %n \nFLOC 31  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/20      conv_factor/20    )
     fprintf( gridsform "FIELD %n \nFLOC 41  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/10      conv_factor/10    )
     fprintf( gridsform "FIELD %n \nFLOC 51  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/5       conv_factor/5     )
     fprintf( gridsform "FIELD %n \nFLOC 61  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/4       conv_factor/4     )
     fprintf( gridsform "FIELD %n \nFLOC 71  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/2       conv_factor/2     )
     fprintf( gridsform "FIELD %n \nFLOC 81  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor/1       conv_factor/1     )
     fprintf( gridsform "FIELD %n \nFLOC 91  1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor*2       conv_factor*2     )
     fprintf( gridsform "FIELD %n \nFLOC 101 1 \nCHECKLIST \"%n\" \"radioLabel\"\nENDFIELD\n\n" conv_factor*25/10   conv_factor*25/10 )
	;-------------------------------------------------------------------------------------------------------
     fprintf(gridsform "\n")
     fprintf(gridsform "ENDTILE\n")
     fprintf(gridsform "\n")
     fprintf(gridsform "ENDFORM\n")
	close( gridsform)

	gridsform = axlFormCreate( (gensym) gridsform_file nil 'grids_Action t nil)
	axlFormDisplay(gridsform)
	axlUIWPrint(gridsform getCurrentTime()) 
	deleteFile("grids.form")
); end of grids
;--------------------------------------------------------
; what to do on form actions
; --------------------------
defun( grids_Action (gridsform)
cond(
	(equal(evalstring(gridsform->curField) conv_factor*25/10 ) 	UC_grids_script_create(conv_factor*25/10) );
	(equal(evalstring(gridsform->curField) conv_factor*2     ) 	UC_grids_script_create(conv_factor*2)     );
	(equal(evalstring(gridsform->curField) conv_factor       ) 	UC_grids_script_create(conv_factor) 	    );
	(equal(evalstring(gridsform->curField) conv_factor/2     ) 	UC_grids_script_create(conv_factor/2)   	);
	(equal(evalstring(gridsform->curField) conv_factor/4     ) 	UC_grids_script_create(conv_factor/4)   	);
	(equal(evalstring(gridsform->curField) conv_factor/5     ) 	UC_grids_script_create(conv_factor/5)   	);
	(equal(evalstring(gridsform->curField) conv_factor/10    )	UC_grids_script_create(conv_factor/10)  	);
	(equal(evalstring(gridsform->curField) conv_factor/20    ) 	UC_grids_script_create(conv_factor/20)    );
	(equal(evalstring(gridsform->curField) conv_factor/25    ) 	UC_grids_script_create(conv_factor/25)   	);
	(equal(evalstring(gridsform->curField) conv_factor/50    ) 	UC_grids_script_create(conv_factor/50)   	);
	(equal(evalstring(gridsform->curField) conv_factor/100   )	UC_grids_script_create(conv_factor/100)  	);
) ; end of cond
	deleteFile("grids.scr")
); end grids_Action
;--------------------------------------------------------
defun( UC_grids_script_create ( cur_grid )
	Script_File=outfile("grids.scr" "w")
    fprintf(Script_File "scriptmode +i\n")
    fprintf(Script_File "define grid \nsetwindow form.grid\n")
		fprintf(Script_File "FORM grid non_etch non_etch_x_grids %n \n" cur_grid)
		fprintf(Script_File "FORM grid non_etch non_etch_y_grids %n \n" cur_grid)
		fprintf(Script_File "FORM grid all_etch all_etch_x_grids %n \n" cur_grid)
		fprintf(Script_File "FORM grid all_etch all_etch_y_grids %n \n" cur_grid)
		fprintf(Script_File "FORM grid done\n")
	close(Script_File)	
	axlShell("replay grids.scr")
	axlUIWPrint(gridsform units) 
); end UC_grids_script_create
;--------------------------------------------------------
; Registers grids as an 'Allegro' command
; --------------------------------------
axlCmdRegister( "grids" `grids)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -