聞達,李夢楠
1.一汽-大眾汽車有限公司 長春 130000
2.吉林省產品質量監(jiān)督檢驗院 長春 130000
知識工程的概念和技術由美國斯坦福大學計算機科學系費根鮑姆教授于1977年第五屆國際人工智能聯合大會上第一次提出,最基本的含義就是人工智能在知識信息處理方面的發(fā)展,利用計算機系統(tǒng),采用“規(guī)則”的形式,完成知識的采集、整理、構造、維護和應用的工作。二次開發(fā)是以工程軟件為載體,對其功能進行定制開發(fā),以滿足用戶的特定需求,對于提高設計效率與質量具有重要作用。
作為領先的CAD/CAE/CAM一體化軟件,Catia被廣泛應用于航空航天、汽車、造船及電子電器等行業(yè)。Catia的通用模塊雖然適用于各種產品的設計需求,但也存在著針對性不強、難以應對不同用戶在技術標準方面的差異及不便于進行標準化設計的短板。知識工程和二次開發(fā)技術能很好地解決這些問題,在提高Catia的專業(yè)性及應用效率,充分發(fā)揮軟件的使用效益方面具有十分重要的意義。
在汽車開發(fā)流程的不同節(jié)點,需要通過試制各類實體模型對造型數據進行檢查確認[1]。試制模型通常由骨架和外覆蓋件組成,骨架作為內部核心和裝配本體,通過支撐裝載內外飾樹脂樣件來真實體現造型表面的數據狀態(tài)。模型骨架一般由方鋼焊接而成,表面覆蓋安裝鋼板,如圖1所示。

圖1 數據控制模型方鋼骨架
模型骨架雖然結構復雜,但具有規(guī)律性,不同車型的模型骨架設計原理基本一致,區(qū)別主要在于全周尺寸的變化,方鋼型號及具體排列不同,安裝鋼板的尺寸形狀及分布位置差異。因此,可根據骨架自身結構特點,利用知識工程和二次開發(fā)技術定制開發(fā)專業(yè)的特征插件及設計模板,優(yōu)化骨架的設計方式。
模型骨架的主體結構由方鋼搭建而成,可以考慮將方鋼作為基礎元素,通過指定邊界條件將特定規(guī)格的方鋼插入到需要的位置,并預留輸入接口,方鋼規(guī)格及與邊界條件的距離參數可調。通過不斷調用特征插件插入方鋼,最終完成骨架主體的創(chuàng)建,不需要額外建模設計。基于此種理念,可以使用產品知識模塊(PKT)開發(fā)參數化的方鋼特征模板。
首先,分析方鋼結構特點及邊界條件。方鋼的截面為矩形,包括長寬邊,且自身有一定的壁厚,這三個尺寸決定了方鋼的具體規(guī)格,設為可調參數。其次,如果想通過一些邊界條件把方鋼直接插入到某個特定位置,可以歸納出很多種組合。比如“前后左下”“前后右下”“前后左右下”“前后左右上”等。雖然邊界條件的設置很靈活,但是確定邊界條件的原則要基于正常的設計邏輯和設計習慣,只有符合要求的邊界條件才是最優(yōu)的,是最便于調取使用特征模板的。
此處,選擇“前后左下”作為邊界條件,且方鋼與四個邊界的距離均設為可調參數,默認狀態(tài)下數值為0。調整接口的設置就是為了實現參數化設計,帶參數設計可以對方鋼特征進行快速調整,通過參數值的變化自動改變方鋼規(guī)格、長度及位置,實現實時更新,不需要人為介入手動修改。
特征模板包括超級副本、用戶特征和文檔模板三種形式。這里以超級副本為例,最終的形式如圖2所示。

圖2 方鋼特征超級副本
模型骨架的安裝鋼板等其他元素也可以通過類似方式創(chuàng)建特征模板,這里不再贅述。最終,可以將組成骨架的基礎元素的特征模板集成到目錄瀏覽器中,就構成了特征插件,如圖3所示。

圖3 方鋼骨架特征插件
分析骨架整體結構,根據骨架全周邊界設計一系列參考平面,作為方鋼插入的定位條件,如圖4所示。

