• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Web的Inventor-3D資源零件庫系統(tǒng)開發(fā)

      2014-12-19 01:45:22武園園孫文磊韓青金
      制造業(yè)自動化 2014年7期
      關鍵詞:二次開發(fā)應用程序驅(qū)動

      武園園,孫文磊,何 麗,韓青金

      WU Yuan-yuan,SUN Wen-lei,HE Li,HAN Qing-jin

      (新疆大學 機械工程學院,烏魯木齊 830047)

      0 引言

      隨著市場競爭的日趨激烈與制造業(yè)信息化程度的加深,企業(yè)間對獲取與共享信息的效率愈來愈高。據(jù)美國先進制造研究公司(AMR)的一項研究結(jié)果表明,產(chǎn)品中外購零件的比重正在逐漸上升,已經(jīng)從五年前的40%上升至80%甚至更多[1,2]。因此,建立零件庫系統(tǒng)是必要的。目前國內(nèi)外研究機構(gòu)或企業(yè)已經(jīng)開發(fā)出了很多零件庫系統(tǒng)原型并已經(jīng)投入商業(yè)運營模式,其中比較典型的有[3]:國外:3D ContentCentral系統(tǒng)、TraceParts系統(tǒng)、Web2CAD系統(tǒng)、InPart系統(tǒng);國內(nèi)的有:3DSource云應用中心、中國機械網(wǎng)等零件庫系統(tǒng)。這些系統(tǒng),大多數(shù)都采用了B/S構(gòu)架,同時支持多種主流三維CAD建模軟件,如Pro/E、Catia、SolidWorks等;系統(tǒng)采用不同的方式構(gòu)建數(shù)據(jù)庫,有“參數(shù)+模板”、大量數(shù)據(jù)形式存儲等方式;用戶可以使用網(wǎng)絡瀏覽器訪問系統(tǒng),也可以在線預覽零件模型。總之,這些系統(tǒng)可以為用戶提供快速引用零件資源的平臺。但是,就每個單獨的系統(tǒng)而言,都或多或少的存在著缺點。比如:3DSource云應用中心系統(tǒng),使用戶無法快速定位到自己所需的零件模型資源,下載的3D模型沒有設計參數(shù),不利于用戶的后續(xù)設計工作;中國機械網(wǎng)零件庫圖庫目前只能提供對UG和SolidWorks兩種三維軟件的接口[4]。

      因此,本文通過研究Inventor的二次開發(fā)技術(shù)和數(shù)據(jù)庫接口訪問技術(shù),建立了一個Web三維零件庫系統(tǒng)。系統(tǒng)中,綜合應用ASP.NET、ADO.NET、Web3D等技術(shù),采用“參數(shù)+模板”的模式,開發(fā)出了基于Inventor的Web三維零件庫系統(tǒng)。

      1 系統(tǒng)結(jié)構(gòu)

      1.1 系統(tǒng)開發(fā)工具的選用

      作者開發(fā)該系統(tǒng)時采用的開發(fā)工具概括如下:

      三維CAD軟件:Autodesk Inventor Professional 2012;

      編程調(diào)試軟件:Visual Studio.NET 2008(以.NET FrameWork 3.5為基礎、IIS 6.0為服務器,選用C#作為服務端語言、JavaScript作為前臺腳本語言);

      數(shù)據(jù)庫軟件采用Microsoft SQL Server 2005。

      1.2 零件庫系統(tǒng)總體結(jié)構(gòu)

      Web三維零件庫系統(tǒng)采用了B/S結(jié)構(gòu),也就是所謂的三層體系結(jié)構(gòu),即表現(xiàn)層、業(yè)務層和數(shù)據(jù)層。系統(tǒng)的總體框架如圖1所示。

      表現(xiàn)層是對用戶接口的展示,是與用戶進行交互(數(shù)據(jù)交互)的窗口。用戶可以通過這一層在瀏覽器上瀏覽信息,同時,用戶可以通過鼠標或鍵盤,提交各種請求,實現(xiàn)用戶想要的功能。業(yè)務層和數(shù)據(jù)層都是由服務器端應用程序組成。業(yè)務層是系統(tǒng)的中間層,也是過程層。數(shù)據(jù)層是整個系統(tǒng)的內(nèi)容和支撐,該層將根據(jù)業(yè)務層的需要調(diào)用相應的數(shù)據(jù),它以數(shù)據(jù)表的形式存儲了零件庫中的所有零件參數(shù)信息和零件描述信息,并存儲了零件模板文件(* .ipt)數(shù)據(jù)和零件的瀏覽文件(* .wrl)數(shù)據(jù)以及標準格式文件(* .stp)數(shù)據(jù)。

      圖1 系統(tǒng)總體框架圖

      2 系統(tǒng)的實現(xiàn)

      2.1 系統(tǒng)的設計思路

      本零件庫系統(tǒng)利用Inventor軟件的參數(shù)化建模方法,按照模型模板+參數(shù)系列的形式構(gòu)建模型數(shù)據(jù)庫,當用戶想要使用零件模型時,系統(tǒng)通過在線調(diào)用Inventor二次開發(fā)接口,即時實現(xiàn)參數(shù)化驅(qū)動獲取用戶所需的模型。

      2.2 系統(tǒng)開發(fā)的關鍵技術(shù)

      2.2.1 基于.NET平臺下的Inventor二次開發(fā)技術(shù)

      為了讓用戶能夠更好地實現(xiàn)二次開發(fā)技術(shù),Inventor軟件提供了強大的API二次開發(fā)接口。Inventor API 是一種以面向?qū)ο蟮姆绞教峁贸绦驅(qū)ο蠊δ艿膽贸绦蚪涌?。它提供了Inventor的各種對象的內(nèi)在功能,并且各個對象間是一種相互繼承的關系,該繼承關系的關鍵在于根對象Application,通過獲取對Application對象的訪問權(quán),調(diào)用與其相關的其他對象[5]。針對Inventor API,用戶可以用支持自動化(OLE Automation)技術(shù)的各種高級語言來控制Inventor的各種對象與其相關屬性和方法,進而開發(fā)出自己需要的應用程序。

      在Inventor Professional 2012版本中,Inventor API for.NET提供了多個DLL文件,但是,對于Web零件庫系統(tǒng)的開發(fā)功能的實現(xiàn),只需要在.NET平臺下引用Autodesk.Inventor.Interop.dll文件,通過聲明根對象Application以及庫文件的其他對象,就可以以面向?qū)ο蟮姆绞嚼肅#語言的語法調(diào)用各種功能函數(shù),來完成Inventor的絕大部分操作,如生成VRML文件,對零件的參數(shù)化驅(qū)動等。

      在本系統(tǒng)中,通過引用COM組件對象,也就是Inventor的二次開發(fā)接口類庫Autodesk Inventor Object Library,獲取對Application的訪問權(quán),利用C#語言以面向?qū)ο蟮姆绞骄帉憫贸绦騺硗瓿蓪nventor三維零件圖形的各種操作,如打開/關閉三維零件模型文件、導出VRML文件、零件參數(shù)化驅(qū)動、下載/上傳等。具體過程詳見Inventor二次開發(fā)步驟流程圖(如圖2所示)。

      圖2 Inventor二次開發(fā)過程

      2.2.2 基于ADO.NET的數(shù)據(jù)庫訪問接口

      ADO.NET是一組用于和數(shù)據(jù)源進行交互的面向?qū)ο箢悗?,提供了對關系型、XML和應用程序數(shù)據(jù)的訪問[6]。在.NET框架中,ADO.NET類庫位于System.Data命名空間下。所以,在Visual Studio開發(fā)平臺中,必須先引用System.Data.dll文件,才能使用ADO.NET中的數(shù)據(jù)庫訪問對象。

      在本系統(tǒng)中,以SQL Server 2005為開發(fā)工具,利用ADO.NET的數(shù)據(jù)訪問接口技術(shù),實現(xiàn)了數(shù)據(jù)庫的查詢、添加、修改及刪除等功能;并減輕服務器負擔,提高了系統(tǒng)的運行效率,為用戶提供更好的Web應用程序。

      2.3 系統(tǒng)功能模塊的實現(xiàn)

      2.3.1 三維CAD模型的可視化

      在本系統(tǒng)中,結(jié)合了最新的Web3D技術(shù),實現(xiàn)了在Web頁面中顯示Inventor的三維模型,同時用戶可以對模型進行移動、旋轉(zhuǎn)、縮放等操作。

      目前比較流行的Web 3D 技術(shù)主要有:VRML,JAVA3D,SHOCKWAVE3D,X3D等。綜合比較幾種Web3D技術(shù),VRML的數(shù)據(jù)文件所描述的數(shù)據(jù)包括三維網(wǎng)格數(shù)據(jù),場景信息,燈光材質(zhì)及交互信息,能夠較為真實的還原模型的外形信息,能夠在三維場景中與用戶進行交互,其描述3D場景的能力較為出眾[7]。所以,本系統(tǒng)采用了VRML(Virtual Reality Modeling Language,虛擬現(xiàn)實建模語言)插件。

      在本系統(tǒng)的開發(fā)過程中,通過對Inventor的二次開發(fā)把三維模型文件格式(*.ipt)格式轉(zhuǎn)化為模型瀏覽文件格式(*.wrl)。在應用程序中,安裝VRML瀏覽器插件(如BS Contact VRML),然后可通過HTML語言中的標簽把插件嵌入網(wǎng)頁中,并指定其控件識別碼(ID),便可以在網(wǎng)頁中動態(tài)的顯示三維模型的瀏覽文件[8]。

      2.3.2 在線參數(shù)化驅(qū)動

      所謂在線參數(shù)化驅(qū)動,就是用戶可以在系統(tǒng)界面中填寫或者修改已有的模型設計參數(shù),進而實現(xiàn)快速的變形設計。這樣,不僅可以減少數(shù)據(jù)庫的信息存儲量,而且能夠滿足用戶的特殊要求。

      系統(tǒng)中零件在線參數(shù)化驅(qū)動的過程,如圖3所示。用戶登錄系統(tǒng),進入首頁后,可以直接從樹形菜單中選擇零件名,瀏覽器把用戶的選擇提交給服務器,服務器從數(shù)據(jù)庫中讀取相應的零件的所有信息(包括三維可視化模型、二維尺寸標注圖、產(chǎn)品實物圖、驅(qū)動參數(shù)表達式等),并把信息返回給客戶端。用戶根據(jù)自己的需求在系統(tǒng)的要求范圍內(nèi)修改模型文件的原始參數(shù),并將修改后的參數(shù)提交給服務器,服務器利用Inventor二次開發(fā)接口函數(shù)啟動Inventor應用程序,調(diào)用庫中的三維零件模型模板文件和用戶提交的修改后的參數(shù)值,更新原始模型模板文件,完成零件的在線參數(shù)化驅(qū)動;然后,在服務端保存更新后的零件模型文件(*.ipt),導出零件的VRML文件(*.wrl);最后,服務器將更新后的新零件模型的瀏覽文件(*.wrl)更新到客戶端供用戶瀏覽,而存于服務端的模型文件則供用戶下載。

      圖3 在線參數(shù)化驅(qū)動流程圖

      2.3.3 零件資源的動態(tài)擴充

      三維零件資源是整個系統(tǒng)的內(nèi)容,是系統(tǒng)正常運行的支撐和保證。對三維零件資源的動態(tài)擴充,即三維零件資源入庫(文件上傳)。該操作包括文件上傳、Inventor的二次開發(fā)接口程序的調(diào)用以及數(shù)據(jù)庫的訪問等操作,過程比較復雜。系統(tǒng)對三維零件資源的擴充分為兩種模式:單一零件資源入庫和批量零件資源入庫。兩種模式下,基本原理是相似的,具體的實現(xiàn)過程略有不同。由于單一零件資源入庫的過程比較簡單,下面以管理員批量零件資源文件上傳為例,說明整個過程。

      系統(tǒng)中采用ZIP壓縮包的格式實現(xiàn)批量文件的上傳,故在ASP.NET應用程序中需添加ICSharp-Code組件來完成文件的壓縮和解壓。管理員登陸后臺管理系統(tǒng)后,選擇需要上傳的文件,以ZIP格式進行壓縮,把壓縮后的文件上傳給服務器;服務器接收到文件后,遍歷目錄文件中的所有節(jié)點,確定當前入庫的資源是否已經(jīng)存在,若不存在,開始上傳;服務端利用ICSharp-Code組件對上傳的文件進行解壓,通過服務端應用程序讀取逐一被解壓的文件夾或文件,對所有的零件資源進行統(tǒng)一的零件級編號,保存能到零件庫中[9]。然后,通過Inventor二次開發(fā)接口啟動Inventor應用程序,提取相關的數(shù)據(jù),導出WRL格式文件,并保存到VRML文件庫中。最后,通過ADO.NET數(shù)據(jù)庫訪問接口連接服務端數(shù)據(jù)庫,將零件的所有數(shù)據(jù)信息存儲到數(shù)據(jù)庫中,完成零件資源的入庫。

      3 零件庫系統(tǒng)實例

      系統(tǒng)根據(jù)不同類別劃分了多個子庫,包括滾動軸承零件庫、標準齒輪零件庫、連接件與緊固件零件庫、組合夾具零件庫等。Web 三維零件庫系統(tǒng)首頁如圖4所示。

      圖4 系統(tǒng)的首頁

      用戶在該系統(tǒng)注冊登錄后,點擊各子零件庫標簽就可以進入相應的圖庫系統(tǒng)。如圖 5所示為常用滾動軸承圖庫,該系統(tǒng)包含了大量的有關常用滾動軸承的三維零件圖形。

      圖5 常用滾動軸承圖庫

      進入子零件庫后,用戶可以根據(jù)需要對現(xiàn)有零件模板進行在線參數(shù)化驅(qū)動,如圖6所示,零件在線參數(shù)化驅(qū)動頁面。

      圖6 零件在線參數(shù)化驅(qū)動

      4 結(jié)論

      1)本文以Inventor的二次開發(fā)技術(shù)為核心,通過網(wǎng)絡編程,把ASP.NET、ADO.NET、可視化技術(shù)以及數(shù)據(jù)庫訪問技術(shù)綜合與一體,實現(xiàn)了基于Web的Inventor-3D資源零件庫系統(tǒng)的研究與開發(fā)。

      2)基于該系統(tǒng),在不需要安裝Inventor軟件的情況下,用戶可以進行三維零件模型的在線瀏覽、在線參數(shù)化驅(qū)動、下載等操作。

      3)用戶可以在系統(tǒng)中快速搜尋自己所需的零件并下載包含設計參數(shù)的3D模型,以進行相關零件產(chǎn)品的二次開發(fā)和再設計,實現(xiàn)資源信息的共享。

      [1]秦廣泰.基于Web的參數(shù)化跨平臺零件庫系統(tǒng)研究[D].西安:西安工業(yè)大學機械工程學院,2012.

      [2]Dan Liu,Qing-Sheng Xie,Xin-Jian Gu.Research on the Integration Method to Web-Based Parts Library[J].Proceedings of the Fourth International Conference on [1]Machine Learning and cybernetics.2005.Vol.4:2296-2301.

      [3]鐘佩思,欒倩,劉梅,王景林,辛紀光.面向網(wǎng)絡化資源共享的零件庫系統(tǒng)研究與實現(xiàn)[J].機械設計與制造,2010,2(2):249-251.

      [4]孫浩.基于Web服務的零件庫的研究與實現(xiàn)[D].濟南:山東大學,2008.

      [5]黃汨.參數(shù)化圖形驅(qū)動及Web零件庫的研究與開發(fā)[D].上海:上海交通大學,2009.

      [6]令狐克志,王轉(zhuǎn),程國全.Inventor API在貨架參數(shù)化三維造型中的應用[J].機械工程與自動化,2005,(1):26-29.

      [7]王宏偉,孫文磊,何麗.AJAX技術(shù)在Web零件庫系統(tǒng)中的應用研究[J].制造業(yè)自動化,2011,33(12):107-110.

      [8]何麗,孫文磊,王宏偉.異構(gòu)CAD平臺網(wǎng)絡零件庫系統(tǒng)的研究與實現(xiàn)[J].機械設計與制造,2012,(2):266-268.

      [9]何麗,孫文磊,王宏偉.基于UG的Web三維零件庫系統(tǒng)開發(fā)[J].機床與液壓,2012,40(11):91-94.

      猜你喜歡
      二次開發(fā)應用程序驅(qū)動
      基于模糊PI控制的驅(qū)動防滑仿真系統(tǒng)分析
      屈宏斌:未來五年,雙輪驅(qū)動,砥礪前行
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      軌旁ATC系統(tǒng)門控柜接收/驅(qū)動板改造
      刪除Win10中自帶的應用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      西門子Easy Screen對倒棱機床界面二次開發(fā)
      基于S3C6410的Wi-Fi驅(qū)動移植實現(xiàn)
      基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
      關閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      通化县| 应城市| 莎车县| 满洲里市| 太和县| 页游| 灌云县| 巴塘县| 吴桥县| 图片| 磴口县| 颍上县| 泰和县| 多伦县| 阿合奇县| 西城区| 秦皇岛市| 万年县| 泗阳县| 温宿县| 于田县| 辽中县| 英山县| 砀山县| 勃利县| 突泉县| 阿克苏市| 曲周县| 潼南县| 阿图什市| 肥乡县| 若尔盖县| 禄劝| 天台县| 合作市| 阜城县| 横山县| 进贤县| 垫江县| 望城县| 冷水江市|