GRIP简明教程.docx

上传人:b****6 文档编号:7785674 上传时间:2023-01-26 格式:DOCX 页数:16 大小:20.65KB
下载 相关 举报
GRIP简明教程.docx_第1页
第1页 / 共16页
GRIP简明教程.docx_第2页
第2页 / 共16页
GRIP简明教程.docx_第3页
第3页 / 共16页
GRIP简明教程.docx_第4页
第4页 / 共16页
GRIP简明教程.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

GRIP简明教程.docx

《GRIP简明教程.docx》由会员分享,可在线阅读,更多相关《GRIP简明教程.docx(16页珍藏版)》请在冰豆网上搜索。

GRIP简明教程.docx

GRIP简明教程

UGOpen/Grip簡明教程

$$注釋

$$Grip啟動和編譯:

先找到UG的安裝路徑,如C:

\ProgramFiles\EDS\UnigraphicsNX。

$$  進入該路徑下的UGOPEN目錄,找到grade.bat檔,打開它,將環境變數base_dir

$$設置成setbase_dir=C:

\ProgramFiles\EDS\UnigraphicsNX,保存並運行。

$$Grip程式的編寫和編譯:

在Grip的運行程式中,鍵入4,將你編寫的Grip程式所在的目

$$錄寫入並回車。

在Grip的運行程式中,鍵入1,寫入新建Grip程式的檔案名並回車,此時

$$Grip會打開寫字板,你可以在其中寫入你的程式。

在Grip的運行程式中,鍵入2,寫入

$$所編譯的檔案名,編譯無錯後,鍵入3,寫入所鏈結的檔案名,鏈結無錯後完成。

$$你所編寫的Grip程式保存成*.grs檔,編譯後Grip會生成*.gri檔,鏈結後Grip會

$$生成*.grx檔,此檔為Grip的運行檔。

$$Grip程式的運行:

打開UG,點擊File->Execute->Grip,選擇*.grx檔,就可運行它。

$$編譯時應先編譯子函數檔,生成*.gri,子函數檔不需要鏈結,此時再編譯主函數

$$檔,生成*.gri,最後鏈結成*.grx。

$$Grip主函數檔必須以HALT結束,Grip子函數檔必須以RETURN結束。

$$定義的變數不能超過6個字元,Grip會認為Point_1和Point_2是同一個變數。

$$一行不能超過80個字元,若超過,可用$符號來換行。

$$Grip不區分大小寫,也就是Grip會認為POINT和point都是畫點函數,但是我建議Grip

$$的函數名和關鍵字用大寫,用戶定義的變數用小寫。

但是用戶定義的變數不能和Grip的

$$函數名和關鍵字重名。

$$Grip的幫助檔在C:

\EDS\UnigraphicsNX\UGDOC\html_files\mainlibrary.chm\

$$Open\GRIPReferenceGuide下。

一個簡便的Grip函數查找方法:

打開...\Word&

$$SymbolLists\MajorWordList,根據首字母來查函數。

HALT$$ 結束語

$$注釋

ENTITY/p,l,c$$實體變數定義

NUMBER/i,f(5)$$數值變數定義

STRING/str(10)$$字串變數定義

p=POINT/0,0,0$$畫點

l=LINE/0,0,0,1,1,1$$畫線

c=CIRCLE/CENTER,p,RADIUS,1$$畫圓

HALT$$ 結束語

注釋

ENTITY/p(3)

NUMBER/a(3),b(3,3)

DATA/b,1,2,3,4,5,6,7,8,9$$給b向量賦值

a(1..3)=b(1,1..3)$$讓a向量等於b向量中的第一個值

p

(1)=POINT/a(1..3)

p

(2)=POINT/b(2,1..3)

p(3)=POINT/b(3,1..3)

HALT$$ 結束語

$$注釋

STRING/str1(100)$$定義字串

str1='HelloWorld'$$為字串賦值

MESSG/str1$$顯示字串

HALT$$ 結束語

$$注釋

$$+,-,*,/,**,=$$運算函數

$$SQRTF,LOGF,ABSF,INTF,MODF,MINF,MAXF,SINF,COSF,ASINF,ACOSF,ATANF$$數學函數

$$'$'換行符

NUMBER/a

a=SINF(30)

MESSG/FSTR(a)

 

HALT$$ 結束語

$$注釋

