999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML的模具CAD功能快速定制框架

2009-01-01 00:00:00楊雙榮李建軍
計算機應用研究 2009年6期

摘 要:分析了CAD軟件提供的二次開發功能以及模具企業在此方面的需求,針對目前模具CAD功能二次開發存在的低效率問題,提出了一種快速實現模具CAD功能定制的框架。該框架采用知識管理、XML和數據庫技術,結合業務流程領域的流程描述思想,實現了松散耦合的CAD功能提取和描述,提出了一種功能流程描述技術,建立了基于Xerces工具的XML功能流程解釋引擎。結合某企業具體需求,將上述框架應用于注塑模具二次功能開發,為模具企業開發定制功能模塊提供了新的方案。

關鍵詞:計算機輔助設計; 可擴展標記語言; 二次開發; 知識管理

中圖分類號:TP391文獻標志碼:A

文章編號:1001-3695(2009)06-2322-03

doi:10.3969/j.issn.1001-3695.2009.06.097

XML-based CAD customize function design system for die mould

YANG Shuang-rong, ZHOU Sheng, HU Sha, LI Jian-jun

(State Key Laboratory of Material Processing Die Mould Technology,Huazhong University of Science Technology,Wuhan 430074,China)

Abstract:

To realize efficient re-development of CAD, proposed a framework to perform rapid design of customization CAD function for die mould. Based on knowledge management system, XML and database technologies, and business process management system, the framework extracted loose coupling functions from CAD software, employed XML files to describe the function flow, and built a Xerces-based parser engine to execute the function flow. In order to demonstrate the application of the framework, presented a case study about re-development of plastic injection mould. This paper provided a new method to design CAD customize function for die mould enterprise.

Key words:CAD; XML; re-development; knowledge management

國內外知名的三維CAD軟件如UG、PRO/E、CATIA、SolidWorks等,都是通用的機械設計與制造平臺,專業針對性差,不能滿足不同企業不同產品的具體設計需求,在實際工程設計中難以達到理想效果[1,2]。隨著制造業的快速發展,越來越多的制造廠商開始注重在通用三維CAD軟件上開發適合自身產品的設計模塊。航空制造技術期刊2008年以“模具CAD/CAM應用”為主題,對模具CAD/CAM軟件供應商、科研機構和用戶進行了調查,表1為模具企業對CAD/CAM軟件功能的關注度調查結果[3]。由表可見,企業對CAD軟件的二次開發功能關注度已經隨著這類軟件的普及越來越高。

幾何造型標準化設計準則二次開發協同設計智能化集成化其他

29.46.811.622.112.57.44.85.4

通用三維CAD軟件提供了豐富的二次開發工具。比如UG提供的二次開發圖形交互程序(GRIP)、應用編程接口(API)、用戶界面設計(UI styler)和菜單腳本語言(menu script)工具;PRO/E提供的族表(family table)、用戶定義特征(UDF)、Pro/Program、J-link和Pro/toolkit等工具。此類軟件的二次開發具有繼承性、專業性、實用性、緊迫性和復雜性等特點[4],使其二次開發工作難度大,對開發人員要求較高,開發工作周期長。所以許多公司不具備二次開發能力或不愿意投入人員進行二次開發,一般尋求與高校或其他企業合作進行開發。由于合作人員水平與環境的差異,導致溝通困難、任務延期、開發模塊功能不適合公司需求等問題。為解決上述三維CAD軟件二次開發的問題,本文提出一種新的開發模型:對三維CAD軟件的二次開發功能進行整理歸納,提取出適度松耦合的基礎功能;以XML語言描述基礎功能;再開發出解釋器對XML描述的基礎功能進行解釋。這些用XML描述的基礎功能具有平臺無關性,不管是在Windows還是Linux操作系統,UG還是PRO/E軟件平臺。解釋器解釋XML描述文檔,其內部處理系統平臺相關性,實現功能操作。二次開發人員僅需要編輯XML文檔就可完成二次開發功能,以實現模具CAD的快速客戶化定制,從而降低二次開發的難度,以及二次開發周期和成本,可使二次開發人員避免大量的重復勞動。

1 實現方案

為提高三維CAD軟件二次開發效率,本文建立一個基于XML技術的模具CAD功能快速定制模型框架,如圖1所示。其開發過程分為以下四個組成部分:

