版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)輔助設(shè)計(CAD)及應(yīng)用2023/12/14關(guān)于CAD系統(tǒng)適用性的幾個問題“CAD系統(tǒng)僅僅是一塊需要花很多錢的‘高級圖板’!”——這種說法對嗎?UG生成的模型能否供其它異構(gòu)的CAD系統(tǒng)(如Pro/E、AutoCAD等)使用?反之行嗎?如何才能用UG系統(tǒng)同時完成機(jī)械零件(如齒輪)的參數(shù)計算和結(jié)構(gòu)建模設(shè)計(即參數(shù)化設(shè)計)?可以將一個通用CAD軟件系統(tǒng)改造成滿足用戶個性化需求的高效專用的系統(tǒng)嗎?2023/12/14當(dāng)前CAD技術(shù)面臨的基本問題問題一、以幾何建模技術(shù)為核心,不能充分地滿足產(chǎn)品設(shè)計需求。問題二、各自自然發(fā)展起來的異構(gòu)的CAD系統(tǒng),形成了多個“信息化孤島”。問題四、必須提供工具和方法,使用戶能夠自主擴(kuò)展商用CAD系統(tǒng)的功能,解決工程設(shè)計問題。問題三、則重系統(tǒng)的通用性和用戶的覆蓋面,
“功能豐富、效率不高”是商用CAD系統(tǒng)的普遍問題。2023/12/14本章學(xué)習(xí)要求與學(xué)習(xí)方法★了解
CAD支撐軟件二次開發(fā)的目的、途經(jīng)和方法。第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)★掌握
UG/OPENGRIP二次開發(fā)編程技術(shù)。★學(xué)習(xí)訣竅:明確二次開發(fā)目標(biāo)、體會編程差異、熟悉系統(tǒng)資源、重視讀寫結(jié)合、堅持多編程多調(diào)試。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
3、改善CAD支撐軟件系統(tǒng)的適用性。將程序設(shè)計語言與系統(tǒng)資源緊密結(jié)合解決問題。第1節(jié)CAD系統(tǒng)二次開發(fā)的環(huán)境與途徑
2、提高CAD支撐軟件系統(tǒng)的使用效率。通過開發(fā)專用菜單、命令、模型庫等實(shí)現(xiàn)。
★CAD支撐軟件系統(tǒng)二次開發(fā)的目的(三大目標(biāo))
1、實(shí)現(xiàn)異構(gòu)CAD軟件系統(tǒng)之間的數(shù)據(jù)共享。利用STEP、IGES等數(shù)據(jù)交換標(biāo)準(zhǔn)和接口軟件。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆利用CAD系統(tǒng)的嵌入式語言或API開發(fā)方法第1節(jié)CAD系統(tǒng)二次開發(fā)的環(huán)境與途徑
◆通用CAD軟件系統(tǒng)用戶化開發(fā)方法
★CAD支撐軟件系統(tǒng)二次開發(fā)的三類主要方法
◆數(shù)據(jù)文件共享開發(fā)方法
☆
OPENGRIP是UG的一個重要模塊,它有完整的語法規(guī)則、程序結(jié)構(gòu)、內(nèi)部函數(shù),是一種嵌入在UG中的程序設(shè)計語言。GRIP程序經(jīng)過編譯、鏈接,生成可執(zhí)行文件之后才能運(yùn)行。
☆
GRIP具有簡單、易學(xué)、交互性能強(qiáng)的優(yōu)點(diǎn),是面向工程師的二次開發(fā)語言,要求具備一定的UG三維建模基礎(chǔ)。
☆
利用GRIP(GraphicsInteractiveProgramming)
程序能夠?qū)崿F(xiàn)對UG的各種交互操作,如創(chuàng)建幾何體、管理文件、控制系統(tǒng)參數(shù)、存取UG數(shù)據(jù)庫等。UG/OPENGRIP☆
UG/OPENAPI(又稱UserFunction)是一個允許程序訪問并改變UG對象模型的程序集。它封裝了近2000個UG操作函數(shù)?!?/p>
UG/OPENAPI可以方便地對UG圖形終端、文件管理系統(tǒng)和數(shù)據(jù)庫進(jìn)行操作,絕大多數(shù)UG操作都可以用UG/OPENAPI函數(shù)實(shí)現(xiàn)。開發(fā)者通過使用VC++調(diào)用這些函數(shù),達(dá)到系統(tǒng)用戶化的目的。UG/OPENAPI
運(yùn)用UG/OPENAPI能夠?qū)崿F(xiàn):
①對UG模型及文件進(jìn)行操作,包括建立模型、查詢模型對象、建立并遍歷裝配體、創(chuàng)建工程圖等;
②在UG主界面中創(chuàng)建用戶交互式界面;③創(chuàng)建并管理用戶定義對象等。這些函數(shù)和過程分別在…/ugopen目錄下的頭文件(.h)中定義。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆UG/GRIP實(shí)用編程基礎(chǔ)。清華大學(xué)出版社,王慶林。2002★本章以UG的嵌入式語言O(shè)PENGRIP為例,講解通用CAD支撐軟件系統(tǒng)的二次開發(fā)技術(shù)基礎(chǔ)
參考書:
◆UG在線幫助文檔和教材的附錄
◆計算機(jī)輔助設(shè)計原理(CAD)和應(yīng)用技術(shù)。湖南大學(xué)大學(xué)出版社,劉子建等。19982023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開發(fā)環(huán)境軟件環(huán)境和語法基礎(chǔ);2.數(shù)據(jù)類型及其操作;3.程序結(jié)構(gòu)(順序、分支、循環(huán)結(jié)構(gòu),子程序等)4.語言的特殊功能(如GRIP的交互式操作、實(shí)體生成與控制等)
★程序設(shè)計學(xué)習(xí)的主要內(nèi)容2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開發(fā)環(huán)境1.進(jìn)入UGTools/UGOpenGRIP(GRADE);(1)點(diǎn)擊“開始”—“所有程序”——SiemensNX8.0—NX工具——NXOpenGrip即可啟動GRADE(注:只要成功運(yùn)行了“NX許可工具”,GRADE可以單獨(dú)使用)(2)GRADE的界面如下:
★NX/OpenGrip程序設(shè)計一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開發(fā)環(huán)境
★NX/OpenGrip程序設(shè)計一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開發(fā)環(huán)境2.編寫源程序,得.grs文件(用記事本編寫);3.編譯(Compile)得.gri文件;4.鏈接(Link)得.grx文件;5.在UG中運(yùn)行(Ctrl_G)文件—執(zhí)行—Grip…運(yùn)行.grx文件。注:通過“幫助”—“命令查找器”可以顯示隱藏了的“執(zhí)行”命令。
★NX/OpenGrip程序設(shè)計一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UG/OPENGRIP開發(fā)環(huán)境
◆GRIP命令的三種格式陳述格式(StatementFormat)——SF格式全局參數(shù)存取格式(GlobalParameterAccess)
——GPA格式實(shí)體數(shù)據(jù)存取格式(EntityDataAccess)
——EDA格式
★GRIP程序結(jié)構(gòu)及語言命令的三種格式
◆程序由若干條GRIP語句組成,語句由GRIP命令組成2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UG/OPENGRIP開發(fā)環(huán)境1、SF格式命令由主詞、輔詞和參數(shù)構(gòu)成,中間用“/”分開只有主詞(參數(shù))就形成OPENGRIP的標(biāo)準(zhǔn)函數(shù)陳述格式命令包括標(biāo)準(zhǔn)函數(shù)、幾何變換、投影變換、曲線曲面、幾何實(shí)體生成、實(shí)體編輯、定義字體和線型、定義坐標(biāo)系、顯示控制、文件操作等400多個命令
◆GRIP命令的三種格式
由主詞、輔詞和參數(shù)構(gòu)成,中間用“/”分開
ln1=LINE/0,0,0,10,0,0$$在由(0,0,0)和點(diǎn)(10,0,0)生成一條直線
ln=LINE/PARLEL,ln1,YSMALL,1.0$$在直線ln1下方1.0處繪制一條平行線例題:ENTITY/ln1,ln2,cl1,ptln1=LINE/0,0,0,1800ln2=LINE/PARLEL,ln1,XSMALL,1000pt=POINT/-500,1800cl1=CIRCLE/CENTER,pt,RADIUS,500,180HALT☆常用輔詞表輔詞功能輔詞功能輔詞功能AXIS軸BLANK隱藏CENTER中心CNT計數(shù)CROSS橫向CLOSED閉合CSYS坐標(biāo)系DELTA增量DELETE刪除KNOT節(jié)點(diǎn)ENDOF…的端點(diǎn)DIAMTR直徑LEFT左邊IFERR如果錯誤NOTRIM不修剪ON在…上INTOF…的交點(diǎn)ORIGIN原點(diǎn)OPEN開口(曲線)PRIMA主方向PARLEL平行于SIZE邊數(shù)START開始(角)PERPTO垂直于THRU通過TANTO相切于RADIUS半徑VECT矢量TOLER容差RIGHT右邊2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UG/OPENGRIP開發(fā)環(huán)境2、GPA格式命令以“&”開頭,最長為6個字母,用GPA命令可訪問(設(shè)置)和存取UG的系統(tǒng)變量GPA命令有確定的與系統(tǒng)變量相關(guān)的含義、數(shù)據(jù)類型和參數(shù)取值范圍GPA命令共有180個左右。如&ENTCLR=&red、&FONT=1、&HMAT=&steel等
◆GRIP命令的三種格式2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第2節(jié)UG/OPENGRIP開發(fā)環(huán)境3、EDA格式命令以“&”開頭,用于訪問UG數(shù)據(jù)庫中的各種資源EDA命令有確定的存取類型、數(shù)據(jù)類型等要求EDA命令可以訪問UG數(shù)據(jù)庫中所有實(shí)體屬性、幾何參數(shù)、位置坐標(biāo)等,包括120多個命令。如&TYPE(obj)、&LAYER(obj)、&NORMAL(0bj)等
◆GRIP命令的三種格式ENTITY/ln1,ln2&ENTCLR=&yellow$$設(shè)置實(shí)體顏色&FONT=1$$設(shè)置實(shí)體線型為實(shí)線ln1=LINE/0,0,4,0$$直線ln1為黃色實(shí)線&FONT=2$$設(shè)置線型為虛線ln2=LINE/4,4,0,4$$直線ln2為黃色虛線HALT將已有直線的顏色改為紅色(寫功能)&COLOR(ln1)=&red提取點(diǎn)pt1的坐標(biāo)值(讀功能),放入數(shù)組cd(3)中cd=&POINT(pt1)序號功能EDA命令訪問類型數(shù)據(jù)類型范圍1線型&FONT(ent)RWNUMBER1..72顏色&COLOR(ent)RWNUMBER1..153線寬&LWIDTH(ent)RWNUMBER1..34層&LAYER(ent)RWNUMBER1..256☆常用的實(shí)體數(shù)據(jù)存?。‥DA)命令2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆初始化語句部分第2節(jié)UG/OPENGRIP開發(fā)環(huán)境
★GRIP程序組成
◆申明語句部分
◆交互語句部分
◆過程處理語句部分
◆結(jié)束語句部分(HALT語句)2023/12/14GRIP程序結(jié)構(gòu)例子:$$申明語句部分
ENTITY/ln1,ln2,ln3,pt(20)STRING/str(30)NUMBER/a(10),B(2,3),c(2,3,2)$$初始化語句部分
DATA/a(10),1,2,3,4,5,6,7,8,9,10DATA/str(30),’ThisisagoodGRIPprogram.’k=k+1$$交互式語句部分
IDENT/’Pickpoint’+ISTR(k),pt(k),rsp$$選擇和識別實(shí)體
CHOOSE/’Chooseoption’,’Nextpoint’,’CreateB-curve’,rsp$$菜單選擇
GPOS/’Pickdirpoint’+ISTR(k),x1,y1,z1,rsp$$打開點(diǎn)構(gòu)造菜單,選擇點(diǎn)$$過程處理語句部分
ln1=LINE/4,4,0,4ln2=LINE/0,4,0,0&NAME(ln1)=‘LINEONE’$$EDA命令
&NAME(ln2)=‘LINETWO’$$結(jié)束語句部分
HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆語句標(biāo)號從小到大,或有一定規(guī)律性;第2節(jié)UG/OPENGRIP二次開發(fā)環(huán)境
★GRIP編程注意事項
◆采用分段縮進(jìn)方式書寫,多用注釋語句,增強(qiáng)程序的可讀性;
◆變量名應(yīng)與工程術(shù)語相近,便于理解;
◆主詞和輔詞通常用大寫,變量用小寫,便于閱讀。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆字符串變量(包括簡單與下標(biāo)變量)第3節(jié)GRIP語言基礎(chǔ)
★變量的分類(三類變量)
◆數(shù)字變量
?下標(biāo)變量
◆實(shí)體變量(包括簡單與下標(biāo)變量)
?簡單變量2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆可以是全字母或者字母與數(shù)字的組合;第3節(jié)GRIP語言基礎(chǔ)
★GRIP變量命名的規(guī)則
◆長度不得超過32個字符;
◆不得含有逗號“,”和特殊字符如“$”、“@”、“&”等?!舻谝粋€字符必須是字母;2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆(下標(biāo))字符串變量的申明STRING/name([dim1,[dim2]],n)[,name([dim1,[,dim2]),n]]+例如:STRING/str1,ch(10),frm(2,80)第3節(jié)GRIP語言基礎(chǔ)
★GRIP變量的聲明
◆(下標(biāo))數(shù)字變量的申明NUMBER/name(dim1[,dim2[,dim3]])[,name(dim1[,dim2[,dim3]])]+例如:NUMBER/d1,r1,a(10),b(2,5),c(3,5,10)
◆(下標(biāo))實(shí)體變量的申明ENTITY/name[(dim1[,dim2[,dim3]])][,name[(dim1[,dim2[,dim3]])]]+例如:ENTITY/ln,pt(20),cl(4,5)2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)
◆一般賦值語句第3節(jié)GRIP語言基礎(chǔ)
★GRIP賦值語句
◆算術(shù)運(yùn)算符及其優(yōu)先順序(p112)
◆也可以用DATA/語句賦值,如
用等式賦值,等式左邊是被賦值的變量,右邊是值NUMBER/m,n(3)STRING/ch(3,30)DATA/m,5.0,n,6.0,7.0,8.0,ch,’Information’,’Business’,’PDM’2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★GRIP賦值語句
?&NULSTR是GPA常數(shù),表示一個空的字符串,它用于賦一個空值給字符串變量;
◆賦空值
?&NULENT是GPA常數(shù),表示一個空的實(shí)體,它用于賦一個空值給實(shí)體變量。STRING/str(50)ENTITY/part_edge(4)str=&NULSTR$$GPA常數(shù),表示一個空字符串part_edge(1)=LINE/0,0,0,1,2,0part_edge(2)=&NULENT$$GPA常數(shù),表示一個空實(shí)體2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★
GRIP賦值語句
◆實(shí)體變量賦值語句——賦值結(jié)果是生成了一個實(shí)體
例1:ENTITY/pt,clpt=POINT/0,1cl=CIRCLE/CENTER,pt,RADIUS,1.5,START,0,END,180HALT
例2:ENTITY/ptNUMBER/cd(3)MASK/2$$只有點(diǎn)實(shí)體可選
l1:IDENT/’Pickapoint’,pt,respJUMP/l1:,term:,,respcd=&POINT(pt)$$EDA命令,提取點(diǎn)pt的坐標(biāo)值,賦給變量cdPRINT/cdterm:HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)◆矢量函數(shù)使用例題例1:ENTITY/pt,lNUMBER/a(3)l=LINE/0,0,4,3a=CPOSF(l,0.5)$$CPOSF(ent,$$
scalar)定義線上的位置
pt=POINT/aHALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)◆矢量函數(shù)使用例題例2:ENTITY/surfNUMBER/a(3),b(3)MASK/43$$只能選擇B-surfacel1:IDENT/’Pickasurface’,surf,respJUMP/l1:,term:,,respa=SDDUF(surf,0.5,0.6)$$SDDUF(ent,u,v)對u求偏導(dǎo)數(shù)
b=SDDVF(surf,0.5,0.6)$$SDDVF(ent,u,v)對v求偏導(dǎo)數(shù)
PRINT/a,bterm:HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★嵌套語句
◆
GRIP語法規(guī)定,在一個GRIP語句中可以嵌入另一個GRIP語句,這種GRIP語句稱之為嵌套語句或復(fù)合語句。例如:ln=LINE/(pt1=POINT/0,1),(pt2=POINT/4,5)
◆
在復(fù)合語句內(nèi)嵌套的語句必須是一個完整的語句并且要用圓括號括起來。GRIP規(guī)定,在一個GRIP語句中,嵌套的語句層數(shù)不得超過10。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組
◆字符串?dāng)?shù)組
◆實(shí)體數(shù)組2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組?一維數(shù)組下面的程序中,art就是一個一維數(shù)組。
ENTITY/ptNUMBER/art(3)DATA/art,0,100,100pt=POINT/artHALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組
?二維數(shù)組例如:NUMBER/a(5,2)DATA/a,2.1,7.8,5.6,9.2,1,0,0,0,0,2.9
列行列1列2列3列4列5行1行2A(1,1)=2.1A(1,2)=7.8A(2,1)=5.6A(2,2)=9.2A(3,1)=1A(3,2)=0A(4,1)=0A(4,2)=0A(5,1)=0A(5,2)=2.92023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組
?三維數(shù)組NUMBER/b(4,3,2)DATA/b,1,2,3,4,5,6,7,8,9,10,11,12,$13,14,15,16,17,18,19,20,21,22,23,24
列深行列1列2列3列4深深深深12121212行1127813141920行23491015162122行3561112171823242023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★字符串?dāng)?shù)組
◆例如:STRING/str1(20),str2(3,30)等。
★實(shí)體數(shù)組
◆例如:ENTITY/pt(4),sq(2,3)等;特別地:sq(1,1..3)是數(shù)組子集,表示sq(1,1)、sq(1,2)、sq(1,3)三個實(shí)體數(shù)組元素。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★子集
◆定義:子集是一個數(shù)組的一部分元素的集合,用“(下標(biāo)..上標(biāo))”表示。子集是對整個數(shù)組變量而言的。
◆常見的子集表達(dá)方法:1、常數(shù)子集:c1(2..5),c2(3*3..12)2、固定長度數(shù)組子集:n1(j..j+5),n2(i,j,k..k+3)3、變量數(shù)組子集:n(ABSF(x+3)..i*2)
◆子集使用的規(guī)定:上標(biāo)>下標(biāo),DATA語句中不能使用子集2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★程序流程控制語句
◆無條件轉(zhuǎn)移語句(對應(yīng)于GOTO語句)?當(dāng)程序執(zhí)行到該語句時,立即轉(zhuǎn)向,執(zhí)行語句標(biāo)號所指的語句;?格式:
JUMP/label:$$label:為語句標(biāo)號2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★程序流程控制語句
◆條件轉(zhuǎn)移語句(對應(yīng)于ON...GOTO語句)
?語句根據(jù)條件表達(dá)式(Expression)的值實(shí)現(xiàn)程序運(yùn)行的轉(zhuǎn)移?格式:JUMP/{label:}+,Expression?例如,下面的程序段將根據(jù)resp的返回值控制程序運(yùn)行的順序CHOOSE/’Chooseoption’,’Nextcurve’,’Createsurf’,respJUMP/rej1:,trm:,,,110:,210:,resp?用于交互式語句的表達(dá)式變量resp作用說明:
當(dāng)resp的值為1時,程序跳轉(zhuǎn)到rej1:,為2時跳轉(zhuǎn)到trm:,為3和4時為空語句,即當(dāng)resp的值為3或4時不轉(zhuǎn)移,程序繼續(xù)向下執(zhí)行,選擇“N..”、“C..”時分別跳轉(zhuǎn)到110:和210:。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★構(gòu)成表達(dá)式(Expression)的關(guān)系運(yùn)算符和邏輯運(yùn)算符
◆關(guān)系運(yùn)算符:一共有6種,分別是==、<>、<、<=、>、>=
◆邏輯運(yùn)算符:一共有與(AND)、或(OR)、非(NOT)三種
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★邏輯IF語句
(簡單分支語句)
◆邏輯IF語句中,當(dāng)表達(dá)式為真時,執(zhí)行隨后的語句(Statement
)。
◆格式:IF/Expression,Statement
◆例如:IF/a<88,x=99
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★條件IF語句(三分支語句)
◆格式:
IF/NumericalExpression,[label1:,][label2:,][label3:]
◆當(dāng)數(shù)字表達(dá)式的值<0時執(zhí)行第一個標(biāo)號后的語句,等于0時執(zhí)行第二個語句標(biāo)號后的語句,>0時則執(zhí)行第三個語句標(biāo)號后的語句
◆如下面程序的運(yùn)行情況
IF/ASCII(ch)—65,,100:,$$表達(dá)式=0時轉(zhuǎn)向100:
$$其余轉(zhuǎn)向空2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★塊IF語句(多分支語句,有多個表達(dá)式)
◆需要在某些條件滿足時進(jìn)行某種操作,不滿足時則進(jìn)行另一種操作??梢杂脡KIF語句實(shí)現(xiàn)這種功能。
◆格式:
IFTHEN/Expression1Statementblock1[ELSEIF/Expression2Statementblock2][ELSEStatementblock3]ENDIF
◆請看下面的例題例5-1:有下圖所示控制規(guī)律,畫出其流程圖并編寫GRIP程序段。ot1tt2t3xtx0At>t3t>t2t>t1t>t0x=0Nullx=x0+t*(A-x0)/t1x=Ax=A*(t3-t)/(t3-
t2)
IFTHEN/t>t3x=0ELSEIF/t>t2x=a*(t3-t)/(t3-t2)ELSEIF/t>t1x=aELSEIF/t>0x=x0+t*(a-x0)/t1ELSEPRINT/’Nodefinition’ENDIF
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★循環(huán)語句——“當(dāng)型”循環(huán)
◆“當(dāng)型”循環(huán)用IFTHEN語句(對應(yīng)于塊IF語句)和JUMP語句組合實(shí)現(xiàn)。從IFTHEN語句的表達(dá)式的值來判斷是否進(jìn)行循環(huán)。當(dāng)表達(dá)式的值為“真”時進(jìn)行循環(huán)。
◆格式:
label:IFTHEN/ExpressionStatementblockJUMP/label:ENDIF2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)◆當(dāng)循環(huán)例題例1:STRING/chNUMBER/ich=‘CONDITIONA’i=1str:IFTHEN/CMPSTR(SUBSTR(ch,i,1),‘’)<>0i=i+1
JUMP/str:ENDIFPRINT/SUBSTR(ch,1,i)$$打印“CONDITION”HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★循環(huán)語句——“直到型”循環(huán)
◆“直到型”循環(huán)用邏輯IF語句實(shí)現(xiàn)。先執(zhí)行循環(huán)體內(nèi)的各語句,遇到邏輯IF語句時,對表達(dá)式進(jìn)行求值,如果結(jié)果為真,則再執(zhí)行一次循環(huán)體內(nèi)語句,直到表達(dá)式的值為“假”時結(jié)束循環(huán)。
◆格式:
label:StatementblockIF/Expression,JUMP/label:2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★循環(huán)語句——DO循環(huán)
◆用DO語句實(shí)現(xiàn)的循環(huán)稱為DO循環(huán)。DO循環(huán)由一個DO語句的循環(huán)體組成。
◆格式:
DO/label:,Variable,start,end[,increment]Statementblocklabel:2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★有關(guān)DO循環(huán)的一些規(guī)定
◆循環(huán)步長(increment)是可選項,缺省值為1;◆循環(huán)變量Variable的初值、終值、步長可以分別是常數(shù)、變量和表達(dá)式。如果是變量則應(yīng)先賦值,如果是
表達(dá)式則先對表達(dá)式求值;◆循環(huán)次數(shù)可以從循環(huán)初值、終值、步長計算出來;◆循環(huán)變量在循環(huán)體內(nèi)不能再賦新值;◆循環(huán)變量的初值、終值、步長在循環(huán)期間不能改變;◆可向循環(huán)體外轉(zhuǎn)移,但不能向循環(huán)體內(nèi)轉(zhuǎn)移;◆從非正常出口轉(zhuǎn)出時,循環(huán)變量保持當(dāng)前值。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)◆子程序及其調(diào)用
規(guī)定:1)子程序以PROC/
語句開始
2)以RETURN語句結(jié)束
3)子程序必須由主程序或其它子程序調(diào)用才能運(yùn)行例1:$$
Subroutinename:sub1.grs——編寫子程序并以sub1.grs保存
$$
Abstract:提取實(shí)體端點(diǎn)數(shù)據(jù)$$
PROC/
ent,sp(3),ep(3)ENTITY/entNUMBER/sp(3),ep(3)sp=&SPOINT(ent)$$實(shí)體ent起點(diǎn)的(x,y,z)坐標(biāo)
ep=&EPOINT(ent)$$實(shí)體ent終點(diǎn)的(x,y,z)坐標(biāo)
RETURN2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)子程序的一般格式:
PROC[/形式參數(shù)表]
變量申明語句
子程序主體
RETURN$$可以有多個RETURN主程序的調(diào)用命令
CALL/‘子程序名’〔,實(shí)際參數(shù)表〕
$$虛實(shí)結(jié)合傳遞數(shù)據(jù)
ⅰ、子程序的形式參數(shù)可以是ENTITY,STRING,NUMBER等變量名,也可以是一般變量。
ⅱ、子程序和主程序分開編譯,通過GRIP的LINK鏈接。子程序調(diào)用數(shù)量最多不超過50個。
ⅲ、形式參數(shù)與對應(yīng)的實(shí)際參數(shù)的數(shù)據(jù)類型相同,個數(shù)相等。
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)例2:編寫主程序
$$主程序名:main1.grs
$$被調(diào)用的子程序名:sub1.grs
$$
ENTITY/entNUMBER/a(3),b(3)MASK/3$$限定線(LINE)可被操作ld:IDENT/’Pickline’,ent,respJUMP/ld:,trm:,,resp
CALL/’sub1’,ent,a,b,
$$調(diào)用子程序:sub1PRINT/a,bMASK/all$$所有實(shí)體均可被操作trm:HALT2023/12/14關(guān)注CAD軟件技術(shù)的幾個“123”!CAD軟件的三種類型?CAD的三種主要模型?CAD支撐軟件二次開發(fā)的三個主要目的?CAD支撐軟件二次開發(fā)的三種主要方法?結(jié)構(gòu)化程序的三個部分?程序設(shè)計的三種主要結(jié)構(gòu)?OPENGRIP的三種命令?OPENGRIP的三類變量?OPENGRIP的三種數(shù)組?2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句
◆在UG/GRIP中,人機(jī)交互語句很重要,用戶利用它來與UG系統(tǒng)對話,完成人機(jī)交互操作。人機(jī)交互操作在用戶開發(fā)GRIP應(yīng)用程序時需要經(jīng)常用到。
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句
(P117-P122)▲POS/:供用戶用光標(biāo)選擇屏幕上的一個點(diǎn);◆常見的GRIP交互語句▲CHOOSE/:顯示對話框,供用戶進(jìn)行單項選擇;▲GPOS/:打開點(diǎn)構(gòu)造菜單,供用戶交互式生成一個點(diǎn);▲MCHOOSE/:顯示對話框,供用戶進(jìn)行多項選擇;▲PARAM/:供用戶完成多個參數(shù)的交互式賦值;▲
IDENT/:供用戶完成實(shí)體的選擇,并顯示實(shí)體名;▲TEXT/:供用戶輸入字符串變量的值;▲MESSG/:顯示提示等信息。
2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句
▲交互式語句都包含響應(yīng)變量,執(zhí)行時會產(chǎn)生確定的響應(yīng)變量返回值。不同的交互語句,對應(yīng)于用戶的不同操作,返回的響應(yīng)變量值也不同。交互式語句通常與JUMP語句配對使用,其響應(yīng)變量與JUMP語句的表達(dá)式一一對應(yīng)?!艚换ナ秸Z句的響應(yīng)變量▲各種人機(jī)交互式語句響應(yīng)變量返回值見P118表5-62023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句
▲DEFLT,n表示默認(rèn)項為n;▲ALTACT,‘Message’,表示在交互界面(選擇)中,顯示提示信息;▲INT,variable表示變量為整數(shù)形式;▲CNT,count表示所選擇的實(shí)體的數(shù)目;▲CURSOR,x,y,z表示把光標(biāo)位置的坐標(biāo)賦給x,y,z變量;▲MEMBER,ON|OFF表示是否打開GROUPS或
COMPONENTS,選擇其成員。◆交互式語句格式說明的常用字符2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:POS/’messag’,x,y,z,respJUMP/Back,Cancel,Notused,Notused,posdef,respposdef為光標(biāo)選取的屏幕上點(diǎn)的坐標(biāo)值?!糁甘酒聊稽c(diǎn)位置的命令2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:GPOS/’messag’,x,y,z,respJUMP/Back,Cancel,Notused,Notused,posdef,respposdef為點(diǎn)構(gòu)造器構(gòu)造的點(diǎn)的坐標(biāo)。
◆使用點(diǎn)構(gòu)造器生成點(diǎn)的命令
ENTITY/p(4)l10:POS/‘Definefirstcorner',x1,y1,z1,respJUMP/l10:,trm:,,,,respl20:GPOS/‘Definesecondcorner',x2,y2,z2,respJUMP/l20:,trm:,,,,respp(1)=LINE/x1,y1,z1,x2,y1,z1p(2)=LINE/x2,y1,z1,x2,y2,z1p(3)=LINE/x2,y2,z1,x1,y2,z1p(4)=LINE/x1,y2,z1,x1,y1,z1trm:HALT例題:2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:CHOOSE/stringlist,[deflt,n,][altact,’messg’,]respJUMP/Back,Cancel,Notused,Alt-action,Option,resp返回值為5-18時對應(yīng)于菜單選項Option。
◆創(chuàng)建用戶對話框完成單項選擇的命令
響應(yīng)變量resp值響應(yīng)變量resp值
Back
1
Option#1
5
Cancel
2
Option#2
6
Notused
3
…
…
Alternateaction
4
Option#14
18回憶前面講到的程序段:CHOOSE/’Chooseoption’,’nextcurve’,’createline’,respJUMP/rej1:,trm:,,,110:,210:,resp當(dāng)resp=1時,轉(zhuǎn)向rej1:,resp=2時,轉(zhuǎn)向trm:,resp=3,4時,轉(zhuǎn)向空語句標(biāo)號,即不轉(zhuǎn)移,程序向下執(zhí)行,resp=5時,轉(zhuǎn)向110:,resp=6時,轉(zhuǎn)向l20:,ENTITY/cr1,cr2,lncr1=CIRCLE/0,0,1rej1:CHOOSE/‘Chooseoption’,‘Nextcurve’,‘Createline’$,respJUMP/rej1:,trm:,,,l10:,l20:,respl10:cr2=CIRCLE/3,0,2JUMP/trm:l20:ln=LINE/1,1,6,6trm:HALT例題:2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:MCHOOSE/primarystring,menuoptions,resparray,respJUMP/Back,Cancel,Notused,Alt-action,resp用戶對menuoptions選擇的結(jié)果保存在resparray中。◆創(chuàng)建用戶對話框完成多項選擇的命令
響應(yīng)變量resp值
Back
1
Cancel
2
OK
3
Alternateaction
4NUMBER/catvar(5)STRING/catstr(5,40)DATA/catstr,’addlayers’,’removelayers’,’deletecategory’,$‘enter/changedescription’,’removecategorydescription’DATA/catvar,0,0,0,0,0l1:MCHOOSE/’SELECTCATOPTIONS’,catstr,catvar,respJUMP/l1:,hal:,,,respPRINT/catvarMESSG/TEMP,’demosMCHOOSEstatement’hal:HALT例題:標(biāo)識選項是否選中Catvar用來存放項是否被選中:選中值為1,否則值為02023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:PARAM/’messg’,’option’[,INT],variable,respJUMP/Back,Cancel,OK,Alt-action,resp用戶對變量的賦值最多可以有14個?!艚o參數(shù)賦值的命令
響應(yīng)變量resp值
Back
1
Cancel
2
OK
3
Alternateaction
4NUMBER/len1,h1,w1,dist1,d1ENTITY/s1DATA/len1,1,h1,3,w1,4,dist1,2,d1,10$$默認(rèn)值l10:PARAM/‘GetSolid','len',len1,'hei',h1,'wid',w1,$'dist',dist1,'dia',d1,respJUMP/l10:,hal:,,,resps1=SOLCYL/ORIGIN,0,0,0,HEIGHT,h1,DIAMTR,d1hal:HALT
例題:2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:IDENT/'message',objList[,CNT,count][,CURSOR,x-coord,y-coord,z-coord],respJUMP/Back,Cancel,OK,Alt-action,resp◆交互式識別和選擇實(shí)體的命令
響應(yīng)變量resp值
Back
1
Cancel
2
OK
3
ENTITY/bc,pt(100)l10:MASK/2IDENT/'Pickpoint'+ISTR(k),pt,CNT,k,resp$$指示多個點(diǎn)
JUMP/l10:,term:,,respIF/k<=1,JUMP/err1:l20:bc=BCURVE/pt(1..k)$$生成B曲線
JUMP/term:err1:MESSG/'Youmustselectmorepoints'JUMP/l10:term:HALT例題:2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:TEXT/’messg’,stringvariable,respJUMP/Back,Cancel,OK(notext),Alt-action,OK(text),resp用戶輸入的字符串保存在stringvariable中?!糨斎胱址?/p>
響應(yīng)變量resp值
Back
1
Cancel
2
OKorreturn-notextentered
3
Alternateaction
4
OKorreturntextentered
5STRING/name(40)l10:TEXT/‘Pleaseenterastudent’sname',name,respJUMP/l10:,l30:,,,,respl20:PARAM/name,‘month’,INT,month,‘day’,INT,day,$'year',INT,year,respJUMP/l20:,l30:,,,respPRINT/name,ISTR(year),ISTR(month),ISTR(day)JUMP/l10:l30:HALT例題:如果需要輸入五個同學(xué)的信息怎么辦?2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:MESSG/[temp,]stringlist有Temp時,程序顯示信息字符串后繼續(xù)執(zhí)行,否則暫停執(zhí)行◆顯示提示或注釋信息命令2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句命令格式
▲格式:CRTWRT/’messag’,x,y,z在指定位置處臨時顯示字符串信息。◆注釋信息在屏幕上臨時顯示
▲例題5-92023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★定義工作視圖和圖層
工作視圖(&WORKVW=number,缺省值為1):
1—TOP,2—FRONT,3—RIGHT,4—LEFT5—BOTTOM,6—BACK,7—正軸測,8—斜軸測
工作圖層(1~256層,缺省值為1)
定義工作圖層:改變工作圖層的狀態(tài)
LAYER/WORK,n&LYRSEL(layernumber)layernumber=1$$可選,即圖層打開;layernumber
=2$$不可選,即圖層關(guān)閉2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★定義坐標(biāo)系
例1:用已知三個點(diǎn)定義新的坐標(biāo)系
ENTITY/pt1,pt2,pt4,csys1pt1=POINT/1,1,1pt2=POINT/2,2,1pt3=POINT/–2,2,1csys1=CSYS/pt1,pt2,pt3HALT
例2:用圓弧和一個點(diǎn)定義新的坐標(biāo)系
ENTITY/cr1,pt1,csys1,csys2cr1=CIRCLE/0,0,1,5pt1=POINT/1,1,0csys1=CSYS/cr1$$原點(diǎn)平移至圓心得到csys1csys2=CSYS/csys1,ORIGIN,pt1$$再平移至pt1得到csys2
&WCS=csys2$$指定csys2為當(dāng)前工作坐標(biāo)系
&WCSDRW=&YES$$顯示新定義的WCSHALT2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第3節(jié)GRIP語言基礎(chǔ)
★人機(jī)交互語句總結(jié)例子:CHOOSE/stringlist,[deflt,n,][altact,’messg’,]respJUMP/Back,Cancel,Notused,Alt-action,Option,resp
◆人機(jī)交互語句=交互式對話語句+條件轉(zhuǎn)移語句
其中:交互式對話語句的一般格式:
交互語句的主詞/提示和交互操作選項,表達(dá)式變量條件轉(zhuǎn)移語句的一般格式:
JUMP/語句標(biāo)號序列,表達(dá)式變量返回值
2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★點(diǎn)的生成
◆例題5-10圓中心點(diǎn):Obj=POINT/CENTER,circle圓弧上的點(diǎn):Obj=POINT/circle,ATANGL,angle;實(shí)體端點(diǎn):Obj=POINT/ENDOF,“PMOD”,ent實(shí)體交點(diǎn):Obj=POINT/“PMOD”,INTOF,ent1,ent2增量點(diǎn):Obj=POINT/pt1,DELTA,dx,dy,dz極坐標(biāo)點(diǎn):Obj=POINT/pt1,POLAR,dist,angle矢量點(diǎn):Obj=POINT/pt1,VECT,line,“PMOD”,dist坐標(biāo)點(diǎn):Obj=POINT/x,y◆主詞為POINT,“PMOD”為指明位置的輔詞,如同XSMALL、YLARGE等。pt1pt2pt3cr1pt1pt2ENTITY/pt1,pt2,pt3pt1=POINT/0,0pt2=POINT/pt1,DELTA,1,1,2pt3=POINT/pt2,DELTA,-5,1,0HALT例題:ENTITY/cr1,pt1,pt2cr1=CIRCLE/0,0,1pt1=POINT/CENTER,cr1pt2=POINT/cr1,ATANGL,45HALTENTITY/pt1,pt2,pt3,pt4,cr1,cr2,cr2,ln1ln1=LINE/-2,-1,0,1cr1=CIRCLE/1,0,1,START,45,END,210cr2=CIRCLE/-1.25,0,0.5cr3=CIRCLE/-0.5,0,0.5pt1=POINT/ENDOF,XSMALL,ln1pt2=POINT/ENDOF,YLARGE,cr1pt3=POINT/YSMALL,INTOF,cr2,cr3pt4=POINT/YLARGE,INTOF,cr2,cr3HALT例題:pt1pt2pt3pt4cr1cr2cr3ln12023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★直線的生成
平行線:Obj=LINE/PARLEL,line,“PMOD”,offset平行/正交,曲線相切:Obj=LINE/PARLEL|PERPTO,line,“PMOD”|pt1,TANTO,curve角度線:Obj=LINE/pt1,ATANGL,angle過點(diǎn)的切線:Obj=LINE/pt1,LEFT|RIGHT,TANTO,curve兩曲線的公切線:Obj=LINE/LEFT|RIGHT,pt1,TANTO,curve1,LEFT|RIGHT,pt1,TANTO,curve2,平行/正交:Obj=LINE/pt1,PARLEL|PERPTO,line曲線的垂線:Obj=LINE/pt1,pt2,PERPTO,curve兩點(diǎn)線:Obj=LINE/pt1,pt2◆主詞為LINE,“PMOD”為指明位置的輔詞,如同XSMALL、YLARGE等?!衾}5-12、5-13例題:ENTITY/pt1,pt2,cr1ENTITY/ln1,ln2,ln3pt1=POINT/-1,-1pt2=POINT/pt1,DELTA,2,2,0cr1=CIRCLE/0,0,1ln1=LINE/pt1,pt2ln2=LINE/PARLEL,ln1,$YLARGE,1ln3=LINE/pt1,ATANGL,60HALTpt1pt2cr1ln1ln2ln3ENTITY/cr1,pt1,pt2,ln1,ln2pt1=POINT/-1.5,0cr1=CIRCLE/0,0,0.5pt2=POINT/cr1,ATANGL,45ln1=LINE/pt1,pt2,PERPTO,cr1ln2=LINE/pt1,RIGHT,$TANTO,cr1HALTpt1pt2cr1ln1ln22023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★圓、圓弧和圓角的生成
◆例題5-14圓心和半徑確定的圓?。篛bj=CIRCLE/CENTER,point,RADIUS,r[,START,angl1,END,angl2]圓心、與直線相切:Obj=CIRCLE/CENTER,pt1,TANTO,line圓心、圓弧上的點(diǎn):Obj=CIRCLE/CENTER,pt1,pt2三點(diǎn)圓:Obj=CIRCLE/pt1,pt2,pt3圓心、半徑:Obj=CIRCLE/x,y,r圓心、兩實(shí)體:Obj=FILLET/ent1,ent2,CENTER,point,RADIUS,r三個實(shí)體:Obj=FILLET/[IN|OUT|TANTO],ent1,$[IN|OUT|TANTO],ent2,[IN|OUT|TANTO],ent3,center,pt1◆主詞分別為CIRCLE和FILLET例題:ENTITY/pt1,pt2,pt3ENTITY/ln1,cr1,cr2pt1=POINT/0,0pt2=POINT/1,0pt3=POINT/1,0.5ln1=LINE/2,0,0,2cr1=CIRCLE/CENTER,pt1,TANTO,$ln1,START,0,END,90cr2=CIRCLE/CENTER,pt2,pt3HALTpt1pt2pt3ln1cr1cr2例題:ENTITY/cr1,cr2,cr3,pt1,pt2,ln1,ln2,flt1,flt2pt1=POINT/0,0pt2=POINT/1,-0.5cr1=CIRCLE/0,0,0.5cr2=CIRCLE/-1.5,-2.5,0.5cr3=CIRCLE/1.5,0.75,0.5ln1=LINE/0,1.5,1,-0.5ln2=LINE/1,1.5,-1,-0.5flt1=FILLET/ln1,ln2,CENTER,pt1,$RADIUS,.5,NOTRIM
flt2=FILLET/OUT,cr3,IN,cr1,OUT,cr2,$CENTER,pt2,NOTRIMHALTcr1cr2cr3flt1flt2pt1pt2ln1ln22023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP語言圖形生成技術(shù)
★曲線的生成
◆例題5-16橢圓:Obj=ELLIPS/point,semimajor,semiminor[,ATANGL,angle][,START,angle1,END,angle]雙曲線:Obj=HYPERB/point,semitransverse,semiconjugate,dymin,dymax[,ATANGL,angle]拋物線:
Obj=PARABO/point,focallength,dymin,dymax[,ATANGL,angle]其它曲線如樣條曲線、偏置曲線、輪廓曲線等的命令生成語句,請參閱教材附錄。2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開發(fā)技術(shù)第4節(jié)GRIP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保密協(xié)議文檔
- 2025年產(chǎn)假補(bǔ)償協(xié)議
- 2025年醫(yī)療服務(wù)營養(yǎng)配餐協(xié)議
- 2025年代理商代理傭金費(fèi)協(xié)議
- 2025年大型露天演出場地租用協(xié)議
- 2025年生存保險受益人變更申請
- 《用友業(yè)務(wù)流程》課件
- 二零二五版增值稅發(fā)票委托第三方服務(wù)框架協(xié)議3篇
- 事業(yè)單位2024年度勞動合同定制版
- 二零二五年度知識產(chǎn)權(quán)侵權(quán)賠償合同補(bǔ)充協(xié)議3篇
- 2024-2030年中國連續(xù)性腎臟替代治療(CRRT)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 跨學(xué)科主題學(xué)習(xí):實(shí)施策略、設(shè)計要素與評價方式(附案例)
- 場地委托授權(quán)
- 2024年四川省成都市龍泉驛區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 項目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動控制的先進(jìn)性說明
- 《企業(yè)管理課件:團(tuán)隊管理知識點(diǎn)詳解PPT》
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)二 軟文的寫作
評論
0/150
提交評論