本人写的且亲测OK,但是好多好友都反应不能运行,放在这看那个大侠帮忙找到问题出在那。 set gui_in = /tmp/gui_in.$$ set gui_out = /tmp/gui_out.$$ echo "WIN 200 200" > $gui_in echo "FG 393429" >> $gui_in echo "BG 307030" >> $gui_in echo "FONT hbl14" >> $gui_in echo "FORM" >> $gui_in echo "TEXT x_scale 8 x_scale: " >> $gui_in echo "TEXT y_scale 8 y_scale: " >> $gui_in echo "ENDFORM" >> $gui_in echo "DTEXT x_scale 1.1">> $gui_in echo "DTEXT y_scale 1.1">> $gui_in echo "RADIO select 'SELECT:' H 1 993333" >> $gui_in echo "Yes continue" >> $gui_in echo "No exit" >> $gui_in echo "END" >> $gui_in echo "CLABEL The snail LiHuaHui edits! Thanks!">>$gui_in $GENESIS_DIR/e$GENESIS_VER/all/gui $gui_in > $gui_out source $gui_out if ($select == 2) then exit else set sym = c.$$ COM get_work_layer set work_layer = "$COMANS" COM units,type=inch COM sel_copy_other,dest=layer_name,target_layer=$sym,invert=no,dx=0,dy=0,size=0 COM display_layer,name=$sym,display=yes,number=2 COM work_layer,name=$sym COM info, out_file=$GENESIS_TMP/info-$$,args= -t layer -e $job/$step/$sym -m script -d LIMITS source $GENESIS_TMP/info-$$ set x1 = $gLIMITSxmin set x2 = $gLIMITSxmax set y1 = $gLIMITSymin set y2 = $gLIMITSymax set xx = `echo "scale=7;($x2 - $x1) / 2 + $x1 "|bc` set yy = `echo "scale=7;($y2 - $y1) / 2 + $y1 "|bc` COM sel_create_sym,symbol=$sym,x_datum=$xx,y_datum=$yy,delete=no,fill_dx=0.1,fill_dy=0.1 COM work_layer,name=$work_layer COM sel_ref_feat,layers=$sym,use=filter,mode=cover COM sel_substitute,mode=substitute,symbol=$sym,tol=1,x_datum=$xx,y_datum=$yy,dcode=0 COM open_entity,job=$job,type=symbol,name=$sym,iconic=no COM work_layer,name=$sym COM sel_transform,mode=anchor,oper=scale,duplicate=no,x_anchor=0,y_anchor=0,x_scale=$x_scale,y_scale=$y_scale COM editor_page_close COM zoom_refresh COM sel_multi_feat,operation=select,feat_types=pad,include_syms=$sym VOF COM sel_break VON COM delete_layer,layer=$sym endif |