a)CAD軟件平臺。該平臺如UG、PRO/E、CATIA等,整個開發工作均圍繞著其進行。它們提供了開發工作的平臺,是整個開發工作的起始環節,最終開發成果也將作用其上。在熟悉此類CAD軟件操作功能基礎上,對其功能進行歸納總結,運用知識獲取技術,整理出適度松散耦合的CAD功能。

b)知識功能庫。它是一個包含許多功能知識描述文檔的數據庫。從CAD軟件平臺上提取的功能,以一種便于計算機存儲、讀取和執行的形式進行描述表達;將描述文檔以數據庫形式保存,形成功能知識類庫,以方便功能的檢索、共享與重用。

c)XML功能描述文檔。單個功能幾乎不可能完成實際用戶的需求,因此需要將功能進行流程配置,形成流程文檔。比如導入標準件功能、布爾操作功能等,這些基礎功能實現的操作意義不大,需要對其進行組合配置,形成功能流程或稱組合功能,如注塑模具設計中的螺釘螺紋設計、頂針/司筒設計等。同時也可將組合功能視為單個功能,再與其他功能組合形成更復雜的功能,從而實現功能的重用和擴展。采用XML語言對流程文檔進行描述,實現系統與平臺的無關性。借鑒動態業務流程描述的方法與思想,采用三個XML文檔描述功能流程,即功能流程控制文檔(function process execution language,FPEL)、功能描述文檔(function description language,FDL)和XML schema definition(XSD)。

d)解釋引擎。解釋功能流程描述文檔,并在CAD軟件上運用二次開發技術執行解釋結果,實現執行過程的管理與監控。集成了Apatch開發的XML解釋工具Xerces,可視化FPEL設計工具和用于功能執行過程管理與監控的FPEL管理工具。

通過此模型,實現了從CAD功能到XML描述功能,再到CAD功能的循環過程。屏蔽掉了CAD功能層,用戶不用再關心不同的CAD軟件平臺的具體功能實現,只需要處理XML描述的功能,就可實現CAD軟件平臺的二次開發。借助知識管理技術,更好地實現了功能的重用,提高了開發效率。

2 技術分析

2.1 知識管理技術

此模型中需要對大量的CAD功能進行獲取、表達以及檢索,對這些功能使用知識管理的技術進行處理,以提高功能的共享性和重用性。

知識獲取就是從知識源中獲取具有價值的知識。模型中知識源是CAD軟件的抽象功能以及API函數。知識表達則是描述這些功能或API函數所做的一組約定并易于被計算機接受和處理的一種表現形式,是知識的符號化、編碼化過程。CAD軟件基礎功能比較簡單,易于描述,如一個選擇功能、導入標準件功能或布爾操作功能等。模具設計中的功能是由CAD軟件基礎功能組合而成,如螺釘螺紋開孔設計、水道設計功能和孔表功能等,每一個組合功能都涉及到大量的CAD基礎功能。不管是基礎的還是組合功能,均提供惟一的XML文檔進行描述,而基礎功能需要建立與CAD軟件API函數的映射,以實現具體操作。功能知識表示模型如圖2所示[5]

概念:功能的概念,如布爾操作、鏡像功能和導入零件功能等概念。

來源:標志功能的來源與應用平臺,如UGS、PRO/E和CATIA等,版本(UG NX2.0、CATIA 5.0)和日期等信息。

定義:功能的說明,是功能概念的較詳細描述,便于用戶理解功能的意義。比如,導入零件功能的說明是在當前的軟件平臺上,從硬盤上導入并打開一個零件特征。

基礎信息:功能的具體定義部分,包括功能名字、輸入/輸出和使用約束限制等。功能即為具體的函數,是實現功能概念的基礎。比如可以將布爾操作功能定義為函數Knowledge_BooleanOperation,在其內部的實現運用了相關平臺的二次開發技術。輸入/輸出即為函數調用所需要的參數與輸出結果。使用約束限制說明此函數使用的環境條件。

參考資料:功能的參考資料和注釋內容。深入了解此功能需要參考的其他功能、相似功能的使用區分以及實例參考等,可以為空。

關聯信息:功能的從屬關系、聯合使用關系等的說明。關系的描述以概念為基礎。

