GenesisGUI界面编程基础.docx
- 文档编号:29947798
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:13
- 大小:19.12KB
GenesisGUI界面编程基础.docx
《GenesisGUI界面编程基础.docx》由会员分享,可在线阅读,更多相关《GenesisGUI界面编程基础.docx(13页珍藏版)》请在冰豆网上搜索。
GenesisGUI界面编程基础
《Genesis2000GUI界面编程基础》
——南京信息职业技术学院张先永
前言:
为什么需要CAM自动化,世上没有一个人是用同一样的方法来做同一件事的。
每一个厂商都用很不同的方法来使用CAM系统。
举个例子:
在排板的时候,每一个厂商都用很不同的符号、靶标、字符等,放在不同的板边位置。
这就是为什么CAM系统只能提供基本的功能,让用户加入这些资料而没有自动化的功能。
CAM工序自动化所带来的好处
第一、提升产量:
无论有多少层的排板,自动化可以把一小时的排板时间缩短到三分钟。
第二、资料质量:
所有资料都用同一种方法来处理。
第三、操作者的培训:
当大部分的工序已经自动化时,培训一个新的操作人员是一件很容易的事情。
而Genesis2000在开发的时候就给客户留下了,二次开发的空间PCB板厂可以根据自己厂内的RULE来定义各类自动化的参数。
利用Script编写厂内需要的自动化程序。
自动化的程序员可以利用简单的脚本语言如(C-shell,Perl等),来编写程序而完成大的功能。
而编写程序。
这些程序需要按照程序员的想法去跑,那必须要得到一些相关变量。
比如坐标值,Job、Step、Layer等。
输入的变量无非就两种最基本的形式。
一个是通过鼠标。
一个是通过键盘。
而这些数据的交互就是GUI(GraphicUserInterface)用户图形编辑接口。
下面我写的东西全部是个人学习总结的一些资料使用的脚本使用的C-Shell,学习资料的原版出自于Frontline公司的自动化培训教材《GENESIS2000AutomationTrainingGuide》,与网友刘才林的博客《gui界面编写》。
一、如何调通GUI编程环境
1.1录入一个简单的代码
使用记事本或者写字板写入下边的内容,保存的格式后缀可以是TXT、无、或者其它。
保存到路径C:
\genesis\sys\scripts下面当然你的可能不在C:
盘。
代码如下:
setgui_out=/tmp/gui_out.$$
setgui_in=/tmp/gui_in.$$
echo"BW2">>$gui_in
echo"FG000000">>$gui_in
echo"BG328068">>$gui_in
echo"WIN100100">>$gui_in
echo"LABELGENESIS">>$gui_in
/genesis/e91/all/gui$gui_in>$gui_out
source$gui_out
运行Script点击:
File-->Script-->RUN在Script选择新建的文本。
将会出现下面的界面。
代码效果:
1.2出现问题如何解决
如果没有出现这个界面需要分二种情况来判断:
一、没反应:
(画面如下没有出现界面,并且提示程序运行结束了)
这用情况大多数GUI没有指定对。
可能原因是你的版本不一样的缘故。
你可以修改一下
/genesis/e91/all/gui$gui_in>$gui_out
例如:
你的90版本的你需要下面的才行:
/genesis/e90/all/gui$gui_in>$gui_out
注意:
/genesis/e90/all/gui为GUI的路径
二、语法错误:
(画面如下)
这种情况,以前开始写这个代码也老是遇到。
后来才发现原来是代码利用的符号,有中文的符号。
二、基本界面编写
从这个DEMO开始解释GUI界面的编写
setgui_out=/tmp/gui_out.$$
setgui_in=/tmp/gui_in.$$
echo"BW2">>$gui_in
echo"FG000000">>$gui_in
echo"BG328068">>$gui_in
echo"WIN100100">>$gui_in
echo"LABELGENESIS">>$gui_in
/genesis/e91/all/gui$gui_in>$gui_out
source$gui_out
2.1、命令存放路径设置
setgui_out=/tmp/gui_out.$$#设置代码零时存放路径
setgui_in=/tmp/gui_in.$$
2.2、echo"WIN100100">$gui_in
#这是一个关键字:
定义窗口的起始位置。
WINxpositionyposition(E文版注释)
Definesthepositionofthepopupwindow(topleftcorner)startingfromthetopleft
cornerofthescreen.WINmustbethefirstcommandofthedirectivefileandmust
beusedjustonce.
Example:
WIN200200
2.3、echo"LABELGENESIS">>$gui_in
#命令字标题GENESIS
LABELstring
Createsacentredlabelwiththegivenstring.Ifthestringrepresentsalegalpathto
aX11bitmap,precededbythe@character,thebitmapwillbedisplayedinstead.
LABELPanelizationScript
LABEL元素也可以显示格式为“xbm”和“xpm”的图片,其格式为“LABEL@path”
其中“path”为图片的路径,如“LABEL@/genesis/sys/scripts/xx.xpm”则会在GUI界面中显示路径/genesis/sys/scripts/下名为xx.xpm的图片。
2.4、/genesis/e91/all/gui$gui_in>$gui_out
读取$gui_in文件
#这行是GUI文件指向的命令,也就是如果这个地址不对的话将导致文件不能不执行。
2.5、FGcolour(前景颜色)
Setstheforegroundcolourforallthefollowingwidgets.ValiduntilthenextFG
commandismet.Colourcanbeeitheranumberrepresentingacolourinrrggbb
(e.g.“990000”forred;“999999”forwhiteand“000000”forblack)oracolour
name(“red”;”aquamarine”;etc…).Colournamescanonlybeusedifthergb.txt
fileispresentinyourdiskunderthe/etc/X11directory(onHP)。
defaultvalue
is“000000”
Example:
FG
000099
2.6、BGcolor(背景颜色)
Setsthebackgroundcolorforallthefollowingwidgets.ValiduntilthenextBG
commandismet.Colorcanbeeitheranumberrepresentingacolorinrrggbb
(e.g.“990000”forred;“999999”forwhiteand“000000”forblack)oracolor
name(“red”;”aquamarine”;etc…).Colornamescanonlybeusedifthergb.txt
fileispresentinyourdiskunderthe/etc/X11onHP。
defaultvalueis“328068”
Example:
BG
999999
2.7、FONTfont_name(设置字体)
Setsthecurrentfontforallthefollowingwidgets(default=tbr14).Validuntilthe
nextFONTcommandismet.Font_nameisoftheformxyznnwhere:
x=c(ourier),h(elvetica)ort(imes)#字型
y=b(old)orm(edium)#粗细(黑体,适中)
z=r(egular)ori(talic)#字体(正常,斜体)
nn=8,10,12,14,18,24(size)
(e.g.“tbi14”fortimes-bold-italic-14)
Example:
FONT
cbr12
2.8、BWwidth
GUI界面中设置边缘宽度的语法为“BWwidth”,其中“BW”为表示本条语句设置GUI界面边框的宽度,“width”为宽度值,取值范围为1~10,默认的值为1
Definesthewidthofthebordersurroundingeachwidget.Widthisanumber
between1and10(inpixels).
Example:
echo"BW2">>$gui_in
BW
1
2.9、CLABELstring(关闭窗口字符显示)
Setsthelabelthatappearsonthe“Close”buttoninthebottomofthepopupwindow
(ifnotset,usesthedefaultlabel→“CLOSEANDCONTINUE”).
CLABEL
ClickheretoConfirm
三、数据交互界面设计
3.1、Txst对话框输入
命令格式:
TEXTfield_name[length]string
Createsaninputtextfieldcenteredlabelwiththegivenstring.Ifthestring
representsalegalpathtoaX11bitmap,precededbythe@character,thebitmap
willbedisplayedinstead.例如:
@/genesis/sys/scripts/xx.xpm
TEXTstep_name14ENTERSTEPNAME()
结合例子的语法分析:
TEXTfield_name[length]string
例子:
echo"TEXTstep_name12ENTER_STEP_NAME">>$gui_in
其中
TEXT:
为文字输入命令
Step_name:
为需要赋值的变量名
14:
为字符串长度
ENTER_STEP_NAME:
为标题,当然也是可以为图片
我写的例子:
#==========================================================
#GUI基本设置可移植
setgui_out=/tmp/gui_out.$$
setgui_in=/tmp/gui_in.$$
echo"WIN100100">>$gui_in
#==========================================================
echo"TEXTstep_name12ENTER_STEP_NAME">>$gui_in#txst值输入
echo"DTEXTstep_namezhangxianyong">>$gui_in#默认值
#==========================================================
#GUI基本设置可移植
/genesis/e91/all/gui$gui_in>$gui_out
source$gui_out
#==========================================================
例子效果图:
NOTE:
DTxst默认值预写入
命令格式:
DTEXTfield_namestring
例子:
echo"TEXTstep_name12ENTER_STEP_NAME">>$gui_in
echo"DTEXTstep_namezhangxianyong">>$gui_in
3.2、List选项卡编辑
field_namedisp_numS/Mstart_pos#语法格式为“LISTnamevisnumS/Mstart”
Entry1#field_name为变量的名称。
disp_num可见数目
Entry2#S/M:
singleormultichange。
Pos:
开始行
…
Entryn
END#千万别忘记
代码例子:
#==========================================================
#List元素输入部分代码
echo"LISTstep_name2s1">>$gui_in
echo"pcb1">>$gui_in
echo"custpan">>$gui_in
echo"prodpanel">>$gui_in
echo"END">>$gui_in
#==========================================================
代码效果图:
3.3、RADIO选项卡编辑
RADIOfield_nametitleV/Hcol_numsel_color#field_name变量名title:
提示字符需加''
Entry1#V/H:
表示按钮是显示是垂直还是水平方向。
Entry2#col_num:
为一栏显示按钮的个数
…#sel_color:
选中后颜色
Entryn
END
代码DEMO:
#==========================================================
#RADIO选项卡部分代码
echo"RADIOnum_layers'NumberofLayers:
'H1990000">>$gui_in
echo"1">>$gui_in
echo"2">>$gui_in
echo"4">>$gui_in
echo"6">>$gui_in
echo"10">>$gui_in
echo"END">>$gui_in
#==========================================================
代码效果:
3.4、OPTION选项卡编程
OPTIONfield_nametitle
Entry1
Entry2
…
Entryn
END
代码DEMO
#==========================================================
#OPTION选项卡部分代码
echo"OPTIONtype_layers'TypeofLayersprovided:
'">>$gui_in
echo"Signal">>$gui_in
echo"SilkScreen">>$gui_in
echo"SolderMask">>$gui_in
echo"SolderPaste">>$gui_in
echo"Rout">>$gui_in
echo"Drawing">>$gui_in
echo"END">>$gui_in
#==========================================================
效果图片
3.5、FORM控制语句
简介:
FORM是控制界面的一个语句,作用是将FORM下面的语句放在同一栏上直到出现“ENDFORM”,其语法格式为“FORM[radio][button]”,其中radiobutton是说我们可以用控制RADIO元素使下面的某些元素是否可以进行操作。
2.5.1连续输入两个TEXT代码(横着排列两个TEXT)
#==========================================================
echo"FORM">>$gui_in
echo"TEXTname15FAMILLYNAME:
">>$gui_in
echo"TEXTname25FIRSTNAME:
">>$gui_in
echo"ENDFORM">>$gui_in
#==========================================================
2.5.2radio/buttonfieldtoanotherfield
DEMO:
(注释:
当pcb_type=1时那么TEXT可以使用)
#==========================================================
echo"FORMpcb_type1">>$gui_in
echo"TEXTnum_inners2NUMBEROFINNERLAYER:
">>$gui_in
echo"ENDFORM">>$gui_in
echo"RADIOpcb_type'PCBType:
'H1990000">>$gui_in
echo"Doublesided">>$gui_in
echo"MultiLayer">>$gui_in
echo"END">>$gui_in
#==========================================================
图示:
我的邮箱:
58043816@
本文来自CSDN博客,转载请标明出处:
本文来自CSDN博客,转载请标明出处:
本文来自CSDN博客,转载请标明出处:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GenesisGUI 界面 编程 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)