NOTE/0,0,'LABEL1'$$往UG顯示區列印文字

PRINT/'LABEL2'$$往INFOMATION列印文字

MESSG/'LABEL3'$$往資訊框列印文字

HALT$$ 結束語

$$注釋

STRING/str1(100),str2(100)

NUMBER/strlen

str1='abcdefghijklmn'

str2=SUBSTR(str1,2,5)$$取字元

strlen=LENF(str1)$$取字串長度

PRINT/FSTR(3.14)$$浮點型轉換為字串

PRINT/ISTR(strlen)$$整型轉換為字串

PRINT/str2

HALT$$ 結束語

$$注釋

NUMBER/a(3),b(3),c,d(3),e,f(3),g(3)

DATA/a,1,2,3

DATA/b,4,5,6

c=DOTF(a,b)$$向量點乘

d=CROSSF(a,b)$$向量叉乘

e=VLENF(a)$$取向量模

f=SCALVF(10,a)$$向量數乘

g=UNITF(a)$$向量歸一化

PRINT/FSTR(c)

PRINT/FSTR(d

(1))+','+FSTR(d

(2))+','+FSTR(d(3))

PRINT/FSTR(e)

PRINT/FSTR(f

(1))+','+FSTR(f

(2))+','+FSTR(f(3))

PRINT/FSTR(g

(1))+','+FSTR(g

(2))+','+FSTR(g(3))

HALT$$ 結束語

$$注釋

ENTITY/c1,c2,l1

ENTITY/p1,p2,p3,p4,p5,p6,p7,p8

c1=CIRCLE/CENTER,(POINT/1,0,0),RADIUS,1

c2=CIRCLE/CENTER,(POINT/2,0,0),RADIUS,1

l1=LINE/0,0,0,-1,0,0

p1=POINT/CENTER,c1$$取圓心

p2=POINT/YLARGE,INTOF,c1,c2$$取沿y方向最大的交點

p3=POINT/YSMALL,INTOF,c1,c2$$取沿y方向最小的交點

p4=POINT/(POINT/0,-1,0),INTOF,c1,c2$$取離(POINT/0,-1,0)點最近的點

p5=POINT/p1,VECT,(LINE/p2,p3),YLARGE,2$$使p1點沿著p2p3向量往y最大方向偏移2

p6=POINT/c1,ATANGL,45$$取圓45度角點

p7=POINT/p1,DELTA,-2,-2,0$$使p1點偏置(-2,-2,0)

p8=POINT/ENDOF,XSMALL,l1$$取l1線的端點

HALT$$ 結束語

$注釋

ENTITY/c

ENTITY/ln1,ln2,ln3,ln4,ln5,ln6,ln7

c=CIRCLE/CENTER,(POINT/0,0,0),RADIUS,1

ln1=LINE/0,0,0,1,0,0

ln2=LINE/PARLEL,ln1,YLARGE,1$$沿y最大方向平行於ln1線偏置1

ln3=LINE/PARLEL,ln1,YSMALL,TANTO,c$$沿y最小方向平行於ln1和c圓相切

ln4=LINE/(POINT/0,0,0),ATANGL,45$$過(0,0,0)畫45度線

ln5=LINE/(POINT/2,0,0),RIGHT,TANTO,c$$過(2,0,0)切c圓(右手邊)

ln6=LINE/(POINT/0,0,0),PARLEL,ln5$$過(0,0,0)平行ln5線

ln7=LINE/(POINT/0,0,0),PERPTO,ln5$$過(0,0,0)垂直ln5線

HALT$$ 結束語

$$注釋

ENTITY/c1,c2,c3,c4,c5,c6

c1=CIRCLE/CENTER,(POINT/0,0,0),RADIUS,1$$過圓心和半徑畫圓

c2=CIRCLE/CENTER,(POINT/0,0,0),TANTO,(LINE/2,0,0,2,2,0),START,0,END,90$$過圓心與線相切起始角終止角

c3=CIRCLE/CENTER,(POINT/0,0,0),(POINT/3,0,0)$$過圓心和點

c4=CIRCLE/(POINT/4,0,0),(POINT/0,4,0),(POINT/-4,0,0)$$過三點畫圓

HALT$$ 結束語

$$注釋

NUMBER/p(5,3)

ENTITY/sp

DATA/p,0,0,0,1,1,0,2,4,0,3,9,0,4,16,0