知識檢索是指在知識組織的基礎上,從知識庫中檢索出知識的過程,是一種基于知識組織體系,能夠實現知識關聯和概念語義檢索的智能化檢索方式。如上描述的功能知識,以name作為關鍵詞,使用向量空間模型和概率檢索模型綜合的方法進行檢索[6]

2.2 XML描述技術

此模型采用三個XML文檔描述功能操作流程:功能流程控制FPEL、功能描述FDL和schema定義XSD。FPEL定義功能調用的邏輯與規則,不涉及具體的功能實現,控制功能執行的過程,描述功能流程圖,并處理與FDL之間的一些映射關系。FDL定義每一個功能操作及其具體實現,聲明功能操作類型、名稱、綁定的模具CAD操作功能。XSD定義程序邏輯與功能描述文檔中的XML描述標簽[7]。此三個文檔之間的關系模型如圖3所示。

接口:在FPEL流程中引用FDL定義文件中的接口類型定義,它是FPEL與所調用功能的橋梁,FPEL流程的任何服務調用均通過接口進行;其流程本身對外提供的服務接口也由接口描述。

變量:在FPEL流程中表示流程的中間狀態,也用做功能調用時的輸入參數以及接收調用返回的結果。FPEL中的變量既可以是FDL中的功能定義也可以是XSD所定義的復雜類型或元素。

活動:在FPEL中表示一系列操作,是FPEL的基本構成。活動需要調用FDL定義的功能,并通過功能執行CAD操作。活動可以分為兩種類型,即基本活動和組合式活動。基本活動對應于基礎功能,比如:invoke,在CAD軟件中調用一個功能操作,如選擇、建立基本特征、拉伸和布爾等操作;compensate,取消一個操作;throw,拋出執行錯誤;exit,終止整個功能流程。組合式活動執行一系列具有約束條件的基本活動,比如:sequence,定義功能執行順序,如由建立block功能、選擇面功能、導入功能和布爾操作功能,可以實現在一個新建立的block上面開孔的操作;switch,定義條件處理,如定義一個message對話框彈出,讓用戶選擇;while,定義循環結構;flow,定義并行操作過程等。圖4定義了一些組合活動[8]

錯誤處理:在功能流程的執行過程中可能發生錯誤或異常情況,常見的如功能執行失敗、內存錯誤等。錯誤處理機制通常執行compensate操作,并throw一個錯誤信息,用戶可以根據拋出的錯誤信息來判斷導致錯誤的原因。

2.3 XML解釋技術

XML文檔有三部分,即FPEL、FDL和XSD,它們分別描述了功能操作流程的不同方面,XML解釋就是將其轉義為CAD軟件的功能操作,生成相應的功能操作流程實例,并在CAD軟件上執行,這個模塊稱為FPEL引擎。FPEL引擎內核通過解釋流程定義語言來達到執行流程的目的,它需要以下技術支持:

a)XML文檔讀取。使用XML文檔模型解釋器對XML文檔進行解讀,目前幾種流行的具有平臺無關性的XML處理工具有Crimson、Xerces、Jdom和Dom4j。Xerces是Apache XML小組全力開發的開源XML API,使用比較廣泛;Crimson不夠成熟,很早已停止開發;Jdom和Dom4j都是基于Java語言項目的XML解釋。絕大多數的CAD軟件并不支持Java語言的二次開發功能,所以本框架使用Xerces作為XML文檔的解釋工具。另外,一些CAD軟件本身也集成Xerces作為XML文檔的解釋器,如UG。

b)XML解釋和執行。就是結合XSD的定義,解讀FDL和FPEL文檔描述的功能及功能流程信息,然后將其在CAD平臺上執行。功能操作具有獨立性,流程具有方向性和有限性,可以使用有向圖對其進行處理,在引擎構建上融入有限狀態機和Petri網思想[9]。XML描述與解釋功能模塊如圖5所示。