圖4 骨架邊界參考曲面
同時,為了保證單一邊界調整時,其他邊界不會隨動,參考平面彼此間要相互獨立(可以統(tǒng)一以絕對坐標系作為偏移基礎),正常狀態(tài)下互不影響。參考平面的偏移值通過公式定義為調整參數,對于左右對稱的平面,可將右側參數直接綁定左側參數,以左側參數為統(tǒng)一輸入接口,如圖5所示。

圖5 骨架邊界參數及公式定義
將參考平面作為定位條件依次插入方鋼特征,逐步搭建出主體框架,如圖6所示。完成后,即可通過“骨架邊界參數”實現對全周尺寸進行驅動調節(jié)。主體框架作為基礎結構,針對具體模型,需要在局部區(qū)域增加或刪減方鋼特征。應該注意的是,不論是基礎框架還是后期追加的方鋼,在插入時要盡量選擇參考平面作為邊界條件,目的就是為了在細節(jié)設計階段,涉及到去除不需要的方鋼時,不會造成連鎖反應,影響到其他方鋼的現有位置,造成骨架結構變化。
(一)互聯網時代下的大數據發(fā)展是一個漫長的過程,即便數據已滲透于各個行業(yè)中,但人們還未能正確的認識到新事物的發(fā)展狀態(tài)。以致于數據并不能充分的實現其價值。總而言之,人們對大數據現有的認知還存在一些誤區(qū),專業(yè)知識還較匱乏,認識過于碎片化,還無法使其適應新時期的種種要求。

圖6 方鋼骨架主體框架
前文已經提到,為了消除彼此間的影響,參考平面要相互獨立。但這種做法也帶來了一些問題,如果對模板不了解或者無意間輸入了不合理參數(例如,當前端平面的參數值大于后端平面時),骨架無法更新,設計模板會直接報錯甚至癱瘓。這點對于新手或者初次使用者來說是很不友好的,因為不了解模板的創(chuàng)建思路,也就很難排查報錯原因。所以,需要對各個參考平面的參數設置一系列規(guī)則、約束,通過程序控制來限制參數的不合理輸入。這時,就可以使用知識工程顧問模塊(KWA)來達到以上目的。以下是一個規(guī)則控制的應用舉例。
正常狀態(tài)下,“前端左邊界”參數是小于“左邊界”參數的,可以制定這樣一個規(guī)則:當錯誤輸入時,設計模板會自動識別并通過既定程序輸出一個修復結果,避免報錯,同時向使用者提示相關錯誤信息,而且在錯誤更正之前,提示會一直出現。程序語句示例如下:

在前面兩個邊界的基礎上,再考慮第三個邊界——“中部左邊界”。正常狀態(tài)下,“前端左邊界”“左邊界”“中部左邊界”三者的關系為“‘前端左邊界’<‘左邊界’<‘中部左邊界’”,當輸入的“前端左邊界”大于最外側的“中部左邊界”時,經過內部程序計算,更新后的效果如圖7所示。