sp=SPLINE/(POINT/p(1,1..3)),(POINT/p(2,1..3)),(POINT/p(3,1..3)),$

(POINT/p(4,1..3)),(POINT/p(5,1..3))$$過點畫多樣條曲線(不封閉)

sp=SPLINE/CLOSED,(POINT/p(1,1..3)),(POINT/p(2,1..3)),$

(POINT/p(3,1..3)),(POINT/p(4,1..3)),(POINT/p(5,1..3))

$$過點畫多樣條曲線(封閉)

HALT$$ 結束語

$$注釋

ENTITY/ln(4)

ENTITY/sph1,sph2,block1,cone1,cone2,cyl1,solid1,solid2

sph1=SPHERE/CENTER,(POINT/0,0,0),RADIUS,1$$畫球

sph2=SPHERE/(CIRCLE/CENTER,(POINT/0,0,0),RADIUS,2)$$畫球

block1=SOLBLK/ORIGIN,2,2,2,SIZE,1,1,1$$畫方塊

cone1=SOLCON/ORIGIN,3,3,3,HEIGHT,1,DIAMTR,1,0$$畫圓錐

cone2=SOLCON/ORIGIN,4,4,4,HEIGHT,1,DIAMTR,1,0.5,AXIS,1,0,0$$畫圓臺

cyl1=SOLCYL/ORIGIN,5,5,5,HEIGHT,1,DIAMTR,1$$畫圓柱

ln

(1)=LINE/0,0,0,1,0,0

ln

(2)=LINE/1,0,0,1,1,0

ln(3)=LINE/1,1,0,0,1,0

ln(4)=LINE/0,1,0,0,0,0

solid1=SOLEXT/ln(1..4),HEIGHT,10,AXIS,0,0,1$$拉伸實體

solid2=SOLREV/ln(1..4),ORIGIN,0,0,0,ATANGL,360,AXIS,1,0,0$$旋轉實體

HALT$$ 結束語

$$注釋

ENTITY/ln1,ln2

ENTITY/flt1,pl1,torus1

NUMBER/p_coords(3)

&FONT=&DASHED$$使線型變成虛線

ln1=LINE/0,0,0,1,0,0

&FONT=&SOLID$$使線型變成實線

ln2=LINE/0,0,0,0,1,0

flt1=FILLET/ln2,ln1,CENTER,(POINT/1,1,0),RADIUS,0.2,NOTRIM$$畫倒圓

pl1=PLANE/(POINT/0,0,0),(POINT/1,0,0),(POINT/0,1,0)$$畫平面

torus1=SOLTOR/ORIGIN,0,0,0,RADIUS,1,0.5

p_coords=CPOSF(ln1,0.25)$$取線的中間點

HALT$$ 結束語

$$注釋

ENTITY/b1,b2,b3,b4,b5,b6,b7,b8,b9

b1=SOLBLK/ORIGIN,0,0,0,SIZE,2,2,2

b2=SOLBLK/ORIGIN,1,1,1,SIZE,2,2,2

b3=SOLBLK/ORIGIN,2,2,2,SIZE,2,2,2

b4=SOLBLK/ORIGIN,3,3,3,SIZE,2,2,2

b5=SOLBLK/ORIGIN,4,4,4,SIZE,2,2,2

b6=SOLBLK/ORIGIN,5,5,5,SIZE,2,2,2

b7=UNITE/b1,WITH,b2$$實體相加

b8=INTERS/b3,WITH,b4$$實體相交

b9=SUBTRA/b5,WITH,b6$$實體相減

HALT$$ 結束語

$注釋

NUMBER/mat1(12),mat2(12),mat3(12),mat4(12)

NUMBER/gmat1(12),gmat2(12),mat(12)

ENTITY/ln1,b1,b2

ln1=LINE/0,0,0,0,1,0

b1=SOLBLK/ORIGIN,0,0,0,SIZE,1,1,1

mat1=MATRIX/TRANSL,1,2,3$$生成平移矩陣

mat2=MATRIX/XYROT,45$$生成旋轉矩陣

mat3=MATRIX/MIRROR,ln1$$生成鏡像矩陣

mat4=MATRIX/SCALE,2$$生成縮放矩陣

gmat1=MATRIX/mat1,mat2$$矩陣相乘