描述功能流程XML文檔比較復雜,對于任何一個功能操作流程都涉及到FPEL、FDL和XSD三個XML文檔。因此讓用戶直接編寫此類XML文檔效率低、易出錯,且要求用戶對FPEL和FDL定義的XML文檔標準比較熟悉。FPEL工具提供圖形化的用戶界面,以圖形表示功能組件,用戶只需要了解所設計的功能操作流程,就可以使用FPEL工具設計流程。FPEL設計工具能夠根據功能流程圖自動生成符合定義標準的XML文檔(FPEL流程文檔),將其作為輸入,經FPEL引擎解釋和執行,生成相應的功能操作流程實例;再由CAD軟件執行此流程實例。FPEL引擎需要調用功能類庫中對功能知識的具體定義,以實現在CAD軟件平臺上的操作。FPEL流程實例運行情況將由FPEL管理工具進行監控和管理[10]

3 應用實例

由于XML描述動態流程的局限性,難以對復雜三維零件模型構造過程進行描述。本文探討的框架最主要的應用是快速開發模具企業客戶化定制的模塊功能。以某企業在UG軟件上進行注塑模具螺釘螺紋的二次開發模塊為例。整個開發過程如下:a)分析注塑模具螺釘螺紋設計所需功能并從UG平臺獲取相應的功能操作,在VC6.0環境下運用UG二次開發技術包裝相應的功能操作,用本文闡述的知識表達模型描述功能(圖6)并儲存文檔。

b)用FDL封裝每一個功能,成為可重用的功能模塊。

c)設計注塑模具螺釘螺紋設計所需的功能流程圖,并用FPEL技術描述。其代碼如下:

〈process xmlns=\"...\"xmlns:xsd=\"...\"xmlns:lns=\"...\"〉

〈import importType=\"\"location=\"\"namespace=\"\"/〉

〈variables〉〈variable name=\"DisplayPart\"type=\"xsd:integer\"/〉〈/variables〉

〈faultHandlers〉

 〈catch faultMessageType=\"lns:errorMessage\"

faultName=\"lns:loanProcessFault\" faultVarable=\"error\"〉

〈reply faultName=\"lns:unableToHandleRequest\"

operation=\"request\" portType=\"lns:loanFunctionFH\" variable=\"error\"/〉

 〈/catch〉〈/faultHandlers〉

〈sequence〉

〈flow〉

 〈invoke inputVariable=\"DisplayPart\" operation=\"SelectFaces\"

outputVariable=\"Faces\" portType=\"lns:InvalidObjectFH\"/〉

〈invoke inputVariable=\"DisplayPart\" operation=\"PointConstructor\" outputVariable=\"Point\" portType=\"...\"/〉

〈/flow〉〈/sequence〉

〈assign name=\"CreateResponseInputParameter\"〉

〈copy〉〈from〉Faces〈/from〉〈to variable=\"ImportHolePartResponse\"name=\"ImportParameterFaces\"/〉〈/copy〉

〈copy〉〈from〉Point〈/from〉〈to variable=\"ImportHolePartResponse\" name=\"ImportParameterPoint\"/〉

 〈to variable=\"ImportScrewPartResponse\" name=\"ImportParameterPoint\"/〉

 〈/copy〉〈/assign〉

〈reply name=\"ImportHolePartResponse\" operation=\"ImportPart\" variable=\"ImportPartResponse\" portType=\"lns:InvalidObjectFH\"/〉

〈reply name=\"FindIntersectPartOperation\" operation=\"FindIntersectPart\" variable=\"...\"portType=\"...\"/〉

〈/process〉

d)編寫解釋代碼,直接解釋并執行FPEL文檔描述的功能流程,如圖7所示。在使用初期,效果不很明顯,隨著可重用的功能模塊的積累,以及解釋器和設計工具的完善,將會極大地提高二次開發效率。

4 結束語

本文在研究了以UG為代表的三維CAD軟件二次開發技術、知識管理技術以及基于業務流程描述語言的基礎上,提出了一種全新的CAD軟件二次開發技術框架。框架中采用知識管理技術處理CAD軟件功能,有利于知識的重用與共享;采用XML技術描述解釋功能,保證了功能設計的平臺無關性,具有擴展功能性,能實現功能的不斷積累;即將開發的FPEL設計工具支持圖形化的功能流程設計,具有較好的用戶體驗,降低了CAD軟件二次開發難度,節省開發時間。最后,通過模具企業需求,開發了一個實例證實了框架的可行性。本文提出的功能描述方法不僅能夠用于模具CAD的二次開發功能,也可以描述普通三維CAD軟件的功能,記錄三維CAD軟件的操作過程,因此具有實現異構CAD軟件之間設計過程信息共享的潛在應用前景。