圖7 方程骨架邊界的規(guī)則控制
應該注意的是,此時設計模板雖然可以繼續(xù)正常使用,但實際生成的是一個修復后的結果,此時 “前端左邊界”與“左邊界”顯示的參數與實際綁定的參考平面偏移值并不一致,通過程序的糾錯功能,將參考平面的偏移值強行定義成了可供調整的正確范圍內的極限值。如圖7所示,由“前端左邊界”和“左邊界”定位的方鋼與最外層的方鋼(由“中部左邊界”定位)緊緊貼合在了一起。
以上程序示例只是最基本的條件語句,事實上,由于骨架結構復雜,參考平面眾多,為了實現精細穩(wěn)定控制,參考平面不僅要考慮平行方向上的制約關系,還要同時考慮另外兩個垂直方向上的限制要求。因此,控制程序需要大量的多層條件語句的嵌套,涉及到許多基礎方鋼特征的激活和取消,理清其中的邏輯關系非常關鍵。
Catia的二次開發(fā)主要包括兩種方式,Automation API和CAA C++。Automation API是使用自動化應用接口的宏,應用VB Script作為編輯工具,是一種交互式的定制。該方式不僅可以錄制宏,記錄用戶的操作過程,自動生成代碼,也可以使用Visual Basic語言自主編寫程序。Automation API具備了與任何OLE所兼容的平臺進行通信的能力。CAA C++是基于組件的定制開發(fā),具有強大的交互、集成和用戶特征定義的功能,可以做精致的交互命令,并擁有一套自己的體系架構。本文主要介紹基于Automation API方式的骨架設計模板交互界面的開發(fā)。
通過知識工程技術的應用,方鋼骨架設計模板已經具備了完整的參數化設計功能,通過參數修改、基礎元素的調用和規(guī)則程序的控制,即可快速生成滿足要求的骨架結構。但是在應用的過程中,由于邊界參數眾多(就本文所述設計模板來說,就有20多個),且只是簡單地羅列在結構樹上,設計者必須清楚地知道參數與參考平面的對應關系,這點對于新手或初用者來說需要花時間了解。同時,在自動更新的條件下,每次只能修改一個參數,不能實現多參數聯合調整。所以,設計模板的實際操作體驗欠佳,缺少對邊界參數的集成和指引。一個很好的解決辦法,就是通過二次開發(fā)為骨架模板定制一個清晰直觀的人機交互界面。
人機交互界面要實現兩個目標:一是將所有邊界參數集成到一個界面上,提供指示說明并支持同時修改;二是在界面窗口打開時,通過初始化程序自動讀取骨架模板結構樹上對應的邊界參數值。另外,如若界面中某些參數被修改并最終執(zhí)行,結構樹上的參數值也要自動更新,也就是說,界面窗口的參數值與結構樹上的參數值要始終保持一致。雖然推薦使用交互界面,但不排除個別使用者偶爾會直接修改結構樹參數。只有結構樹參數值和界面參數值一一對應,才不會在二者存在交叉修改的情況下,產生參數錯亂,導致骨架出現意料之外的結構變化。
骨架設計模板的人機交互界面如圖8所示。其中,“確定”按鈕是指在完成參數修改后,點擊可驅動骨架自動更新;“還原”按鈕是指如若輸入錯誤或者對修改后的參數不滿意,可點擊恢復到初始數值;“取消”按鈕的功能是取消本次操作并關閉窗口,參數未做任何改動。

圖8 骨架設計模板人機交互界面
關于程序語句的編寫,以“確定”按鈕為例,推薦一個比較簡單的形式,代碼示例如下:

對于其他功能,包括初始化程序、“還原”按鈕、“取消”按鈕及參數框的格式要求(只能為數字且不能為空)等都可以通過代碼控制。其中,初始化程序和“還原”功能的代碼大部分相同,只是調用的函數不同,篇幅所限,這里不過多敘述。
應用Automation API方式,基于Catia內置的VB環(huán)境編寫程序,開發(fā)直觀友好的人機交互界面,不僅可以大大提升骨架模板應用的體驗感,給設計帶來便利,同時提高模板的使用效率,初用者也可以直接上手。對Catia的二次開發(fā)可以定向滿足設計者需求,配合知識工程技術充分發(fā)揮軟件的使用效益。
知識工程與二次開發(fā)技術是提升Catia用戶化和專業(yè)化的有效手段,可以定向匹配不同領域、不同用戶的設計需求和使用習慣。在熟練掌握Catia軟件功能的前提下,結合自身實際需要,為典型產品開發(fā)參數化的設計模板、特征插件和人機交互界面,既是對現有知識資源的梳理總結,也有助于規(guī)范設計流程,簡化設計工作,對提高設計質量和效率具有重要意義。在實際工作中,設計者要善于識別同類產品的內在聯系,找到其中規(guī)律,將產品自身的典型結構進行模塊化分解,創(chuàng)建個性化的特征插件和設計模板。同時,也要充分利用Catia提供的二次開發(fā)接口和開放式的內部命令集合,完善設計模板的功能,讓其在使用過程中更人性化,更好地為用戶服務。