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

Inventor二次開發在Web-3D零件庫系統中的應用

2014-10-10 09:45:34武園園孫文磊
制造業自動化 2014年15期
關鍵詞:二次開發用戶功能

武園園,孫文磊,何 麗

WU Yuan-yuan,SUN Wen-lei,HE Li

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

0 引言

隨著市場競爭的日趨激烈以及網絡技術的不斷完善,企業間對制造業信息的需求不斷的加大。與此同時,網絡零件庫系統誕生了,并受到廣泛關注。單機版的零件庫系統已經無法滿足現代企業的需求,只有基于異構CAD平臺的網絡零件庫可以為企業用戶提供更多的資源[1]。要完成網絡零件庫系統主要功能的開發,主要是通過軟件的二次開發來實現。目前,很多三維軟件都提供了二次開發接口。如Inventor、UG NX、CATIA等。Inventor軟件具有良好的開放型,它提供了充分的二次資源開發接口和開發方法,用戶可以在其平臺上開發滿足自己特定要求的產品[2]。

因此,本文通過研究Inventor二次開發,實現了Web-3D零件庫系統中零件模型的可視化、零件模型的參數提取以及在線參數化驅動等功能。整個過程以Visual Studio 2008作為主要開發工具。

1 NET平臺下Inventor二次開發

1.1 NET平臺下的Inventor二次開發技術

Inventor軟件提供了強大的二次開發接口—Inventor API。Inventor API(Application Programming Interface)的技術基礎是微軟的自動化技術。用戶通過Inventor API,可以直接使用OLE Automation技術實現Inventor的二次開發[3]。因此,可以用支持OLE Automation技術的各種高級語言來控制Inventor的各種對象與相關屬性等,例如Visual Basic、Visual C++、C#、Java等。在Inventor Professional 2012中,提供了三種API開發途徑:Add-In、獨立的EXE(Standalone EXE)和Apprentice Server[4]。為了實現在不打開軟件的模式下,對Inventor進行二次開發,該系統采用獨立的EXE開發模式。直接通過編程來實現零件庫系統的相關功能。

同時,Inventor API是一種以面向對象的方式提供應用程序對象功能的應用程序接口。它提供了Inventor的各種對象的內在功能,并且各個對象間是一種相互繼承的關系[5]。

對于Inventor2012,Inventor API for.NET提供了多個DLL文件。在進行Inventor的二次開發時,只需要在.NET平臺下引用Autodesk.Inventor.Interop.dll文件,獲取對Inventor根對象Application的訪問權,利用C#語言以面向對象的方式編寫應用程序,通過調用函數來實現對Inventor各種操作,如打開/關閉三維零件模型文件、導出wrl文件與零件參數化驅動等。

1.2 系統中運用c#對Inventor二次開發的過程

為了提高零件庫系統的運行速度,Inventor二次開發采用不啟動軟件的模式,同時用戶無需安裝軟件就可以實現對Inventor零件模型的相關操作。

系統中Inventor二次開發的具體過程如圖1所示。首先引入COM庫類型文件(Autodesk Inventor Object Library),初始化COM庫;其次,運用C#調用函數調用庫中的根對象Application,建立與Inventor的通信;然后,通過C#函數調用相關的對象、屬性或者方法來實現。

圖1 Inventor二次開發流程

2 Inventor二次開發在零件庫中的應用

2.1 Inventor二次開發實現系統功能概述

web零件庫系統中,零件模型的可視化、參數化設計、三維模型的上傳與下載及在線動態連接數據庫等功能都涉及到Inventor二次開發技術,具體的功能流程如圖2所示。

圖2 零件庫系統中的功能流程圖

2.2 基于Inventor二次開發的參數化設計

零件庫系統一般用于存儲大量零部件模型及相關數據信息,其構建形式不外乎兩種:其一,使用三維CAD軟件為大量型號的零部件模型建模,將所有模型存儲于數據庫中;其二,利用CAD軟件的參數化建模方法,按照模型模板+參數系列的方法存儲數據[6]。對比這兩種構建零件庫的方法可得知,使用前一種方法構建的系統訪問速度快,但其數據量過于龐大,數據冗余較多,同時建庫工作量大,不易于維護。而后一種方法減小了服務器中的數據量,在系統維護及建庫工作量方面都比前一種方法有很大的優勢。

因此,零件庫系統采用了“模型模板+參數列表”的形式構建系統模型數據庫,用戶所需模型由在線調用Inventor二次開發接口而生成。同時,為了減少數據庫的存儲量,并滿足用戶的特殊要求,系統提供了在線參數化驅動功能。用戶瀏覽零件模型時,如果需要不同尺寸的零件模型,可以在現有模板參數的基礎上修改參數,系統則自動生成相應尺寸的模型,并導出wrl文件,儲存在臨時文件夾里,顯示在頁面上,供用戶瀏覽/下載[7]。

零件庫系統實現參數化驅動大致需要以下三個步驟:首先,用戶在瀏覽模型及參數時,根據自己的需求在系統的要求范圍內修改模型文件的原始參數,并將修改后的參數提交給服務器;然后,服務器利用Inventor接口函數啟動應用程序,調用庫中的模型文件和用戶修改后的參數值,更新原始模型文件,導出wrl文件,存儲在臨時文件夾里,完成零件的在線參數化驅動;最后,服務端將更新后的新零件模型的wrl文件更新到客戶端供用戶瀏覽,而存于服務端臨時文件里的模型文件則供用戶下載。實現參數化驅動的關鍵代碼如下:

2.3 Inventor二次開發接口的封裝設計