參考文獻:

[1]王永虎,王紅梅.模具CAD/CAM 平臺的發展趨勢及其二次開發的研究方向[J].機械加工與自動化,2004(10):12-16.

[2]徐凱,張裕中.CAD二次開發技術(1)[J].包裝與食品機械,2004,22(1):15-17.

[3] 鐘元,七丁,微涼.模具CAD/CAM軟件調查報告[J].航空制造技術,2008(4):66-67.

[4]沈剛.CAD軟件二次開發方法的分析與探討[J].電腦知識與技術,2006(1):201-203.

[5]CHEN Y J,CHEN Y M,CHU H C.Development of a mechanism for ontology-based product lifecycle knowledge integration[J].Expert Systems with Applications,2009,36(2):2759-2779.

[6]馬文峰,杜小勇.知識檢索研究[J].情報理論與實踐,2006,29(2):157-160.

[7]MIGUEL A.WS-BPEL 2.0 tutorial[EB/OL].(2005).http://www.eclipse.org/tptp/platform/documents/design/choreography-html/tutorials/wsbpel_tut.html.2005.

[8]CHUN O,ERIC V,WIL M P,et al. Formal semantics and analysis of control flow in WS-BPEL[J].Science of Computer Programming,2007,67(2-3):162-198.

[9]張亮,姚淑珍.基于Petri網的工作流模式研究[J].計算機集成制造系統,2006,12(1):54-58.

[10]王紫瑤,南俊杰,段紫輝,等.SOA核心技術及應用[M].北京:電子工業出版社,2008.

主站蜘蛛池模板: 亚洲国产一成久久精品国产成人综合| 国产综合在线观看视频| 国产剧情伊人| 国产午夜人做人免费视频中文| 亚洲熟妇AV日韩熟妇在线| 2018日日摸夜夜添狠狠躁| 男女男精品视频| 国产成人综合亚洲网址| 波多野结衣的av一区二区三区| 午夜无码一区二区三区| 亚洲国产成人麻豆精品| 国产真实乱人视频| 凹凸精品免费精品视频| 日韩a在线观看免费观看| 国产91成人| 国产精品lululu在线观看| 国产小视频在线高清播放| 精品久久久久久久久久久| 亚洲女同一区二区| 亚洲精品自拍区在线观看| a亚洲视频| 麻豆国产精品视频| 国产女主播一区| 欧美性精品| 狠狠色香婷婷久久亚洲精品| 久久这里只有精品8| 无码国内精品人妻少妇蜜桃视频| 色综合中文字幕| 自拍中文字幕| 亚洲国产91人成在线| 中文字幕亚洲精品2页| 色婷婷天天综合在线| 在线中文字幕日韩| 亚洲另类国产欧美一区二区| 在线国产三级| 天天综合色网| 午夜福利在线观看入口| 无遮挡国产高潮视频免费观看| 日韩高清在线观看不卡一区二区| 精品成人一区二区| 91九色视频网| 国产欧美日韩专区发布| 国产女人在线观看| 欧美日韩在线亚洲国产人| 久久伊人操| 国产视频自拍一区| 自慰网址在线观看| 丁香婷婷在线视频| 欧美亚洲国产精品第一页| 亚洲国产精品一区二区第一页免 | 污网站免费在线观看| 免费欧美一级| 亚洲高清日韩heyzo| 国产人前露出系列视频| 波多野结衣第一页| 国产制服丝袜91在线| 欧美亚洲一区二区三区导航| 国产精品白浆无码流出在线看| 欧美精品不卡| 亚洲精品天堂自在久久77| 男女男免费视频网站国产| 亚洲人成高清| 国产麻豆va精品视频| 久久国产精品麻豆系列| 国产女人在线观看| 国产亚洲精品资源在线26u| 亚洲色精品国产一区二区三区| 伊人五月丁香综合AⅤ| 久久久久国产一区二区| 国产精品污视频| 国产在线欧美| 亚洲中文在线视频| 萌白酱国产一区二区| 国产一国产一有一级毛片视频| 91日本在线观看亚洲精品| 免费观看成人久久网免费观看| 国产精品女主播| 青青草原国产| 在线五月婷婷| 亚洲精品不卡午夜精品| 538精品在线观看| 久久国语对白|