基于圖形結(jié)構(gòu)的智能化設(shè)計方法
【本章摘要】本章首先分析了基于產(chǎn)品圖形的智能化設(shè)計的內(nèi)涵、發(fā)展和形式描述,詳細(xì)分析了參數(shù)化設(shè)計的原理、集成化設(shè)計的系統(tǒng)結(jié)構(gòu)和智能圖元化設(shè)計的詳細(xì)內(nèi)容。
4.1CAD系統(tǒng)的智能化
CAD系統(tǒng)的智能化一直是人們追求的目標(biāo)。目前,智能化的研究重點是在傳統(tǒng)CAD系統(tǒng)中加強推理和對知識庫的管理、查詢能力,形成智能CAD(ICAD)系統(tǒng)。當(dāng)前的智能設(shè)計分成兩種類型,即設(shè)計型專家系統(tǒng)和人機智能化系統(tǒng),人機智能化系統(tǒng)是面向CIMS的復(fù)雜智能設(shè)計技術(shù),其研究尚處于起步階段,而設(shè)計型專家系統(tǒng)研究的核心問題是模式設(shè)計,典型應(yīng)用領(lǐng)域是方案設(shè)計,很難應(yīng)用到產(chǎn)品的結(jié)構(gòu)設(shè)計中。
到目前,智能化CAD系統(tǒng)的發(fā)展經(jīng)歷了三個階段:參數(shù)化設(shè)計、集成化設(shè)計和智能圖元化設(shè)計。從整個發(fā)展歷史來看,智能化CAD系統(tǒng)主要存在二個本質(zhì)問題:一、需要一定的交互干涉控制;二、智能化適用范圍的限制。而從智能化CAD系統(tǒng)的三個階段來看,智能化CAD的智能化程度也是在這二個問題上不斷地探索和發(fā)展的程度。
參數(shù)化CAD設(shè)計,主要是針對傳統(tǒng)的CAD系統(tǒng)大部分僅局限于建立產(chǎn)品幾何漠型,擅長設(shè)計階段中某一時刻設(shè)計信息的表達(dá),而在表述產(chǎn)品設(shè)計的工程意義和動態(tài)設(shè)計過程方面顯得十分乏力。參數(shù)化CAD系統(tǒng)的關(guān)鍵是參數(shù)化模型的建立。從智能化角度上說,參數(shù)化CAD的優(yōu)點是:(一)通過參數(shù)化模型中參數(shù)的傳遞,實現(xiàn)“工程信息一圖形信息”。(二)通過參數(shù)的改變,使圖形自動發(fā)生相應(yīng)的改變。而缺點是:它是通過已建立的特定的參數(shù)化模型賦值而驅(qū)動圖形,所以它只能驅(qū)動參數(shù)化模型對應(yīng)的圖形,對于工程上用的多的復(fù)雜圖形,特別是組合圖形來說,不太實用;它很難反向從圖形中的獲取較多的工程語義,不具有面向?qū)ο蟮母拍睢?SPAN lang=EN-US>
集成化CAD設(shè)計,這是目前用的比較多的專業(yè)CAD系統(tǒng),主要是針對一些特味行業(yè)(如室內(nèi)裝修、室內(nèi)設(shè)計等行業(yè)),在這些行業(yè)的工程圖紙描述中,都是由有若干行業(yè)中工程實體組成。正是根據(jù)這個特點,我們將行業(yè)相關(guān)的實體,按照面向?qū)ο蟮乃季S,進(jìn)行封裝。從智能化角度上看,其優(yōu)點是:引入了面向?qū)ο蟮木幊趟季S,初步實現(xiàn)由通過簡單的幾何元素(線、圓、圓弧等)畫圖轉(zhuǎn)變成由實體進(jìn)行拼圖,將大大提高工作效率。缺點是,系統(tǒng)參數(shù)化功能不強,系統(tǒng)應(yīng)用范圍過于專一,并且由于系統(tǒng)中描述的工程實體不具有自適應(yīng)性,不利于新產(chǎn)品的設(shè)計。
智能圖元化設(shè)計綜合了參數(shù)化設(shè)計和集成化設(shè)計的優(yōu)點,盡量避免他們的缺點,它是通過“智能圖元”來實現(xiàn)。智能圖元是完全按照“面向?qū)ο蟆钡乃季S上建立的,它外在表現(xiàn)為圖形的集成,但又不同于集成化設(shè)計,首先,智能件圖元表現(xiàn)的圖形不是完全針對某個產(chǎn)品,而是針對常用圖形單元;其次,智能圖元具有良好的參數(shù)化;最后,也是最重要的,智能圖元具有自適應(yīng)性,能夠根據(jù)一定的外在條件改變自己的拓?fù)鋵傩,能夠真正實現(xiàn)“拼圖”功能。4.2參數(shù)化設(shè)計原理
CAD系統(tǒng)的參數(shù)化設(shè)計主要是針對產(chǎn)品建模,當(dāng)前,在產(chǎn)品建模中,也主要是約束建模。在產(chǎn)品約束建模中,將工程知識與產(chǎn)品模型的幾何元素和拓?fù)潢P(guān)系結(jié)合起來,建立圖形和工程信息的聯(lián)系,實現(xiàn)計算機參數(shù)化設(shè)計的智能化。
實現(xiàn)參數(shù)化CAD系統(tǒng)的關(guān)鍵是建立參數(shù)化模型。模型的建立需要圖形信息的描述。圖形信息包括幾何信息和拓?fù)湫畔ⅰM負(fù)湫畔⒅饕敲枋鰩缀涡畔⒅g的約束。參數(shù)化所要解決的二個主要問題:約束的描述和約束的求解。
4.2.1約束的描述
設(shè)計過程可視為約束滿足的過程,設(shè)計活動本質(zhì)上是通過提取產(chǎn)品有效的約束來建立其約束模型并對約束求解。約束可以解釋為若干個對象之間的關(guān)系,也就是限制一個或多個對象滿足一定的關(guān)系R(A、B、C……),對約束的求解就是找出約束為真的對象的值。
在參數(shù)化模型中約束可分為幾何約束和工程約束面向二大類。
幾何約束是指幾何元素之間滿足的某種關(guān)系.利用幾何約束,就可以方便地表達(dá)其設(shè)計意圖。
幾何約束包括結(jié)構(gòu)約束和尺寸約束,其中結(jié)構(gòu)約束是指拓?fù)渑c結(jié)構(gòu)上的約束,體現(xiàn)的是圖形元素之間的關(guān)系,在參數(shù)化設(shè)計中,一般是不變動的對象,又成為不變約束,主要包括水平、鉛垂、共點、相切、平行、垂直、共線、夾角等約束。尺寸約束是指固定幾何元素之間相對位置的約束,是對圖形元素的幾何屬性的描述,一般是可變的對象,又稱為可變約束,包括角度、長度、半徑、坐標(biāo)、方向等約束。
由于給予變分幾何的方法用多元非線形方程組來描述一組約束,采用數(shù)值方法迭代求解,能較好地解決復(fù)雜的約束關(guān)系。因此,本文采用了變分幾何為核心算法的基礎(chǔ),同時對同樣存在的效率問題作了修改和完善,并提高了可靠性。
基于變量幾何法的參數(shù)設(shè)計中,約束描述方法是將其表示為代數(shù)方程組。對圖形實體的所有幾何或尺寸約束都可以表示為方程,方程中的變量是坐標(biāo)點的分量。這些點一般稱為特征點。在二維圖形中,每個特征點有二個自由度,即(x,y)坐標(biāo)值。用N個特征點定義的圖形共有2N個自由度。相應(yīng)需要建立2N個獨立約束的方程組才能唯一確定圖形的形狀和位置。
結(jié)構(gòu)約束有水平、鉛垂、共點、相切、平行、垂直、點在直線上,相切、共線、共圓,固定點等。尺寸約束有點到點的距離,夾角,半徑等。對于工程約束,也可以轉(zhuǎn)化成幾何或尺寸約束。
以上幾種約束的表示方法如下:
(1)水平:y2-y1=O
(2)鉛垂:x2-x1=O
(3)直線1((xl,y1),(x2,y2))與直線2((x3,y3),(x4,y4))平行:
(x2-x1)*(y4-y3)-(y2-y1)*(x4-x3=O
(4)直線1((xl,yl),(x2,y2))與直線2((x3,y3),(x4,y4))垂直:
(y2-yl)*(y4-y3)+(x2-xl)*(x4-x3)=0
(5)點((x1, y1)在直線((x2,y2),(x3,y3))上:
(x2-xl)*(y3-y1)-(y2-y1)*(x3-x1)=O
工程約束是指尺寸之間的約束關(guān)系以及變量尺寸和其它外在設(shè)計變量之間的約束關(guān)
系,通過人工定義尺寸變量及它們之間在數(shù)值上和邏輯上的關(guān)系來表示。相應(yīng)的,在參數(shù)化設(shè)計系統(tǒng)中,設(shè)計人員根據(jù)工程關(guān)系和幾何關(guān)系來指定設(shè)計要求,要滿足設(shè)計要求,不僅需要滿足尺寸或工程參數(shù)的初值,而且要在每次改變這些設(shè)計參數(shù)來維護(hù)這些基本關(guān)系,其中尺寸值是可以變的,而幾何元素的各種連接幾何信息是不變的。圖形參數(shù)化設(shè)計的本質(zhì)是根據(jù)圖形中的不變約束,進(jìn)行幾何求解,確定可變約束,產(chǎn)生新的圖形的過程。
4.2.2基于變量幾何法的約束的求解
在參數(shù)化圖形中,含有N個特征點,則在二維平面中,將所有特征點的未知分量寫成分量:
x=(x1,x2,…,xn)T, n=2N,表示形體的總自由度
同樣,將已知的尺寸標(biāo)注約束方程的值,包括結(jié)構(gòu)約束條件在內(nèi),也寫成
矢量:
d=(d1,d2,…,dn)T,
于量,變量幾何的一個實例就是求解以下一組非線形方程組的一個具體解:
或?qū)懗梢话阈问剑?SPAN lang=EN-US>F(xi,dI)=0 i=1,2,3,…,n
約束方程組中有三個方程用來阻止剛體的平移和旋轉(zhuǎn),剩余的(n-6)個約束取決于具體的尺寸標(biāo)注方法和約束的類型等條件。求解非線形方程組的具體方法是牛頓迭代,即xn+1=xn-[F(xn)]-1F(xn)
或J·△x=r
其中△x={△x 1,△x 2,…△x n}T 表示各個自由度的少量位移。
r={-F1,-F2,-Fn}T,表示方程組的殘余個數(shù)。
在變量幾何法中,約束轉(zhuǎn)化為一系列以特征點為變量的非線形方程組,對于給定的約束,通過數(shù)值法求解非線形方程組確定出幾何細(xì)節(jié)。
4.2.2參數(shù)化設(shè)計實現(xiàn)
參數(shù)化設(shè)計實現(xiàn)的流程圖如圖4-1所示。
從這個流程圖上,整個參數(shù)化過程是圍繞“參數(shù)模型”,也就是約束的方程建立和求解。在注解過程中,如果圖形中的圖形元素較多,則求解的方程回很多,使得求解的復(fù)雜程度大,時間長,未了簡便方程組的求解,采用分解的方法,簡化求解的復(fù)雜度。也正是如此,參數(shù)化設(shè)計適合于一些簡單的圖紙設(shè)計,而對于復(fù)雜的圖形,由于方程組求解的時間太長而不適用;
4.3集成化CAD設(shè)計
集成化CAD設(shè)計是面向?qū)ο蟮木幊趟季S用在CAD系統(tǒng)中的產(chǎn)物。在傳統(tǒng)的CAD系統(tǒng)中,設(shè)計者所面對的和所操作的是一些簡單幾何的點、線、圓、圓孤等,其圖形設(shè)計思維是:由簡單幾何(線、圓、圓弧等)一零件圖形一產(chǎn)品圖形。參數(shù)化設(shè)計主要是實現(xiàn)第一步,利用約束方程組的求解,進(jìn)而實現(xiàn)產(chǎn)品的結(jié)構(gòu)單元圖的實現(xiàn),這對于簡單的圖形或草圖是合適的,但對于工程中復(fù)雜的圖形來說,是不合適的。而集成化CAD,它主要是高效率地實現(xiàn)第二步過程,忽略了第一步,直接由零件圖形拼成產(chǎn)品圖形。
集成化CAD設(shè)計,是專用CAD系統(tǒng)中所采取的設(shè)計方法,主要是針對一些行業(yè)(如建筑設(shè)計、室內(nèi)設(shè)計等行業(yè)),在這些行業(yè)的工程圖紙內(nèi)容描述中,僅僅是一些具有該行業(yè)中的實際實體意義的實體圖形組合而成,例如門實體、窗實體和墻實體等。而這些具有實際實體意義的實體,也正是面向?qū)ο蟮木幊叹幚碇械膶ο螅?SPAN lang=EN-US>object,進(jìn)一步抽象成具有共同特定屬性的“類”,并賦予這些實體相應(yīng)的屬性,即類的成員變量、成員函數(shù)等。
通過對這些行業(yè)中的實體封裝以后,面對系統(tǒng)操作者的都是一些具有實際意義的行業(yè)實體和繪圖相關(guān)實體,而屏蔽了幾何的點、線、圓、圓弧等。最重要的突破是對工程圖形的理解的突破,由原先簡單幾何的點、線、圓、圓弧等組合成一個產(chǎn)品圖形,發(fā)展到由工程實體圖形拼成產(chǎn)品圖形,是一種徹底的組裝裝配圖,將面向?qū)ο蟮母拍钔耆氲?SPAN lang=EN-US>CAD設(shè)計中,集成化設(shè)計基本脫離了參數(shù)化建模的過程,對每個實體的參數(shù)化功能要求不高。
在傳統(tǒng)的CAD系統(tǒng)中,我們以在PC機上最流行的AutoCAD軟件為例。在其二次開發(fā)中,AutoCAD軟件R14以前的版本中,對典型的面向?qū)ο蟮恼Z言C++中“類”不支持,故只能做一些參數(shù)化的二次開發(fā),而不能對Au七。CAD軟件進(jìn)行真正意義上的面向?qū)ο蟮募砷_發(fā);但是,AutoCAD軟件的R14版本徹底改變了這種情況,Autodesk公司在AutoCAD R14中吸收了ObjectARX技術(shù),可以對AutoCAD R14版本進(jìn)行ARX開發(fā)。利用C++中的“類”的技術(shù),將AutoCAD系統(tǒng)的基本核心模塊(如各種幾何操作函數(shù))進(jìn)行封裝,而不必關(guān)心其內(nèi)部是如何操作的,減少重復(fù)開發(fā)底層模塊的工作,把主要精力放在開發(fā)應(yīng)用模塊上,擴充已有模塊的功能,體現(xiàn)了面向?qū)ο蠹夹g(shù)中的“封裝性”、“繼承性”。
4.3.1集成化CAD系統(tǒng)的總體結(jié)構(gòu)
集成化CAD系統(tǒng),從系統(tǒng)的整體結(jié)構(gòu)上,在CAD系統(tǒng)的UI之上,建立集成化后工程實體的UI,通過UI進(jìn)一步調(diào)用集成后的對實體操作的UI。在AUTOCADRl4的面向?qū)ο蟮募砷_發(fā),引入了ObjectARX技術(shù),增加了對“類”的全面支持,應(yīng)用了具有面向?qū)ο蠹夹g(shù)中“類”特性的實體模塊,將所有操作集成在若干類的函數(shù)或方法里,其體系結(jié)構(gòu)簡圖見圖4-2。面向?qū)ο蟮?SPAN lang=EN-US>CAD集成軟件主要包括了實體核心模塊、信息存儲模塊和用戶界面模塊。其中,實體核心模塊是最主要、最基礎(chǔ)的模塊,是它對CAD系統(tǒng)進(jìn)行徹底的封裝,使得系統(tǒng)在用戶面前體現(xiàn)的不再是簡單幾何的點線圓,而是一個個工程實體;同時,它也是不同行業(yè)對CAD不同集成要求的具體體現(xiàn)。
1、用戶界面
用戶使用系統(tǒng)接觸到的第一個功能就是用戶界面。軟件工程的一個重要指標(biāo)就是用戶界面友好、操作方便。根據(jù)目前的潮流,以Windows為基礎(chǔ)的交互式的界面最受人們歡迎。AutoCAD的界面就是以Windows為基礎(chǔ)的交互式的界面,而且,AutoCAD軟件有一個很好的接口(對acad.mns文件進(jìn)行編輯)讓用戶自行開發(fā)所須界面。故,可以以AutoCAD的界面為基礎(chǔ),根據(jù)各個行業(yè)的行業(yè)習(xí)慣,把不同實體進(jìn)行歸類,編寫所須的菜單條和對話框去觸發(fā)各個實體的屬性、函數(shù)和方法。
2、實體集合
實體(Object)是面向?qū)ο笾械暮诵膬?nèi)容,實體也是面向?qū)ο笙到y(tǒng)中的唯一的操作者和承受者,總的來說,實體主要由三部分構(gòu)成:屬性、方法和函數(shù)。實體也是面向?qū)ο蟮?SPAN lang=EN-US>CAD集成開發(fā)系統(tǒng)中的最重要的核心部分,根據(jù)工程圖紙正系統(tǒng)中所實現(xiàn)的內(nèi)容,主要分為:圖紙實體、通用實體、工程實體和.工具實體。圖紙實體主要是描述每一張圖紙的所有特征信息和相關(guān)圖紙操作;通用實體主要是描述AutoCAD中的所有系統(tǒng)變量及其值的設(shè)置;工程實體是描述工程產(chǎn)品的特征信息及其信息處理服務(wù),工具實體主要是對整個圖紙的信息標(biāo)注。
3、信息存儲
在CAD系統(tǒng)里,一般對一張圖紙信息的存儲是通過一個文件(即圖形數(shù)據(jù)庫)實現(xiàn),而在這個文件中,文件圖形數(shù)據(jù)庫中僅僅存儲圖紙的幾何點、線、圓和圓弧等信息;而在面向?qū)ο蟮?SPAN lang=EN-US>CAD集成開發(fā)系統(tǒng)里,需要存儲的是整個圖紙的實體集合信息,并且由于每個實體又是由若干幾何點、線、圓和圓弧等信息構(gòu)成。因此,僅僅一個文件還是不夠的,還需要利用附加文件去記錄圖紙中所有實體完整的特征產(chǎn)品信息。
4.3.2實體模型
在面向?qū)ο蟮?SPAN lang=EN-US>CAD集成開發(fā)系統(tǒng)里,系統(tǒng)數(shù)據(jù)模型的基本元素就是ARX開發(fā)語言中的(多是C/C++語言)類,類實例化后稱為對象或?qū)嶓w,整個圖紙就是一個實體集合,主要由四大塊組成:圖紙實體集合、通用實體集合、工程實體集合和工程實體集合。其中,圖紙實體、通用實體和工具實體都為獨立類,沒有父類或子類;而工程實體集合中的各工程實體是由具有基本特征的基類實體派生而來,具有一個基類和若干個派生類,并且各實體集之間互相獨立(如圖4-3所示)
實體集合中的各類實體在圖紙的繪制和再認(rèn)識過程中,分工明確,互不干涉。在圖紙實體集合里,圖紙信息實體主要管理圖紙的圖幅、比例等圖紙?zhí)卣鲗傩缘脑O(shè)置;圖紙操作實體主要管理圖紙的打印、視圖的放大縮小等等。在通用實體集合里,圖層信息實體主要管理圖層(Layer)中的線型、顏色等圖層特征屬性;空間信息實體主要管理圖紙的維數(shù)、視圖的種類等。在工具實體集合里,尺寸標(biāo)注實體管理圖紙的尺寸標(biāo)注;其他標(biāo)注實體管理漢字的標(biāo)注、公差的標(biāo)注等等。在最核心的工程實體集合里,基類實體主要管理所有工程實體都具有的共同的屬性及方法,而派生類工程實體是基類實體的派生類,是不同行業(yè)甲的具體實體,它不僅繼承了基類實體的所有共同屬性和方法,還具有工程實體一些獨特的屬性和方法。
在上面所說的四種實體里,圖紙實體、通用實體、工具實體都是一些簡單實體,基本上是對一些AutoCAD的操作命令進(jìn)行集成,使之能夠?qū)こ虒嶓w進(jìn)行操作,并且符合不同行業(yè)的命名規(guī)則。而最復(fù)雜的是工程實體,首先,每個行業(yè)中工程實體的種類繁多,必須進(jìn)行細(xì)致有序的分類,使之符合行業(yè)習(xí)慣;其次,確定基類與派生類之間的關(guān)系,有效地定義基類的各個屬性、方法和函數(shù),便于擴充派生類;最后,要完整的定義每一個工程實體的所有的屬性、方法和函數(shù),特別重要的是,要很好地利用AutoCAD已提供的所有信息資源。對于以上的問題,第一,要對行業(yè)的需求十分清晰,能夠?qū)π袠I(yè)中涉及到的工程實體進(jìn)行歸納,要具有“面向?qū)ο蟆钡木幊趟季S;第二,基類涉及的屬性方法和函數(shù)基本上與實體圖形的操作有密切關(guān)系(如圖4-4所示);派生類主要涉及到工程實體的特征屬性、特征方法和特征函數(shù)(如圖4-5示),完整地定義其基類和派生類是“面向?qū)ο蟮?SPAN lang=EN-US>CAD集成開發(fā)系統(tǒng)”中的核心部分;第三,要充分的利用AutoCAD已提供的資源,主要就是要利用AutoCAD系統(tǒng)中的*,dwg文件的圖形文件數(shù)據(jù)庫中的資源,熟悉各種AutoCAD中實體(例如點、直線、圓弧等)的DXF碼規(guī)則,并從中提取相關(guān)特征信息;第四,由于在AutoCAD中的.dwg文件中,存儲的是一些簡單的幾何的點、直線、圓、弧等信息,故還需要另一個文件去記錄整個圖紙的工程實體圖形的邏輯關(guān)系(下一節(jié)詳細(xì)介紹),隨同*.dwg文件的打開而打開,標(biāo)識*.dwg文件圖形中的實體圖形邏輯關(guān)系,隨同*.dwg文件的關(guān)閉而記錄*.dwg文件中的實體圖菜邏輯關(guān)系。
4.3.3信息存儲
如前所述,在AutoCAD中的*,dwg文件中只存儲簡單的幾何點、直線、圓、圓弧等信息,而在面向?qū)ο蟮?SPAN lang=EN-US>AutoCAD集成開發(fā)系統(tǒng)里,還所須存儲的工程實體的信息,而這些實體在圖紙上就是通過若干簡單的幾何點、直線、圓、圓弧等信息的集成而體現(xiàn)的。因而,對于系統(tǒng)的信息存儲,不僅利用*.dwg文件的圖形數(shù)據(jù)庫記錄整個圖紙的簡單幾何信息,還須記錄實體信息,或者說,記錄描述圖紙的信息,這對于圖形的再認(rèn)識是非常重要的。圖紙信息存儲主要包括二個方面:一、單個實體的信息存儲;二、整個圖紙里所有的實體的綜合信息存儲。
1、單個實體的信息存儲
單個實體是通過點、直線、圓、圓弧等信息的集成而體現(xiàn)的,因此,在對實沐類進(jìn)行定義時,可充分利用AutoCAD中的“實體集合”這個設(shè)計概念,把*.dwg圖形數(shù)據(jù)庫中的若干幾何信息集成起起來,使之成為一個整體,再將此“實體集合”并入實體類的一個屬性(見圖4-6),當(dāng)實體在繪制、移動等操作中被調(diào)用。
2、整個圖紙實體綜合信息的存儲
用戶對實體進(jìn)行查找、移動、旋轉(zhuǎn)、刪除等操作,系統(tǒng)首先要在整個圖紙中搜索該實體,因而,系統(tǒng)必須對整個圖紙的實體的綜合信息進(jìn)行存儲,多采用鏈?zhǔn)浇Y(jié)構(gòu),設(shè)置一個鏈頭和一個指向當(dāng)前實體的指針。采用鏈?zhǔn)浇Y(jié)構(gòu)的原因是它很方便進(jìn)行查找、插入、刪除,效率高,簡單明了。(見圖4-7)
4.3.4參數(shù)化過程
在面向?qū)ο蟮?/SPAN>CAD集成開發(fā)系統(tǒng)里,我們操作的對象是工程實體,由于同一類型的工程實體的由于各自的型號不同,在圖紙表現(xiàn)上也有不同的,例如對于建筑圖紙中的“門”實體,各種門的高度與寬度是不同的,因此在圖紙表現(xiàn)上也應(yīng)該區(qū)分的,需要一定的參數(shù)化的功能,而參數(shù)化的數(shù)據(jù)就是實體自身的特性尺寸。在系統(tǒng)里,對工程實體是作為一個類的實例來處理,將所有的屬性函數(shù)封裝起來,利用類的函數(shù)對實體的特性尺寸進(jìn)行重新設(shè)置。因此,通過實體的函數(shù)對實體屬性進(jìn)行改變和對實體函數(shù)的再調(diào)用,實現(xiàn)參數(shù)化CAD系統(tǒng)。
簡圖如下:
4.4智能圖元設(shè)計法
智能圖元設(shè)計法是以智能圖元為核心、以圖形的可分解性為思路的一種全新的CAD系統(tǒng)設(shè)計。它不同于參數(shù)化設(shè)計和集成化設(shè)計,從設(shè)計思路上說,依據(jù)“一個復(fù)雜圖形是由若干個簡單圖形邏輯組合而成”,升華了“簡單幾何的點線圓圓弧組合成產(chǎn)品圖形”的思維。參數(shù)化設(shè)計是針對建立的參數(shù)模型,通過傳遞的參數(shù),根據(jù)參數(shù)模型的拓?fù)潢P(guān)系,組合簡單的幾何實體(點、線、圓、圓。;集成化設(shè)計是針對專門行業(yè)中的工程實體的圖形單元設(shè)計,是圍繞整個圖紙而言。智能圖元設(shè)計法與集成化設(shè)計一樣,是面對對象的,但智能圖元設(shè)計法是以智能圖元為目標(biāo),不受行業(yè)的限制,擴寬了系統(tǒng)應(yīng)用范圍,并且,智能圖元設(shè)計法是針對圖形的,最重要的是,智能圖元的功能遠(yuǎn)比工程實體圖形單元的功能豐富。智能化圖元也具有參數(shù)化功能,集成到智能圖形單元的“類”屬性和函數(shù)中。
對于每一張工程產(chǎn)品圖紙,盡管圖與圖之間是千差萬別的,但是一個產(chǎn)品圖的某個結(jié)構(gòu)總是可以從其他零產(chǎn)品圖中找到相同或相似的。為了有效地利用這些相同或相似的圖形單元,提出拼圖法繪圖:在裝配圖中,一個機器由若干個零件圖組裝而成;而在零件圖中,一個零件可看作是由若干圖形單元組成,如:一個零件外型圖形單元和若干個零件內(nèi)腔圖形單元(包括開孔)組成。歸納來說,無論是裝配圖還是零件圖,都是由若干圖形單元拼成,而且不是簡單的把圖形放到一起,還存在圖形單元的變化。例如:由零件圖拼成裝配圖中,需要有部分零件圖的打斷、消隱等工作;由零件外型圖形單元和內(nèi)腔圖形單元組成零件圖時,更要涉及到圖形圖形之間的打斷、消隱、圓角化等等。這就決定了圖形單元應(yīng)具有部分智能化,命名為智能圖元,它與普通的圖形單元最大的不同在于:智能圖元可以在不同的周圍圖形環(huán)境下自動調(diào)整其表現(xiàn)形式。這種以“智能圖元”為設(shè)計單元的設(shè)計方法稱為智能圖元法。
4.4.1智能圖元
智能圖元是具有一定拓?fù)潢P(guān)系、特征點、內(nèi)函數(shù)、外函數(shù)和幾何單元的圖形單元,是拼圖法繪圖思維中的基本單元。特別地,智能圖元具有面向?qū)ο笤O(shè)計中的“類”的特性,即封裝性和繼承性。如前所述,任何一幅圖形都是由若干圖形單元按照一定的邏輯關(guān)系組合而成,例如,在裝配圖中,圖形單元表現(xiàn)為零件圖形單元,而在零件圖中,圖形單元則表現(xiàn)為零件結(jié)構(gòu)單元。
1、智能圖元的模型
在系統(tǒng)實現(xiàn)中,智能圖元是一個典型的“類”的結(jié)構(gòu),包括幾何單元集合、拓?fù)潢P(guān)系描述、特征點集合、內(nèi)函數(shù)和外函數(shù)(見圖4-9),定義如下:
class Intellitive_Graphics_unit
{
Private:
INT FeatUre_size[MAX];//特征尺寸
INT Circumstance_ID;//環(huán)境ID
ads_point base_point;//基點
INT Entity_Color;//顏色
INT Entity_Lttype;//線形
Public:
RTPICKS Geometry_Entitvy;//幾何單元實體幾何
INT Topology_ID;//拓?fù)潢P(guān)系的ID
RTPICKS Feature_Point;//特征點
Void Show(INT scale);//顯示
Void delete();//刪除
Void move(ads_point new_position);//移動
Void rotate(ads_real_new_angle);//旋轉(zhuǎn)
Void Get_circumstance_ID();//取得環(huán)境ID
Void adapt_function(INT circumstance_ID);//外函數(shù)
幾何單元是智能圖元的最基本圖形結(jié)構(gòu)單元的集合,例如線、圓、圓弧等,其具體的組合規(guī)則是受拓?fù)潢P(guān)系控制;拓?fù)潢P(guān)系是智能圖元的內(nèi)在特征屬性,它是具體指導(dǎo)幾何單元的有機地組合方式,它和幾何單元一起構(gòu)成了智能圖元的外在表現(xiàn)形式;特征點是智能圖元對外界信息響應(yīng)的入口點,當(dāng)智能圖元在繼承另一個智能圖元時的拓?fù)潢P(guān)系的改變,以及各智能圖元在圖紙中組合時的拓?fù)潢P(guān)系改變,都是通過對特征點的激活,調(diào)用圖元的外在函數(shù),從而使智能圖元的拓?fù)潢P(guān)系按照一定的規(guī)則進(jìn)行改變,重要的是,它能夠根據(jù)已確認(rèn)的規(guī)則而實現(xiàn)智能化。外在函數(shù)就是一個智能圖元響應(yīng)具體的外界信息時,其拓?fù)潢P(guān)系改變的具體方式,外在函數(shù)種類繁多,全部存放在智能圖元的外在函數(shù)庫里,根據(jù)具體的外界信息,選擇相應(yīng)的外在函數(shù);但它也受拓?fù)潢P(guān)系和幾何單元的約束,就好象無法求得二條平行線的交點;內(nèi)在函數(shù)是指對智能圖元幾何單元操作的具體功能,例如:繪制、移動、刪除、旋轉(zhuǎn)等等。
2、智能圖元的結(jié)構(gòu)特征
智能圖元,是圖紙單元與“面向?qū)ο蟆痹O(shè)計思維的結(jié)合體,不僅具有類的兩大屬性:封裝性、可繼承性;而且具有圖紙單元的特征不定性。
封裝性:對于某個智能圖元的具體操作,能且只能通過對其內(nèi)部函數(shù)或(和)外部函數(shù)實現(xiàn),而不能通過其他操作實現(xiàn),以防止產(chǎn)生信息干擾。
可繼承性:一個智能圖元不僅可以是其他智能圖元的父圖元,也可以是一個或多個智能圖元的子圖元,最底層的智能圖元稱為基圖元,他們沒有父圖元;最上層的智能圖元稱為表圖元,他們沒有子圖元,其集成度最高;就象一個機器的裝配圖由若干個零件圖組成,而一個零件圖是由若干個結(jié)構(gòu)單元組成,整個智能圖元集合屬于一種比較復(fù)雜的層次結(jié)構(gòu),如圖4-9。
特征不定性:當(dāng)一個智能圖元繼承另一個智能圖元后,其屬性并不是被簡單的擴大了,而是一些屬性消失而另外一些屬性出現(xiàn)了。這也是智能圖元之間由于智能圖元特征點的激活而使智能圖元拓?fù)潢P(guān)系邏輯迭加、幾何單元的改變(打斷,消隱等)表現(xiàn)形式。
3、智能圖元的工作模式
智能圖元設(shè)計法是以智能圖元為最小設(shè)計單位,利用智能圖元對環(huán)境的自適應(yīng)功能,完成實際意義的拼圖法設(shè)計,智能圖元對環(huán)境的自適應(yīng)功能首先是通過對智能圖元的特征點激活開始。詳細(xì)見圖4-10。
通過對特征點的激活,首先判斷激活值,是調(diào)用外部函數(shù)還是調(diào)用內(nèi)部函數(shù),如果是調(diào)用內(nèi)部函數(shù),則根據(jù)激活值,調(diào)用某個內(nèi)部函數(shù),實現(xiàn)智能圖元自身的操作,如刪除、放大、旋轉(zhuǎn)等等;如果是調(diào)用外部函數(shù),則再獲取周圍圖元信息,并以此查詢外部函數(shù)庫,得到某個外部函數(shù),則調(diào)用此外部函數(shù),實現(xiàn)智能圖元的拓?fù)潢P(guān)系和幾何單元信息的改變。(如圖4-11所示)
4.4.2智能圖元法程序設(shè)計步驟
1)通過閱讀常用圖紙信息,提煉出其中具有一般特性的圖形單元。提取圖形單元的一般規(guī)則:
(l)先提取結(jié)構(gòu)簡單的基圖元,再提取高層結(jié)構(gòu)復(fù)雜的圖元,充分利用智能圖元的繼承性。
(2)基圖元的提取要相對通用但不完全通用,而高層結(jié)構(gòu)復(fù)雜的圖元則相對專用。
2)記錄每個圖元的拓?fù)潢P(guān)系、特征點
3)建立圖形單元拓?fù)潢P(guān)系變化庫,賦予圖元智能化,并建立智能圖元的外在函數(shù)庫。
4)建立智能圖元的調(diào)用規(guī)則:復(fù)雜智能圖元優(yōu)先于簡單智能圖元。
4.4.3智能圖元的分類
根據(jù)拼圖法對智能圖元的智能化的側(cè)重點要求不同,將智能圖元分為二類:基于產(chǎn)品結(jié)構(gòu)的智能圖元化和基于特性尺寸的智能圖元化;诋a(chǎn)品結(jié)構(gòu)的智能圖元主要是對各種圖形單元的抽象,其重點是對特征點的激活和外函數(shù)中拓?fù)潢P(guān)系對環(huán)境適應(yīng)的描述,建立此類智能圖元難度很大;而基于特性尺寸的智能圖元主要是對拓?fù)潢P(guān)系固定的圖形單元的抽象,建立此類智能圖元難度不大,這類智能圖元一般都是基圖元,很少有繼承圖元。例如,對各種標(biāo)準(zhǔn)件和通用件等系列化的產(chǎn)品等的引用。
1、智能圖元模型實例
按照智能圖元提取的一般規(guī)則,對于一般工程圖紙的實際狀況,常用簡單零件結(jié)構(gòu)的外形是四邊形(圖4-11),對于此類四邊形的定義,根據(jù)“基圖元的提取要相對通用但不完全通用”原則,一般是用梯形結(jié)構(gòu)來歸納,其定義如下:
幾何單元:五條線段:a,b,c,d,e
拓樸關(guān)系:滿足梯形定義(a//c),a,b線交B點,a、d線交A點,d、c線交C點,c、b線交D點,e是梯形的中線。
特征點:可定義為四個頂點(A、B、C、D)或線段中點或其他點
內(nèi)函數(shù):智能圖元的移動、刪除、旋轉(zhuǎn)等
外函數(shù):線段的打斷、與凹凸槽的接口等
2、智能圖元繼承實例
為減少圖元開發(fā)的重復(fù)性工作,應(yīng)充分利用智能圖元的繼承性,例如,另外一個智能圖元繼承上面的智能圖元,是在圖4所示的智能圖元的基礎(chǔ)上,增加內(nèi)腔結(jié)構(gòu)智能圖元(圖4-12),形成子圖元,其定義如下:
幾何單元:若干線段
拓?fù)潢P(guān)系:滿足圖4-12形狀
特征點:Ll、LZ線段上的所有點
內(nèi)函數(shù):智能圖元的移動、刪除、旋轉(zhuǎn)等
外函數(shù):線段的打斷,圓角化等
3、智能圖元拼圖實例
圖4-12所介紹的圖元為一個簡單的機架結(jié)構(gòu),現(xiàn)在要完整其結(jié)構(gòu),利用拼圖,拼上一個內(nèi)部支座的智能圖元(圖4-13),激活特征點,調(diào)用外部函數(shù),智能圖元將會自動打斷如圖4-12中所示的Ll、L2線段。
4.4.4智能圖元法繪圖的特點.
1)繪圖效率高,把若干個圖元(特別是集成度較高的表面圖元)按照一定的邏輯順序拼成一幅圖,當(dāng)然比用簡單的幾何繪圖元素(線、圓、圓。├L圖的效率高的多。
2)繪圖范圍廣,參數(shù)化好。圖元不同與AutoCAD中的“block”,他可以在基本的拓樸關(guān)系變的前提下,圖元中的幾何單元可以呈現(xiàn)出多種圖形,并且,當(dāng)圖元在繼承其他圖元或圖元互相組成完整圖時,可改變拓樸關(guān)系,更使圖形多種多樣。
3)繪圖準(zhǔn)確性高,通過激活圖元的特征點,可以自動改圖元的拓樸關(guān)系,實現(xiàn)對某些線條的添加、刪除和剪切,可減少繪圖中常見的錯誤。