版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)輔助設(shè)計(jì)(CAD)及應(yīng)用2023/12/14關(guān)于CAD系統(tǒng)適用性的幾個(gè)問(wèn)題“CAD系統(tǒng)僅僅是一塊需要花很多錢(qián)的‘高級(jí)圖板’!”——這種說(shuō)法對(duì)嗎?UG生成的模型能否供其它異構(gòu)的CAD系統(tǒng)(如Pro/E、AutoCAD等)使用?反之行嗎?如何才能用UG系統(tǒng)同時(shí)完成機(jī)械零件(如齒輪)的參數(shù)計(jì)算和結(jié)構(gòu)建模設(shè)計(jì)(即參數(shù)化設(shè)計(jì))?可以將一個(gè)通用CAD軟件系統(tǒng)改造成滿(mǎn)足用戶(hù)個(gè)性化需求的高效專(zhuān)用的系統(tǒng)嗎?2023/12/14當(dāng)前CAD技術(shù)面臨的基本問(wèn)題問(wèn)題一、以幾何建模技術(shù)為核心,不能充分地滿(mǎn)足產(chǎn)品設(shè)計(jì)需求。問(wèn)題二、各自自然發(fā)展起來(lái)的異構(gòu)的CAD系統(tǒng),形成了多個(gè)“信息化孤島”。問(wèn)題四、必須提供工具和方法,使用戶(hù)能夠自主擴(kuò)展商用CAD系統(tǒng)的功能,解決工程設(shè)計(jì)問(wèn)題。問(wèn)題三、則重系統(tǒng)的通用性和用戶(hù)的覆蓋面,
“功能豐富、效率不高”是商用CAD系統(tǒng)的普遍問(wèn)題。2023/12/14本章學(xué)習(xí)要求與學(xué)習(xí)方法★了解
CAD支撐軟件二次開(kāi)發(fā)的目的、途經(jīng)和方法。第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)★掌握
UG/OPENGRIP二次開(kāi)發(fā)編程技術(shù)?!飳W(xué)習(xí)訣竅:明確二次開(kāi)發(fā)目標(biāo)、體會(huì)編程差異、熟悉系統(tǒng)資源、重視讀寫(xiě)結(jié)合、堅(jiān)持多編程多調(diào)試。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
3、改善CAD支撐軟件系統(tǒng)的適用性。將程序設(shè)計(jì)語(yǔ)言與系統(tǒng)資源緊密結(jié)合解決問(wèn)題。第1節(jié)CAD系統(tǒng)二次開(kāi)發(fā)的環(huán)境與途徑
2、提高CAD支撐軟件系統(tǒng)的使用效率。通過(guò)開(kāi)發(fā)專(zhuān)用菜單、命令、模型庫(kù)等實(shí)現(xiàn)。
★CAD支撐軟件系統(tǒng)二次開(kāi)發(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)二次開(kāi)發(fā)技術(shù)
◆利用CAD系統(tǒng)的嵌入式語(yǔ)言或API開(kāi)發(fā)方法第1節(jié)CAD系統(tǒng)二次開(kāi)發(fā)的環(huán)境與途徑
◆通用CAD軟件系統(tǒng)用戶(hù)化開(kāi)發(fā)方法
★CAD支撐軟件系統(tǒng)二次開(kāi)發(fā)的三類(lèi)主要方法
◆數(shù)據(jù)文件共享開(kāi)發(fā)方法
☆
OPENGRIP是UG的一個(gè)重要模塊,它有完整的語(yǔ)法規(guī)則、程序結(jié)構(gòu)、內(nèi)部函數(shù),是一種嵌入在UG中的程序設(shè)計(jì)語(yǔ)言。GRIP程序經(jīng)過(guò)編譯、鏈接,生成可執(zhí)行文件之后才能運(yùn)行。
☆
GRIP具有簡(jiǎn)單、易學(xué)、交互性能強(qiáng)的優(yōu)點(diǎn),是面向工程師的二次開(kāi)發(fā)語(yǔ)言,要求具備一定的UG三維建模基礎(chǔ)。
☆
利用GRIP(GraphicsInteractiveProgramming)
程序能夠?qū)崿F(xiàn)對(duì)UG的各種交互操作,如創(chuàng)建幾何體、管理文件、控制系統(tǒng)參數(shù)、存取UG數(shù)據(jù)庫(kù)等。UG/OPENGRIP☆
UG/OPENAPI(又稱(chēng)UserFunction)是一個(gè)允許程序訪問(wèn)并改變UG對(duì)象模型的程序集。它封裝了近2000個(gè)UG操作函數(shù)?!?/p>
UG/OPENAPI可以方便地對(duì)UG圖形終端、文件管理系統(tǒng)和數(shù)據(jù)庫(kù)進(jìn)行操作,絕大多數(shù)UG操作都可以用UG/OPENAPI函數(shù)實(shí)現(xiàn)。開(kāi)發(fā)者通過(guò)使用VC++調(diào)用這些函數(shù),達(dá)到系統(tǒng)用戶(hù)化的目的。UG/OPENAPI
運(yùn)用UG/OPENAPI能夠?qū)崿F(xiàn):
①對(duì)UG模型及文件進(jìn)行操作,包括建立模型、查詢(xún)模型對(duì)象、建立并遍歷裝配體、創(chuàng)建工程圖等;
②在UG主界面中創(chuàng)建用戶(hù)交互式界面;③創(chuàng)建并管理用戶(hù)定義對(duì)象等。這些函數(shù)和過(guò)程分別在…/ugopen目錄下的頭文件(.h)中定義。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
◆UG/GRIP實(shí)用編程基礎(chǔ)。清華大學(xué)出版社,王慶林。2002★本章以UG的嵌入式語(yǔ)言O(shè)PENGRIP為例,講解通用CAD支撐軟件系統(tǒng)的二次開(kāi)發(fā)技術(shù)基礎(chǔ)
參考書(shū):
◆UG在線幫助文檔和教材的附錄
◆計(jì)算機(jī)輔助設(shè)計(jì)原理(CAD)和應(yīng)用技術(shù)。湖南大學(xué)大學(xué)出版社,劉子建等。19982023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開(kāi)發(fā)環(huán)境軟件環(huán)境和語(yǔ)法基礎(chǔ);2.數(shù)據(jù)類(lèi)型及其操作;3.程序結(jié)構(gòu)(順序、分支、循環(huán)結(jié)構(gòu),子程序等)4.語(yǔ)言的特殊功能(如GRIP的交互式操作、實(shí)體生成與控制等)
★程序設(shè)計(jì)學(xué)習(xí)的主要內(nèi)容2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開(kāi)發(fā)環(huán)境1.進(jìn)入U(xiǎn)GTools/UGOpenGRIP(GRADE);(1)點(diǎn)擊“開(kāi)始”—“所有程序”——SiemensNX8.0—NX工具——NXOpenGrip即可啟動(dòng)GRADE(注:只要成功運(yùn)行了“NX許可工具”,GRADE可以單獨(dú)使用)(2)GRADE的界面如下:
★NX/OpenGrip程序設(shè)計(jì)一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開(kāi)發(fā)環(huán)境
★NX/OpenGrip程序設(shè)計(jì)一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UGNX/OPENGRIP開(kāi)發(fā)環(huán)境2.編寫(xiě)源程序,得.grs文件(用記事本編寫(xiě));3.編譯(Compile)得.gri文件;4.鏈接(Link)得.grx文件;5.在UG中運(yùn)行(Ctrl_G)文件—執(zhí)行—Grip…運(yùn)行.grx文件。注:通過(guò)“幫助”—“命令查找器”可以顯示隱藏了的“執(zhí)行”命令。
★NX/OpenGrip程序設(shè)計(jì)一般步驟2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UG/OPENGRIP開(kāi)發(fā)環(huán)境
◆GRIP命令的三種格式陳述格式(StatementFormat)——SF格式全局參數(shù)存取格式(GlobalParameterAccess)
——GPA格式實(shí)體數(shù)據(jù)存取格式(EntityDataAccess)
——EDA格式
★GRIP程序結(jié)構(gòu)及語(yǔ)言命令的三種格式
◆程序由若干條GRIP語(yǔ)句組成,語(yǔ)句由GRIP命令組成2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UG/OPENGRIP開(kāi)發(fā)環(huán)境1、SF格式命令由主詞、輔詞和參數(shù)構(gòu)成,中間用“/”分開(kāi)只有主詞(參數(shù))就形成OPENGRIP的標(biāo)準(zhǔn)函數(shù)陳述格式命令包括標(biāo)準(zhǔn)函數(shù)、幾何變換、投影變換、曲線曲面、幾何實(shí)體生成、實(shí)體編輯、定義字體和線型、定義坐標(biāo)系、顯示控制、文件操作等400多個(gè)命令
◆GRIP命令的三種格式
由主詞、輔詞和參數(shù)構(gòu)成,中間用“/”分開(kāi)
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計(jì)數(shù)CROSS橫向CLOSED閉合CSYS坐標(biāo)系DELTA增量DELETE刪除KNOT節(jié)點(diǎn)ENDOF…的端點(diǎn)DIAMTR直徑LEFT左邊IFERR如果錯(cuò)誤NOTRIM不修剪ON在…上INTOF…的交點(diǎn)ORIGIN原點(diǎn)OPEN開(kāi)口(曲線)PRIMA主方向PARLEL平行于SIZE邊數(shù)START開(kāi)始(角)PERPTO垂直于THRU通過(guò)TANTO相切于RADIUS半徑VECT矢量TOLER容差RIGHT右邊2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UG/OPENGRIP開(kāi)發(fā)環(huán)境2、GPA格式命令以“&”開(kāi)頭,最長(zhǎng)為6個(gè)字母,用GPA命令可訪問(wèn)(設(shè)置)和存取UG的系統(tǒng)變量GPA命令有確定的與系統(tǒng)變量相關(guān)的含義、數(shù)據(jù)類(lèi)型和參數(shù)取值范圍GPA命令共有180個(gè)左右。如&ENTCLR=&red、&FONT=1、&HMAT=&steel等
◆GRIP命令的三種格式2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第2節(jié)UG/OPENGRIP開(kāi)發(fā)環(huán)境3、EDA格式命令以“&”開(kāi)頭,用于訪問(wèn)UG數(shù)據(jù)庫(kù)中的各種資源EDA命令有確定的存取類(lèi)型、數(shù)據(jù)類(lèi)型等要求EDA命令可以訪問(wèn)UG數(shù)據(jù)庫(kù)中所有實(shí)體屬性、幾何參數(shù)、位置坐標(biāo)等,包括120多個(gè)命令。如&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將已有直線的顏色改為紅色(寫(xiě)功能)&COLOR(ln1)=&red提取點(diǎn)pt1的坐標(biāo)值(讀功能),放入數(shù)組cd(3)中cd=&POINT(pt1)序號(hào)功能EDA命令訪問(wèn)類(lèi)型數(shù)據(jù)類(lèi)型范圍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)二次開(kāi)發(fā)技術(shù)
◆初始化語(yǔ)句部分第2節(jié)UG/OPENGRIP開(kāi)發(fā)環(huán)境
★GRIP程序組成
◆申明語(yǔ)句部分
◆交互語(yǔ)句部分
◆過(guò)程處理語(yǔ)句部分
◆結(jié)束語(yǔ)句部分(HALT語(yǔ)句)2023/12/14GRIP程序結(jié)構(gòu)例子:$$申明語(yǔ)句部分
ENTITY/ln1,ln2,ln3,pt(20)STRING/str(30)NUMBER/a(10),B(2,3),c(2,3,2)$$初始化語(yǔ)句部分
DATA/a(10),1,2,3,4,5,6,7,8,9,10DATA/str(30),’ThisisagoodGRIPprogram.’k=k+1$$交互式語(yǔ)句部分
IDENT/’Pickpoint’+ISTR(k),pt(k),rsp$$選擇和識(shí)別實(shí)體
CHOOSE/’Chooseoption’,’Nextpoint’,’CreateB-curve’,rsp$$菜單選擇
GPOS/’Pickdirpoint’+ISTR(k),x1,y1,z1,rsp$$打開(kāi)點(diǎn)構(gòu)造菜單,選擇點(diǎn)$$過(guò)程處理語(yǔ)句部分
ln1=LINE/4,4,0,4ln2=LINE/0,4,0,0&NAME(ln1)=‘LINEONE’$$EDA命令
&NAME(ln2)=‘LINETWO’$$結(jié)束語(yǔ)句部分
HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
◆語(yǔ)句標(biāo)號(hào)從小到大,或有一定規(guī)律性;第2節(jié)UG/OPENGRIP二次開(kāi)發(fā)環(huán)境
★GRIP編程注意事項(xiàng)
◆采用分段縮進(jìn)方式書(shū)寫(xiě),多用注釋語(yǔ)句,增強(qiáng)程序的可讀性;
◆變量名應(yīng)與工程術(shù)語(yǔ)相近,便于理解;
◆主詞和輔詞通常用大寫(xiě),變量用小寫(xiě),便于閱讀。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
◆字符串變量(包括簡(jiǎn)單與下標(biāo)變量)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★變量的分類(lèi)(三類(lèi)變量)
◆數(shù)字變量
?下標(biāo)變量
◆實(shí)體變量(包括簡(jiǎn)單與下標(biāo)變量)
?簡(jiǎn)單變量2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
◆可以是全字母或者字母與數(shù)字的組合;第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★GRIP變量命名的規(guī)則
◆長(zhǎng)度不得超過(guò)32個(gè)字符;
◆不得含有逗號(hào)“,”和特殊字符如“$”、“@”、“&”等?!舻谝粋€(gè)字符必須是字母;2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)
◆(下標(biāo))字符串變量的申明STRING/name([dim1,[dim2]],n)[,name([dim1,[,dim2]),n]]+例如:STRING/str1,ch(10),frm(2,80)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)
◆一般賦值語(yǔ)句第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★GRIP賦值語(yǔ)句
◆算術(shù)運(yùn)算符及其優(yōu)先順序(p112)
◆也可以用DATA/語(yǔ)句賦值,如
用等式賦值,等式左邊是被賦值的變量,右邊是值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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★GRIP賦值語(yǔ)句
?&NULSTR是GPA常數(shù),表示一個(gè)空的字符串,它用于賦一個(gè)空值給字符串變量;
◆賦空值
?&NULENT是GPA常數(shù),表示一個(gè)空的實(shí)體,它用于賦一個(gè)空值給實(shí)體變量。STRING/str(50)ENTITY/part_edge(4)str=&NULSTR$$GPA常數(shù),表示一個(gè)空字符串part_edge(1)=LINE/0,0,0,1,2,0part_edge(2)=&NULENT$$GPA常數(shù),表示一個(gè)空實(shí)體2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★
GRIP賦值語(yǔ)句
◆實(shí)體變量賦值語(yǔ)句——賦值結(jié)果是生成了一個(gè)實(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)對(duì)u求偏導(dǎo)數(shù)
b=SDDVF(surf,0.5,0.6)$$SDDVF(ent,u,v)對(duì)v求偏導(dǎo)數(shù)
PRINT/a,bterm:HALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★嵌套語(yǔ)句
◆
GRIP語(yǔ)法規(guī)定,在一個(gè)GRIP語(yǔ)句中可以嵌入另一個(gè)GRIP語(yǔ)句,這種GRIP語(yǔ)句稱(chēng)之為嵌套語(yǔ)句或復(fù)合語(yǔ)句。例如:ln=LINE/(pt1=POINT/0,1),(pt2=POINT/4,5)
◆
在復(fù)合語(yǔ)句內(nèi)嵌套的語(yǔ)句必須是一個(gè)完整的語(yǔ)句并且要用圓括號(hào)括起來(lái)。GRIP規(guī)定,在一個(gè)GRIP語(yǔ)句中,嵌套的語(yǔ)句層數(shù)不得超過(guò)10。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組
◆字符串?dāng)?shù)組
◆實(shí)體數(shù)組2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★數(shù)組
◆數(shù)字?jǐn)?shù)組?一維數(shù)組下面的程序中,art就是一個(gè)一維數(shù)組。
ENTITY/ptNUMBER/art(3)DATA/art,0,100,100pt=POINT/artHALT2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)三個(gè)實(shí)體數(shù)組元素。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★子集
◆定義:子集是一個(gè)數(shù)組的一部分元素的集合,用“(下標(biāo)..上標(biāo))”表示。子集是對(duì)整個(gè)數(shù)組變量而言的。
◆常見(jiàn)的子集表達(dá)方法:1、常數(shù)子集:c1(2..5),c2(3*3..12)2、固定長(zhǎng)度數(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語(yǔ)句中不能使用子集2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★程序流程控制語(yǔ)句
◆無(wú)條件轉(zhuǎn)移語(yǔ)句(對(duì)應(yīng)于GOTO語(yǔ)句)?當(dāng)程序執(zhí)行到該語(yǔ)句時(shí),立即轉(zhuǎn)向,執(zhí)行語(yǔ)句標(biāo)號(hào)所指的語(yǔ)句;?格式:
JUMP/label:$$label:為語(yǔ)句標(biāo)號(hào)2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★程序流程控制語(yǔ)句
◆條件轉(zhuǎn)移語(yǔ)句(對(duì)應(yīng)于ON...GOTO語(yǔ)句)
?語(yǔ)句根據(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?用于交互式語(yǔ)句的表達(dá)式變量resp作用說(shuō)明:
當(dāng)resp的值為1時(shí),程序跳轉(zhuǎn)到rej1:,為2時(shí)跳轉(zhuǎn)到trm:,為3和4時(shí)為空語(yǔ)句,即當(dāng)resp的值為3或4時(shí)不轉(zhuǎn)移,程序繼續(xù)向下執(zhí)行,選擇“N..”、“C..”時(shí)分別跳轉(zhuǎn)到110:和210:。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★邏輯IF語(yǔ)句
(簡(jiǎn)單分支語(yǔ)句)
◆邏輯IF語(yǔ)句中,當(dāng)表達(dá)式為真時(shí),執(zhí)行隨后的語(yǔ)句(Statement
)。
◆格式:IF/Expression,Statement
◆例如:IF/a<88,x=99
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★條件IF語(yǔ)句(三分支語(yǔ)句)
◆格式:
IF/NumericalExpression,[label1:,][label2:,][label3:]
◆當(dāng)數(shù)字表達(dá)式的值<0時(shí)執(zhí)行第一個(gè)標(biāo)號(hào)后的語(yǔ)句,等于0時(shí)執(zhí)行第二個(gè)語(yǔ)句標(biāo)號(hào)后的語(yǔ)句,>0時(shí)則執(zhí)行第三個(gè)語(yǔ)句標(biāo)號(hào)后的語(yǔ)句
◆如下面程序的運(yùn)行情況
IF/ASCII(ch)—65,,100:,$$表達(dá)式=0時(shí)轉(zhuǎn)向100:
$$其余轉(zhuǎn)向空2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★塊IF語(yǔ)句(多分支語(yǔ)句,有多個(gè)表達(dá)式)
◆需要在某些條件滿(mǎn)足時(shí)進(jìn)行某種操作,不滿(mǎn)足時(shí)則進(jìn)行另一種操作。可以用塊IF語(yǔ)句實(shí)現(xiàn)這種功能。
◆格式:
IFTHEN/Expression1Statementblock1[ELSEIF/Expression2Statementblock2][ELSEStatementblock3]ENDIF
◆請(qǐng)看下面的例題例5-1:有下圖所示控制規(guī)律,畫(huà)出其流程圖并編寫(xiě)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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★循環(huán)語(yǔ)句——“當(dāng)型”循環(huán)
◆“當(dāng)型”循環(huán)用IFTHEN語(yǔ)句(對(duì)應(yīng)于塊IF語(yǔ)句)和JUMP語(yǔ)句組合實(shí)現(xiàn)。從IFTHEN語(yǔ)句的表達(dá)式的值來(lái)判斷是否進(jìn)行循環(huán)。當(dāng)表達(dá)式的值為“真”時(shí)進(jìn)行循環(huán)。
◆格式:
label:IFTHEN/ExpressionStatementblockJUMP/label:ENDIF2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★循環(huán)語(yǔ)句——“直到型”循環(huán)
◆“直到型”循環(huán)用邏輯IF語(yǔ)句實(shí)現(xiàn)。先執(zhí)行循環(huán)體內(nèi)的各語(yǔ)句,遇到邏輯IF語(yǔ)句時(shí),對(duì)表達(dá)式進(jìn)行求值,如果結(jié)果為真,則再執(zhí)行一次循環(huán)體內(nèi)語(yǔ)句,直到表達(dá)式的值為“假”時(shí)結(jié)束循環(huán)。
◆格式:
label:StatementblockIF/Expression,JUMP/label:2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★循環(huán)語(yǔ)句——DO循環(huán)
◆用DO語(yǔ)句實(shí)現(xiàn)的循環(huán)稱(chēng)為DO循環(huán)。DO循環(huán)由一個(gè)DO語(yǔ)句的循環(huán)體組成。
◆格式:
DO/label:,Variable,start,end[,increment]Statementblocklabel:2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★有關(guān)DO循環(huán)的一些規(guī)定
◆循環(huán)步長(zhǎng)(increment)是可選項(xiàng),缺省值為1;◆循環(huán)變量Variable的初值、終值、步長(zhǎng)可以分別是常數(shù)、變量和表達(dá)式。如果是變量則應(yīng)先賦值,如果是
表達(dá)式則先對(duì)表達(dá)式求值;◆循環(huán)次數(shù)可以從循環(huán)初值、終值、步長(zhǎng)計(jì)算出來(lái);◆循環(huán)變量在循環(huán)體內(nèi)不能再賦新值;◆循環(huán)變量的初值、終值、步長(zhǎng)在循環(huán)期間不能改變;◆可向循環(huán)體外轉(zhuǎn)移,但不能向循環(huán)體內(nèi)轉(zhuǎn)移;◆從非正常出口轉(zhuǎn)出時(shí),循環(huán)變量保持當(dāng)前值。2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)◆子程序及其調(diào)用
規(guī)定:1)子程序以PROC/
語(yǔ)句開(kāi)始
2)以RETURN語(yǔ)句結(jié)束
3)子程序必須由主程序或其它子程序調(diào)用才能運(yùn)行例1:$$
Subroutinename:sub1.grs——編寫(xiě)子程序并以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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)子程序的一般格式:
PROC[/形式參數(shù)表]
變量申明語(yǔ)句
子程序主體
RETURN$$可以有多個(gè)RETURN主程序的調(diào)用命令
CALL/‘子程序名’〔,實(shí)際參數(shù)表〕
$$虛實(shí)結(jié)合傳遞數(shù)據(jù)
ⅰ、子程序的形式參數(shù)可以是ENTITY,STRING,NUMBER等變量名,也可以是一般變量。
ⅱ、子程序和主程序分開(kāi)編譯,通過(guò)GRIP的LINK鏈接。子程序調(diào)用數(shù)量最多不超過(guò)50個(gè)。
ⅲ、形式參數(shù)與對(duì)應(yīng)的實(shí)際參數(shù)的數(shù)據(jù)類(lèi)型相同,個(gè)數(shù)相等。
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)例2:編寫(xiě)主程序
$$主程序名: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ù)的幾個(gè)“123”!CAD軟件的三種類(lèi)型?CAD的三種主要模型?CAD支撐軟件二次開(kāi)發(fā)的三個(gè)主要目的?CAD支撐軟件二次開(kāi)發(fā)的三種主要方法?結(jié)構(gòu)化程序的三個(gè)部分?程序設(shè)計(jì)的三種主要結(jié)構(gòu)?OPENGRIP的三種命令?OPENGRIP的三類(lèi)變量?OPENGRIP的三種數(shù)組?2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句
◆在UG/GRIP中,人機(jī)交互語(yǔ)句很重要,用戶(hù)利用它來(lái)與UG系統(tǒng)對(duì)話,完成人機(jī)交互操作。人機(jī)交互操作在用戶(hù)開(kāi)發(fā)GRIP應(yīng)用程序時(shí)需要經(jīng)常用到。
2023/12/14第5章基于特征的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句
(P117-P122)▲POS/:供用戶(hù)用光標(biāo)選擇屏幕上的一個(gè)點(diǎn);◆常見(jiàn)的GRIP交互語(yǔ)句▲CHOOSE/:顯示對(duì)話框,供用戶(hù)進(jìn)行單項(xiàng)選擇;▲GPOS/:打開(kāi)點(diǎn)構(gòu)造菜單,供用戶(hù)交互式生成一個(gè)點(diǎn);▲MCHOOSE/:顯示對(duì)話框,供用戶(hù)進(jìn)行多項(xiàng)選擇;▲PARAM/:供用戶(hù)完成多個(gè)參數(shù)的交互式賦值;▲
IDENT/:供用戶(hù)完成實(shí)體的選擇,并顯示實(shí)體名;▲TEXT/:供用戶(hù)輸入字符串變量的值;▲MESSG/:顯示提示等信息。
2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句
▲交互式語(yǔ)句都包含響應(yīng)變量,執(zhí)行時(shí)會(huì)產(chǎn)生確定的響應(yīng)變量返回值。不同的交互語(yǔ)句,對(duì)應(yīng)于用戶(hù)的不同操作,返回的響應(yīng)變量值也不同。交互式語(yǔ)句通常與JUMP語(yǔ)句配對(duì)使用,其響應(yīng)變量與JUMP語(yǔ)句的表達(dá)式一一對(duì)應(yīng)。◆交互式語(yǔ)句的響應(yīng)變量▲各種人機(jī)交互式語(yǔ)句響應(yīng)變量返回值見(jiàn)P118表5-62023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句
▲DEFLT,n表示默認(rèn)項(xiàng)為n;▲ALTACT,‘Message’,表示在交互界面(選擇)中,顯示提示信息;▲INT,variable表示變量為整數(shù)形式;▲CNT,count表示所選擇的實(shí)體的數(shù)目;▲CURSOR,x,y,z表示把光標(biāo)位置的坐標(biāo)賦給x,y,z變量;▲MEMBER,ON|OFF表示是否打開(kāi)GROUPS或
COMPONENTS,選擇其成員?!艚换ナ秸Z(yǔ)句格式說(shuō)明的常用字符2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式: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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式: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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:CHOOSE/stringlist,[deflt,n,][altact,’messg’,]respJUMP/Back,Cancel,Notused,Alt-action,Option,resp返回值為5-18時(shí)對(duì)應(yīng)于菜單選項(xiàng)Option。
◆創(chuàng)建用戶(hù)對(duì)話框完成單項(xià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時(shí),轉(zhuǎn)向rej1:,resp=2時(shí),轉(zhuǎn)向trm:,resp=3,4時(shí),轉(zhuǎn)向空語(yǔ)句標(biāo)號(hào),即不轉(zhuǎn)移,程序向下執(zhí)行,resp=5時(shí),轉(zhuǎn)向110:,resp=6時(shí),轉(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:MCHOOSE/primarystring,menuoptions,resparray,respJUMP/Back,Cancel,Notused,Alt-action,resp用戶(hù)對(duì)menuoptions選擇的結(jié)果保存在resparray中。◆創(chuàng)建用戶(hù)對(duì)話框完成多項(xià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)識(shí)選項(xiàng)是否選中Catvar用來(lái)存放項(xiàng)是否被選中:選中值為1,否則值為02023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:PARAM/’messg’,’option’[,INT],variable,respJUMP/Back,Cancel,OK,Alt-action,resp用戶(hù)對(duì)變量的賦值最多可以有14個(gè)?!艚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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:IDENT/'message',objList[,CNT,count][,CURSOR,x-coord,y-coord,z-coord],respJUMP/Back,Cancel,OK,Alt-action,resp◆交互式識(shí)別和選擇實(shí)體的命令
響應(yīng)變量resp值
Back
1
Cancel
2
OK
3
ENTITY/bc,pt(100)l10:MASK/2IDENT/'Pickpoint'+ISTR(k),pt,CNT,k,resp$$指示多個(gè)點(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:TEXT/’messg’,stringvariable,respJUMP/Back,Cancel,OK(notext),Alt-action,OK(text),resp用戶(hù)輸入的字符串保存在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例題:如果需要輸入五個(gè)同學(xué)的信息怎么辦?2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:MESSG/[temp,]stringlist有Temp時(shí),程序顯示信息字符串后繼續(xù)執(zhí)行,否則暫停執(zhí)行◆顯示提示或注釋信息命令2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句命令格式
▲格式:CRTWRT/’messag’,x,y,z在指定位置處臨時(shí)顯示字符串信息?!糇⑨屝畔⒃谄聊簧吓R時(shí)顯示
▲例題5-92023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(shù)
★定義工作視圖和圖層
工作視圖(&WORKVW=number,缺省值為1):
1—TOP,2—FRONT,3—RIGHT,4—LEFT5—BOTTOM,6—BACK,7—正軸測(cè),8—斜軸測(cè)
工作圖層(1~256層,缺省值為1)
定義工作圖層:改變工作圖層的狀態(tài)
LAYER/WORK,n&LYRSEL(layernumber)layernumber=1$$可選,即圖層打開(kāi);layernumber
=2$$不可選,即圖層關(guān)閉2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(shù)
★定義坐標(biāo)系
例1:用已知三個(gè)點(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:用圓弧和一個(gè)點(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)二次開(kāi)發(fā)技術(shù)第3節(jié)GRIP語(yǔ)言基礎(chǔ)
★人機(jī)交互語(yǔ)句總結(jié)例子:CHOOSE/stringlist,[deflt,n,][altact,’messg’,]respJUMP/Back,Cancel,Notused,Alt-action,Option,resp
◆人機(jī)交互語(yǔ)句=交互式對(duì)話語(yǔ)句+條件轉(zhuǎn)移語(yǔ)句
其中:交互式對(duì)話語(yǔ)句的一般格式:
交互語(yǔ)句的主詞/提示和交互操作選項(xiàng),表達(dá)式變量條件轉(zhuǎn)移語(yǔ)句的一般格式:
JUMP/語(yǔ)句標(biāo)號(hào)序列,表達(dá)式變量返回值
2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(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)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(shù)
★直線的生成
平行線:Obj=LINE/PARLEL,line,“PMOD”,offset平行/正交,曲線相切:Obj=LINE/PARLEL|PERPTO,line,“PMOD”|pt1,TANTO,curve角度線:Obj=LINE/pt1,ATANGL,angle過(guò)點(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◆主詞為L(zhǎng)INE,“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)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(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三個(gè)實(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)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP語(yǔ)言圖形生成技術(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]其它曲線如樣條曲線、偏置曲線、輪廓曲線等的命令生成語(yǔ)句,請(qǐng)參閱教材附錄。2023/12/14第5章基于特征技術(shù)的CAD軟件系統(tǒng)二次開(kāi)發(fā)技術(shù)第4節(jié)GRIP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 清潔能源電氣化戰(zhàn)略在鐵路、公交及重卡領(lǐng)域的推廣實(shí)踐方案探討
- 矸石場(chǎng)自查自糾隱患整改方案及整改安全技術(shù)措施
- 2026年湖南岳陽(yáng)市中心醫(yī)院人員招聘考試備考題庫(kù)及答案解析
- 智慧礦山構(gòu)建:安全生產(chǎn)智能化解決方案的探索與實(shí)踐
- 2026年泉州消防第一季度招聘政府專(zhuān)職消防員91人考試備考題庫(kù)及答案解析
- 2025江西師范大學(xué)圖書(shū)館非事業(yè)編制聘用人員招聘1人筆試參考題庫(kù)及答案解析
- 2025江蘇南京大學(xué)法學(xué)院?jiǎn)斡抡n題組招聘1人考試參考題庫(kù)及答案解析
- 2026云南大理州事業(yè)單位考核招聘急需緊缺人才48人考試備考題庫(kù)及答案解析
- 2025福建福州閩侯縣新南港房屋征收有限公司 閩侯縣五虎山房屋征收有限公司招聘3人筆試備考題庫(kù)及答案解析
- 2025雄安人才服務(wù)有限公司黨群工作崗招聘1人筆試備考試題及答案解析
- 生活自理能力幼兒園培訓(xùn)
- 麥當(dāng)勞管理手冊(cè)
- 【MOOC】線性代數(shù)典型習(xí)題講解-北京化工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 華中農(nóng)業(yè)大學(xué)《數(shù)學(xué)分析》2021-2022學(xué)年第一學(xué)期期末試卷
- 大學(xué)體育-瑜伽學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 廈門(mén)大學(xué)介紹
- 0-6歲兒童健康管理規(guī)范課件
- 分享五年級(jí)語(yǔ)文英才教程電子版
- 超星爾雅學(xué)習(xí)通《文獻(xiàn)信息檢索與利用(成都航空職業(yè)技術(shù)學(xué)院)》2024章節(jié)測(cè)試答案
- 21 小圣施威降大圣
- DL-T 2582.1-2022 水電站公用輔助設(shè)備運(yùn)行規(guī)程 第1部分:油系統(tǒng)
評(píng)論
0/150
提交評(píng)論