gmat2=MATRIX/mat3,mat4$$矩陣相乘

mat=MATRIX/gmat1,gmat2$$矩陣相乘

b2=TRANSF/mat,b1$$將變換物體的矩陣加到物體上

 

HALT$$ 結束語

$$注釋

ENTITY/csys1,csys2,csys3

csys1=CSYS/(POINT/1,1,0),(POINT/1,2,0),(POINT/0,1,0)$$輸入原點,x軸上點,y軸上點建立坐標系

&WCS=csys1$$取當前坐標系為上面所建的坐標系

csys2=CSYS/(LINE/0,0,0,1,1,0),(LINE/0,0,0,-1,1,0)$$輸入x軸和y軸建立坐標系

&WCS=csys2

csys3=CSYS/csys2,ORIGIN,(POINT/1,1,1)$$將坐標系csys2移到其他點上

&WCS=csys3

&WCS=&ABS$$將當前坐標系移到絕對座標系上

HALT$$ 結束語

$$注釋

ENTITY/p(3),grp1,grp2

p

(1)=POINT/0,0,0

p

(2)=POINT/1,1,1

p(3)=POINT/2,2,2

grp1=GROUP/p(1..2)$$組合實體

grp2=GROUP/grp1,p(3)

UNGRP/grp2$$取消組合

 

HALT$$ 結束語

$$注釋

NUMBER/index

index=4

IF/index==1,JUMP/A1:

$$條件語句

IF/index==2,JUMP/A2:

IF/index==3,JUMP/A3:

JUMP/END:

$$跳轉語句

A1:

MESSG/'index=1'

JUMP/END:

A2:

MESSG/'index=2'

JUMP/END:

A3:

MESSG/'index=3'

JUMP/END:

END:

MESSG/'END'

HALT$$ 結束語

$$注釋

DO/LOOP1:

i,1,10,1$$迴圈語句

PRINT/ISTR(i)

LOOP1:

PRINT/'END'

HALT$$ 結束語

$$注釋

NUMBER/p(5,3)

DATA/p,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4

DO/LOOP1:

i,1,5,1$$雙重迴圈

DO/LOOP2:

j,1,3,1

PRINT/ISTR(p(i,j))

LOOP2:

LOOP1:

PRINT/'END'

HALT$$ 結束語

$$注釋

$$==等於,<>不等於,<小於,>大於,<=小於等於,>=大於等於,NOT非,AND與,OR或

NUMBER/index,order

index=1

order=1

IF/index==1,MESSG/'index=1'$$單條件語句

IF/index==2,MESSG/'index=2'

IF/index==3ANDorder==1,MESSG/'index=3'

HALT$$ 結束語

$注釋

NUMBER/a,b

a=2

b=1

IFTHEN/a>b$$多條件語句

MESSG/'a>b'

ELSEIF/a

MESSG/'a

ELSE

MESSG/'a=b'

ENDIF

HALT$$ 結束語

$$注釋

NUMBER/A,B

A=2

B=2

IFTHEN/A<0$$嵌套迴圈

MESSG/'A<0'

ELSEIF/A>0

IFTHEN/B>0

MESSG/'A>0,B>0'

ELSE

MESSG/'A>0,B<0'

ENDIF

ELSE

MESSG/'A=0'

ENDIF

HALT$$ 結束語

$$注釋

ENTITY/ln(4)

ln

(1)=LINE/0,0,0,1,0,0

ln

(2)=LINE/1,0,0,1,1,0

ln(3)=LINE/1,1,0,0,1,0

ln(4)=LINE/0,1,0,0,0,0

CALL/'test24sub',ln$$調用子函數,第一個為函數名,後面的為傳入的形參

HALT$$ 結束語

$$注釋

PROC/ln$$子函數頭,包含傳入的形參

ENTITY/ln(4)$$定義形參變數

ENTITY/body1$$子函數體

body1=SOLEXT/ln,HEIGHT,1,AXIS,0,0,1

RETURN$$ 結束語

$$注釋-1

NUMBER/RESP,NRESP,IRESP,GRESP,PRESP,ORESP

STRING/your_name(100),your_gender(100)

NUMBER/your_id,your_mathmatic,your_english,your_chinese

NUMBER/p_x,p_y,p_z,obj_num

ENTITY/your_object(100)

BACK:

$$選擇功能表:

函數名/提示,功能表1,功能表2......(最多有14個功能表),用戶回應值

CHOOSE/'Chooseoperationtype','InputName','InputInfo',$

'InputGender','InputPoint','SelectObject','Finish',RESP

$$用戶回應值RESP:

1-當用戶點擊Back按鈕時-程式跳到BACK:

$$2-當用戶點擊Cancel按鈕時-程式跳到END:

$$3-此回應值無用-無跳轉

$$4-當用戶需要嵌套下一個對話方塊時-無跳轉

$$5-當用戶點擊InputName按鈕時-程式跳到MENU1:

$$6-當用戶點擊InputInfo按鈕時-程式跳到MENU2:

$$......

$$10-當用戶點擊Finish按鈕時-程式跳到MENU6:

$$用戶回應值

JUMP/BACK:

END:

,,MENU1:

MENU2:

MENU3:

MENU4:

MENU5:

MENU6:

RESP

MENU1:

$$當用戶點擊InputName按鈕時,跳出字串輸入框

$$函數名/提示,返回變數,用戶回應值

TEXT/'Inputyourname',your_name,NRESP

$$用戶回應值NRESP:

1-當用戶點擊Back按鈕時-程式跳到BACK:

$$2-當用戶點擊Cancel按鈕時-程式跳到END:

$$3-當用戶沒有輸入字串而點擊OK按鈕時-無跳轉

$$4-當用戶需要嵌套下一個對話方塊時-無跳轉

$$5-當用戶輸入字串而點擊OK按鈕時-程式跳到BACK:

$$用戶回應值

JUMP/BACK:

END:

,,BACK:

NRESP

MENU2:

$$當用戶點擊InputInfo按鈕時,跳出參數輸入框

$$函數名/提示,參數1名稱,關鍵字表示此參數為整型,返回變數1,

$$參數2名稱,無關鍵字表示此參數為浮點型,返回變數2,

$$參數3名稱,返回變數3,參數4名稱,返回變數4,用戶回應值

PARAM/'Inputyourinformation','ID',INT,your_id,$

'Mathmatic',your_mathmatic,'English',$

your_english,'Chinese',your_chinese,IRESP

$$用戶回應值IRESP:

1-當用戶點擊Back按鈕時-程式跳到BACK:

$$2-當用戶點擊Cancel按鈕時-程式跳到END:

$$3-當用戶點擊OK按鈕時-程式跳到BACK:

$$4-當用戶需要嵌套下一個對話方塊時-無跳轉

$$用戶回應值

JUMP/BACK:

END:

BACK:

,IRESP

MENU3:

$$當用戶點擊InputGender按鈕時,跳出選擇對話方塊

$$注釋-2

 

CHOOSE/'Inputyourgender','Male','Female',GRESP

JUMP/BACK:

END:

,,GMENU1:

GMENU2:

GRESP

GMENU1:

your_gender='Male'

JUMP/BACK:

GMENU2:

your_gender='Female'

JUMP/BACK:

MENU4:

$$當用戶點擊InputPoint按鈕時,跳出選取點對話方塊

$$函數名/提示,返回點x座標,返回點y座標,返回點z座標,用戶回應值

GPOS/'Inputyourpoint',p_x,p_y,p_z,PRESP

$$用戶回應值PRESP:

1-當用戶點擊Back按鈕時-程式跳到BACK:

$$2-當用戶點擊Cancel按鈕時-程式跳到END:

$$3-當用戶點擊OK按鈕時-程式跳到BACK:

$$4-此回應值無用-無跳轉

$$5-當用戶選擇點後-程式跳到BACK:

$$用戶回應值

JUMP/BACK:

END:

BACK:

,BACK:

PRESP

MENU5:

$$當用戶點擊InputObject按鈕時,跳出選擇物體對話方塊

$$函數名/提示,返回實體變數,關鍵字表示允許多選物體,

$$返回選擇物體數量,用戶回應值

IDENT/'Inputyourobject',your_object,CNT,obj_num,ORESP

$$用戶回應值ORESP:

1-當用戶點擊Back按鈕時-程式跳到BACK:

$$2-當用戶點擊Cancel按鈕時-程式跳到END:

$$3-當用戶點擊OK按鈕時-程式跳到BACK:

JUMP/BACK:

END:

BACK:

ORESP

MENU6:

PRINT/'YourName:

'+your_n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1