聞達,李夢楠
1.一汽-大眾汽車有限公司 長春 130000
2.吉林省產(chǎn)品質(zhì)量監(jiān)督檢驗院 長春 130000
知識工程的概念和技術(shù)由美國斯坦福大學(xué)計算機科學(xué)系費根鮑姆教授于1977年第五屆國際人工智能聯(lián)合大會上第一次提出,最基本的含義就是人工智能在知識信息處理方面的發(fā)展,利用計算機系統(tǒng),采用“規(guī)則”的形式,完成知識的采集、整理、構(gòu)造、維護和應(yīng)用的工作。二次開發(fā)是以工程軟件為載體,對其功能進行定制開發(fā),以滿足用戶的特定需求,對于提高設(shè)計效率與質(zhì)量具有重要作用。
作為領(lǐng)先的CAD/CAE/CAM一體化軟件,Catia被廣泛應(yīng)用于航空航天、汽車、造船及電子電器等行業(yè)。Catia的通用模塊雖然適用于各種產(chǎn)品的設(shè)計需求,但也存在著針對性不強、難以應(yīng)對不同用戶在技術(shù)標準方面的差異及不便于進行標準化設(shè)計的短板。知識工程和二次開發(fā)技術(shù)能很好地解決這些問題,在提高Catia的專業(yè)性及應(yīng)用效率,充分發(fā)揮軟件的使用效益方面具有十分重要的意義。
在汽車開發(fā)流程的不同節(jié)點,需要通過試制各類實體模型對造型數(shù)據(jù)進行檢查確認[1]。試制模型通常由骨架和外覆蓋件組成,骨架作為內(nèi)部核心和裝配本體,通過支撐裝載內(nèi)外飾樹脂樣件來真實體現(xiàn)造型表面的數(shù)據(jù)狀態(tài)。模型骨架一般由方鋼焊接而成,表面覆蓋安裝鋼板,如圖1所示。
圖1 數(shù)據(jù)控制模型方鋼骨架
模型骨架雖然結(jié)構(gòu)復(fù)雜,但具有規(guī)律性,不同車型的模型骨架設(shè)計原理基本一致,區(qū)別主要在于全周尺寸的變化,方鋼型號及具體排列不同,安裝鋼板的尺寸形狀及分布位置差異。因此,可根據(jù)骨架自身結(jié)構(gòu)特點,利用知識工程和二次開發(fā)技術(shù)定制開發(fā)專業(yè)的特征插件及設(shè)計模板,優(yōu)化骨架的設(shè)計方式。
模型骨架的主體結(jié)構(gòu)由方鋼搭建而成,可以考慮將方鋼作為基礎(chǔ)元素,通過指定邊界條件將特定規(guī)格的方鋼插入到需要的位置,并預(yù)留輸入接口,方鋼規(guī)格及與邊界條件的距離參數(shù)可調(diào)。通過不斷調(diào)用特征插件插入方鋼,最終完成骨架主體的創(chuàng)建,不需要額外建模設(shè)計。基于此種理念,可以使用產(chǎn)品知識模塊(PKT)開發(fā)參數(shù)化的方鋼特征模板。
首先,分析方鋼結(jié)構(gòu)特點及邊界條件。方鋼的截面為矩形,包括長寬邊,且自身有一定的壁厚,這三個尺寸決定了方鋼的具體規(guī)格,設(shè)為可調(diào)參數(shù)。其次,如果想通過一些邊界條件把方鋼直接插入到某個特定位置,可以歸納出很多種組合。比如“前后左下”“前后右下”“前后左右下”“前后左右上”等。雖然邊界條件的設(shè)置很靈活,但是確定邊界條件的原則要基于正常的設(shè)計邏輯和設(shè)計習(xí)慣,只有符合要求的邊界條件才是最優(yōu)的,是最便于調(diào)取使用特征模板的。
此處,選擇“前后左下”作為邊界條件,且方鋼與四個邊界的距離均設(shè)為可調(diào)參數(shù),默認狀態(tài)下數(shù)值為0。調(diào)整接口的設(shè)置就是為了實現(xiàn)參數(shù)化設(shè)計,帶參數(shù)設(shè)計可以對方鋼特征進行快速調(diào)整,通過參數(shù)值的變化自動改變方鋼規(guī)格、長度及位置,實現(xiàn)實時更新,不需要人為介入手動修改。
特征模板包括超級副本、用戶特征和文檔模板三種形式。這里以超級副本為例,最終的形式如圖2所示。
圖2 方鋼特征超級副本
模型骨架的安裝鋼板等其他元素也可以通過類似方式創(chuàng)建特征模板,這里不再贅述。最終,可以將組成骨架的基礎(chǔ)元素的特征模板集成到目錄瀏覽器中,就構(gòu)成了特征插件,如圖3所示。
圖3 方鋼骨架特征插件
分析骨架整體結(jié)構(gòu),根據(jù)骨架全周邊界設(shè)計一系列參考平面,作為方鋼插入的定位條件,如圖4所示。
圖4 骨架邊界參考曲面
同時,為了保證單一邊界調(diào)整時,其他邊界不會隨動,參考平面彼此間要相互獨立(可以統(tǒng)一以絕對坐標系作為偏移基礎(chǔ)),正常狀態(tài)下互不影響。參考平面的偏移值通過公式定義為調(diào)整參數(shù),對于左右對稱的平面,可將右側(cè)參數(shù)直接綁定左側(cè)參數(shù),以左側(cè)參數(shù)為統(tǒng)一輸入接口,如圖5所示。
圖5 骨架邊界參數(shù)及公式定義
將參考平面作為定位條件依次插入方鋼特征,逐步搭建出主體框架,如圖6所示。完成后,即可通過“骨架邊界參數(shù)”實現(xiàn)對全周尺寸進行驅(qū)動調(diào)節(jié)。主體框架作為基礎(chǔ)結(jié)構(gòu),針對具體模型,需要在局部區(qū)域增加或刪減方鋼特征。應(yīng)該注意的是,不論是基礎(chǔ)框架還是后期追加的方鋼,在插入時要盡量選擇參考平面作為邊界條件,目的就是為了在細節(jié)設(shè)計階段,涉及到去除不需要的方鋼時,不會造成連鎖反應(yīng),影響到其他方鋼的現(xiàn)有位置,造成骨架結(jié)構(gòu)變化。
(一)互聯(lián)網(wǎng)時代下的大數(shù)據(jù)發(fā)展是一個漫長的過程,即便數(shù)據(jù)已滲透于各個行業(yè)中,但人們還未能正確的認識到新事物的發(fā)展?fàn)顟B(tài)。以致于數(shù)據(jù)并不能充分的實現(xiàn)其價值??偠灾藗儗Υ髷?shù)據(jù)現(xiàn)有的認知還存在一些誤區(qū),專業(yè)知識還較匱乏,認識過于碎片化,還無法使其適應(yīng)新時期的種種要求。
圖6 方鋼骨架主體框架
前文已經(jīng)提到,為了消除彼此間的影響,參考平面要相互獨立。但這種做法也帶來了一些問題,如果對模板不了解或者無意間輸入了不合理參數(shù)(例如,當(dāng)前端平面的參數(shù)值大于后端平面時),骨架無法更新,設(shè)計模板會直接報錯甚至癱瘓。這點對于新手或者初次使用者來說是很不友好的,因為不了解模板的創(chuàng)建思路,也就很難排查報錯原因。所以,需要對各個參考平面的參數(shù)設(shè)置一系列規(guī)則、約束,通過程序控制來限制參數(shù)的不合理輸入。這時,就可以使用知識工程顧問模塊(KWA)來達到以上目的。以下是一個規(guī)則控制的應(yīng)用舉例。
正常狀態(tài)下,“前端左邊界”參數(shù)是小于“左邊界”參數(shù)的,可以制定這樣一個規(guī)則:當(dāng)錯誤輸入時,設(shè)計模板會自動識別并通過既定程序輸出一個修復(fù)結(jié)果,避免報錯,同時向使用者提示相關(guān)錯誤信息,而且在錯誤更正之前,提示會一直出現(xiàn)。程序語句示例如下:
在前面兩個邊界的基礎(chǔ)上,再考慮第三個邊界——“中部左邊界”。正常狀態(tài)下,“前端左邊界”“左邊界”“中部左邊界”三者的關(guān)系為“‘前端左邊界’<‘左邊界’<‘中部左邊界’”,當(dāng)輸入的“前端左邊界”大于最外側(cè)的“中部左邊界”時,經(jīng)過內(nèi)部程序計算,更新后的效果如圖7所示。
圖7 方程骨架邊界的規(guī)則控制
應(yīng)該注意的是,此時設(shè)計模板雖然可以繼續(xù)正常使用,但實際生成的是一個修復(fù)后的結(jié)果,此時 “前端左邊界”與“左邊界”顯示的參數(shù)與實際綁定的參考平面偏移值并不一致,通過程序的糾錯功能,將參考平面的偏移值強行定義成了可供調(diào)整的正確范圍內(nèi)的極限值。如圖7所示,由“前端左邊界”和“左邊界”定位的方鋼與最外層的方鋼(由“中部左邊界”定位)緊緊貼合在了一起。
以上程序示例只是最基本的條件語句,事實上,由于骨架結(jié)構(gòu)復(fù)雜,參考平面眾多,為了實現(xiàn)精細穩(wěn)定控制,參考平面不僅要考慮平行方向上的制約關(guān)系,還要同時考慮另外兩個垂直方向上的限制要求。因此,控制程序需要大量的多層條件語句的嵌套,涉及到許多基礎(chǔ)方鋼特征的激活和取消,理清其中的邏輯關(guān)系非常關(guān)鍵。
Catia的二次開發(fā)主要包括兩種方式,Automation API和CAA C++。Automation API是使用自動化應(yīng)用接口的宏,應(yīng)用VB Script作為編輯工具,是一種交互式的定制。該方式不僅可以錄制宏,記錄用戶的操作過程,自動生成代碼,也可以使用Visual Basic語言自主編寫程序。Automation API具備了與任何OLE所兼容的平臺進行通信的能力。CAA C++是基于組件的定制開發(fā),具有強大的交互、集成和用戶特征定義的功能,可以做精致的交互命令,并擁有一套自己的體系架構(gòu)。本文主要介紹基于Automation API方式的骨架設(shè)計模板交互界面的開發(fā)。
通過知識工程技術(shù)的應(yīng)用,方鋼骨架設(shè)計模板已經(jīng)具備了完整的參數(shù)化設(shè)計功能,通過參數(shù)修改、基礎(chǔ)元素的調(diào)用和規(guī)則程序的控制,即可快速生成滿足要求的骨架結(jié)構(gòu)。但是在應(yīng)用的過程中,由于邊界參數(shù)眾多(就本文所述設(shè)計模板來說,就有20多個),且只是簡單地羅列在結(jié)構(gòu)樹上,設(shè)計者必須清楚地知道參數(shù)與參考平面的對應(yīng)關(guān)系,這點對于新手或初用者來說需要花時間了解。同時,在自動更新的條件下,每次只能修改一個參數(shù),不能實現(xiàn)多參數(shù)聯(lián)合調(diào)整。所以,設(shè)計模板的實際操作體驗欠佳,缺少對邊界參數(shù)的集成和指引。一個很好的解決辦法,就是通過二次開發(fā)為骨架模板定制一個清晰直觀的人機交互界面。
人機交互界面要實現(xiàn)兩個目標:一是將所有邊界參數(shù)集成到一個界面上,提供指示說明并支持同時修改;二是在界面窗口打開時,通過初始化程序自動讀取骨架模板結(jié)構(gòu)樹上對應(yīng)的邊界參數(shù)值。另外,如若界面中某些參數(shù)被修改并最終執(zhí)行,結(jié)構(gòu)樹上的參數(shù)值也要自動更新,也就是說,界面窗口的參數(shù)值與結(jié)構(gòu)樹上的參數(shù)值要始終保持一致。雖然推薦使用交互界面,但不排除個別使用者偶爾會直接修改結(jié)構(gòu)樹參數(shù)。只有結(jié)構(gòu)樹參數(shù)值和界面參數(shù)值一一對應(yīng),才不會在二者存在交叉修改的情況下,產(chǎn)生參數(shù)錯亂,導(dǎo)致骨架出現(xiàn)意料之外的結(jié)構(gòu)變化。
骨架設(shè)計模板的人機交互界面如圖8所示。其中,“確定”按鈕是指在完成參數(shù)修改后,點擊可驅(qū)動骨架自動更新;“還原”按鈕是指如若輸入錯誤或者對修改后的參數(shù)不滿意,可點擊恢復(fù)到初始數(shù)值;“取消”按鈕的功能是取消本次操作并關(guān)閉窗口,參數(shù)未做任何改動。
圖8 骨架設(shè)計模板人機交互界面
關(guān)于程序語句的編寫,以“確定”按鈕為例,推薦一個比較簡單的形式,代碼示例如下:
對于其他功能,包括初始化程序、“還原”按鈕、“取消”按鈕及參數(shù)框的格式要求(只能為數(shù)字且不能為空)等都可以通過代碼控制。其中,初始化程序和“還原”功能的代碼大部分相同,只是調(diào)用的函數(shù)不同,篇幅所限,這里不過多敘述。
應(yīng)用Automation API方式,基于Catia內(nèi)置的VB環(huán)境編寫程序,開發(fā)直觀友好的人機交互界面,不僅可以大大提升骨架模板應(yīng)用的體驗感,給設(shè)計帶來便利,同時提高模板的使用效率,初用者也可以直接上手。對Catia的二次開發(fā)可以定向滿足設(shè)計者需求,配合知識工程技術(shù)充分發(fā)揮軟件的使用效益。
知識工程與二次開發(fā)技術(shù)是提升Catia用戶化和專業(yè)化的有效手段,可以定向匹配不同領(lǐng)域、不同用戶的設(shè)計需求和使用習(xí)慣。在熟練掌握Catia軟件功能的前提下,結(jié)合自身實際需要,為典型產(chǎn)品開發(fā)參數(shù)化的設(shè)計模板、特征插件和人機交互界面,既是對現(xiàn)有知識資源的梳理總結(jié),也有助于規(guī)范設(shè)計流程,簡化設(shè)計工作,對提高設(shè)計質(zhì)量和效率具有重要意義。在實際工作中,設(shè)計者要善于識別同類產(chǎn)品的內(nèi)在聯(lián)系,找到其中規(guī)律,將產(chǎn)品自身的典型結(jié)構(gòu)進行模塊化分解,創(chuàng)建個性化的特征插件和設(shè)計模板。同時,也要充分利用Catia提供的二次開發(fā)接口和開放式的內(nèi)部命令集合,完善設(shè)計模板的功能,讓其在使用過程中更人性化,更好地為用戶服務(wù)。