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例
主站蜘蛛池模板: 亚洲精品大秀视频| 国产主播一区二区三区| 国内精品自在自线视频香蕉| 久久青草热| 国产日韩欧美黄色片免费观看| 欧美午夜久久| 国产成人a毛片在线| 青青草国产免费国产| 国产无吗一区二区三区在线欢| 国产成人精品亚洲77美色| 九色免费视频| 国产精品对白刺激| 99精品在线看| 久久天天躁夜夜躁狠狠| 青草免费在线观看| 欧美午夜视频| 国产精品99久久久| av在线无码浏览| 区国产精品搜索视频| 啪啪啪亚洲无码| 亚洲侵犯无码网址在线观看| 91久久偷偷做嫩草影院电| 久久人人97超碰人人澡爱香蕉| 97精品国产高清久久久久蜜芽| 国产va在线观看| 亚洲一级毛片| 亚洲精品亚洲人成在线| 一级毛片免费播放视频| 黄片一区二区三区| 国产成人综合亚洲网址| 亚洲精品人成网线在线| 亚洲国产成人麻豆精品| 国产欧美精品专区一区二区| 欧美三级日韩三级| 国产SUV精品一区二区6| 欧美久久网| 久草热视频在线| 久久人妻xunleige无码| 免费观看国产小粉嫩喷水 | 亚洲 成人国产| 国产剧情国内精品原创| 成人午夜视频在线| 国产大片黄在线观看| 毛片久久网站小视频| 99在线观看精品视频| 国产资源免费观看| 国产精品内射视频| 毛片a级毛片免费观看免下载| 久久香蕉国产线| 在线观看国产精品第一区免费 | 青草视频免费在线观看| 又爽又大又黄a级毛片在线视频| 国产成人综合日韩精品无码首页| 丁香五月激情图片| 国产成人福利在线| 国产在线98福利播放视频免费| 婷婷六月激情综合一区| 日本在线国产| 国产视频只有无码精品| 中文无码日韩精品| 亚洲无码电影| 波多野结衣国产精品| 亚洲天堂网在线播放| 日韩欧美中文字幕在线韩免费| 成人亚洲天堂| 免费视频在线2021入口| 99er精品视频| 免费高清毛片| 91国内在线观看| 国产99欧美精品久久精品久久| 色综合激情网| 毛片网站在线播放| 国产丝袜一区二区三区视频免下载| 欧美成人一区午夜福利在线| 国产黄网站在线观看| 日韩乱码免费一区二区三区| 久久青草精品一区二区三区| 亚洲午夜福利精品无码| 幺女国产一级毛片| 欧美日韩精品一区二区视频| 国产精品久久久免费视频| 欧美激情首页|