綜合考慮Inventor在線參數化驅動過程的實現,若將實現相應功能的共性操作提取出來,按照統一的格式進行定義,然后將其封裝為一個公共的接口,這樣不僅可以保證對Inventor軟件操作的一致性,而且能夠屏蔽掉對Inventor軟件的二次開發接口的具體實現過程[8]。因此,對Inventor進行二次開發,將常用功能按照面向對象編程的方法進行封裝是系統開發過程中重要的過程。

Inventor二次開發中實現相應功能的操作大致包括:打開/關閉模版文件、提取與修改參數、導出wrl文件、Inventor軟件是否啟動調整等。將其操作按照統一的格式進行定義,然后將其封裝為一公共的接口。Inventor二次開發接口封裝類庫派生關系如圖3所示。具體步驟如下:

首先,引入Inventor軟件的類型庫(Autodesk Inventor Object Library);

其次,根據COM接口對OLE組件自動化技術的支持,C#編程通過CreateInstance方法獲得Application對象;

通過C#編程,完成相應的功能操作。

最后,把公共接口以類庫的形式封裝起來,在系統應用程序中添加引用該類庫。

通過以上對Inventor二次開發接口的封裝,不僅避免了參數化實現過程的繁瑣與重復,而且使得系統本身的邏輯更加清楚,維護與升級工作更為容易。

圖3 Inventor二次開發接口封裝

3 應用案例

零件庫后臺管理系統上傳頁面如圖4所示。三維零件模型可以按照節點進行分類上傳。上傳過程中,應用程序自動讀取模型的參數等信息,導出wrl文件,并將兩者存放在數據庫中。

圖4 后臺管理系統上傳頁面

系統中模型的可視化以及在線參數化驅動的實現頁面如圖5所示。在該頁面中,用戶可以進行三維模型文件瀏覽,瀏覽模型驅動參數,以及進行在線參數化驅動,生成用戶需要的三維CAD模型,供用戶下載。

圖5 在線參數化頁面

4 結論

本文通過深入研究C#編程,并以Inventor二次開發技術為核心,論述了Inventor二次開發在Web-3D零件庫系統中的應用。文中詳細論述了Web-3D零件庫系統中零件模型的參數化設計與接口的封裝等功能的實現方法與過程,實現了給用戶提供一個共享Inventor資源平臺的理想。基于零件庫系統,用戶可以下載現有的或者參數化驅動后的模型等資源后,直接用于自己的設計等工作,從而提高企業及其它用戶的工作效率。

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

[2]吳衛衛,喬領干,張愛梅.基于Inventor的二次開發中引出序號添加方法的研究[J].制造業自動化,2013,35(1):73-76.

[3]陳伯雄,張朝陽.InventorR6VB(A)陳谷設計[M].機械工業出版社,2004.

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

[5]董濤,張宇,李勃,李果.Inventor二次開發在高低壓開關設備參數化造型中的應用[J].機械與電子,2009(4):34-36.

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

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

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

猜你喜歡
二次開發用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 91小视频在线观看免费版高清| 不卡无码h在线观看| 全部毛片免费看| 秋霞一区二区三区| 免费在线看黄网址| 天堂网国产| 久久特级毛片| 热久久综合这里只有精品电影| 亚洲三级电影在线播放| 日韩精品一区二区三区中文无码| 亚洲精品视频免费看| 免费视频在线2021入口| 色视频国产| jijzzizz老师出水喷水喷出| 色亚洲激情综合精品无码视频| 亚洲色图欧美激情| 免费无遮挡AV| 亚洲天堂免费| 日韩123欧美字幕| 熟妇人妻无乱码中文字幕真矢织江 | 久久亚洲天堂| 国产成人亚洲精品无码电影| 99re热精品视频中文字幕不卡| 亚洲成人黄色在线观看| 国禁国产you女视频网站| 国产高清国内精品福利| 日韩精品久久久久久久电影蜜臀| 久久综合九九亚洲一区| 国产一二三区视频| 久久a级片| 免费观看成人久久网免费观看| 欧美a在线| 国产成人一区二区| 国产精品专区第1页| 亚洲视频一区在线| 青青操视频在线| 伊人久综合| 91系列在线观看| 国产白浆视频| 国产亚洲男人的天堂在线观看| 最新日本中文字幕| 毛片视频网| 97久久免费视频| 久久国产精品无码hdav| 免费一级毛片完整版在线看| 亚洲中文字幕无码mv| 无码专区国产精品一区| 亚洲人成日本在线观看| 日本免费一区视频| 国内精自线i品一区202| 成人福利在线免费观看| 农村乱人伦一区二区| 亚洲一区二区三区在线视频| 爆操波多野结衣| 欧美性色综合网| 18禁不卡免费网站| 色偷偷综合网| 东京热一区二区三区无码视频| 四虎永久在线| 欧美成人h精品网站| 乱系列中文字幕在线视频| 老司国产精品视频91| 91精品福利自产拍在线观看| 久久精品丝袜| 国精品91人妻无码一区二区三区| h网站在线播放| 日韩欧美一区在线观看| 婷婷综合缴情亚洲五月伊| 草草线在成年免费视频2| 成人中文在线| 红杏AV在线无码| 成人国产一区二区三区| a网站在线观看| 婷婷六月在线| 国产成人精品亚洲日本对白优播| 原味小视频在线www国产| 99热这里只有精品国产99| 夜夜爽免费视频| 亚洲永久精品ww47国产| 欧美一级夜夜爽www| 色婷婷亚洲十月十月色天| 国产欧美日韩va另类在线播放|