亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Inventor二次開發(fā)在Web-3D零件庫系統(tǒng)中的應(yīng)用

        2014-10-10 09:45:34武園園孫文磊
        制造業(yè)自動(dòng)化 2014年15期
        關(guān)鍵詞:二次開發(fā)軟件用戶

        武園園,孫文磊,何 麗

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

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

        0 引言

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

        因此,本文通過研究Inventor二次開發(fā),實(shí)現(xiàn)了Web-3D零件庫系統(tǒng)中零件模型的可視化、零件模型的參數(shù)提取以及在線參數(shù)化驅(qū)動(dòng)等功能。整個(gè)過程以Visual Studio 2008作為主要開發(fā)工具。

        1 NET平臺(tái)下Inventor二次開發(fā)

        1.1 NET平臺(tái)下的Inventor二次開發(fā)技術(shù)

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

        同時(shí),Inventor API是一種以面向?qū)ο蟮姆绞教峁?yīng)用程序?qū)ο蠊δ艿膽?yīng)用程序接口。它提供了Inventor的各種對象的內(nèi)在功能,并且各個(gè)對象間是一種相互繼承的關(guān)系[5]。

        對于Inventor2012,Inventor API for.NET提供了多個(gè)DLL文件。在進(jìn)行Inventor的二次開發(fā)時(shí),只需要在.NET平臺(tái)下引用Autodesk.Inventor.Interop.dll文件,獲取對Inventor根對象Application的訪問權(quán),利用C#語言以面向?qū)ο蟮姆绞骄帉憫?yīng)用程序,通過調(diào)用函數(shù)來實(shí)現(xiàn)對Inventor各種操作,如打開/關(guān)閉三維零件模型文件、導(dǎo)出wrl文件與零件參數(shù)化驅(qū)動(dòng)等。

        1.2 系統(tǒng)中運(yùn)用c#對Inventor二次開發(fā)的過程

        為了提高零件庫系統(tǒng)的運(yùn)行速度,Inventor二次開發(fā)采用不啟動(dòng)軟件的模式,同時(shí)用戶無需安裝軟件就可以實(shí)現(xiàn)對Inventor零件模型的相關(guān)操作。

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

        圖1 Inventor二次開發(fā)流程

        2 Inventor二次開發(fā)在零件庫中的應(yīng)用

        2.1 Inventor二次開發(fā)實(shí)現(xiàn)系統(tǒng)功能概述

        web零件庫系統(tǒng)中,零件模型的可視化、參數(shù)化設(shè)計(jì)、三維模型的上傳與下載及在線動(dòng)態(tài)連接數(shù)據(jù)庫等功能都涉及到Inventor二次開發(fā)技術(shù),具體的功能流程如圖2所示。

        圖2 零件庫系統(tǒng)中的功能流程圖

        2.2 基于Inventor二次開發(fā)的參數(shù)化設(shè)計(jì)

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

        因此,零件庫系統(tǒng)采用了“模型模板+參數(shù)列表”的形式構(gòu)建系統(tǒng)模型數(shù)據(jù)庫,用戶所需模型由在線調(diào)用Inventor二次開發(fā)接口而生成。同時(shí),為了減少數(shù)據(jù)庫的存儲(chǔ)量,并滿足用戶的特殊要求,系統(tǒng)提供了在線參數(shù)化驅(qū)動(dòng)功能。用戶瀏覽零件模型時(shí),如果需要不同尺寸的零件模型,可以在現(xiàn)有模板參數(shù)的基礎(chǔ)上修改參數(shù),系統(tǒng)則自動(dòng)生成相應(yīng)尺寸的模型,并導(dǎo)出wrl文件,儲(chǔ)存在臨時(shí)文件夾里,顯示在頁面上,供用戶瀏覽/下載[7]。

        零件庫系統(tǒng)實(shí)現(xiàn)參數(shù)化驅(qū)動(dòng)大致需要以下三個(gè)步驟:首先,用戶在瀏覽模型及參數(shù)時(shí),根據(jù)自己的需求在系統(tǒng)的要求范圍內(nèi)修改模型文件的原始參數(shù),并將修改后的參數(shù)提交給服務(wù)器;然后,服務(wù)器利用Inventor接口函數(shù)啟動(dòng)應(yīng)用程序,調(diào)用庫中的模型文件和用戶修改后的參數(shù)值,更新原始模型文件,導(dǎo)出wrl文件,存儲(chǔ)在臨時(shí)文件夾里,完成零件的在線參數(shù)化驅(qū)動(dòng);最后,服務(wù)端將更新后的新零件模型的wrl文件更新到客戶端供用戶瀏覽,而存于服務(wù)端臨時(shí)文件里的模型文件則供用戶下載。實(shí)現(xiàn)參數(shù)化驅(qū)動(dòng)的關(guān)鍵代碼如下:

        2.3 Inventor二次開發(fā)接口的封裝設(shè)計(jì)

        綜合考慮Inventor在線參數(shù)化驅(qū)動(dòng)過程的實(shí)現(xiàn),若將實(shí)現(xiàn)相應(yīng)功能的共性操作提取出來,按照統(tǒng)一的格式進(jìn)行定義,然后將其封裝為一個(gè)公共的接口,這樣不僅可以保證對Inventor軟件操作的一致性,而且能夠屏蔽掉對Inventor軟件的二次開發(fā)接口的具體實(shí)現(xiàn)過程[8]。因此,對Inventor進(jìn)行二次開發(fā),將常用功能按照面向?qū)ο缶幊痰姆椒ㄟM(jìn)行封裝是系統(tǒng)開發(fā)過程中重要的過程。

        Inventor二次開發(fā)中實(shí)現(xiàn)相應(yīng)功能的操作大致包括:打開/關(guān)閉模版文件、提取與修改參數(shù)、導(dǎo)出wrl文件、Inventor軟件是否啟動(dòng)調(diào)整等。將其操作按照統(tǒng)一的格式進(jìn)行定義,然后將其封裝為一公共的接口。Inventor二次開發(fā)接口封裝類庫派生關(guān)系如圖3所示。具體步驟如下:

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

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

        通過C#編程,完成相應(yīng)的功能操作。

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

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

        圖3 Inventor二次開發(fā)接口封裝

        3 應(yīng)用案例

        零件庫后臺(tái)管理系統(tǒng)上傳頁面如圖4所示。三維零件模型可以按照節(jié)點(diǎn)進(jìn)行分類上傳。上傳過程中,應(yīng)用程序自動(dòng)讀取模型的參數(shù)等信息,導(dǎo)出wrl文件,并將兩者存放在數(shù)據(jù)庫中。

        圖4 后臺(tái)管理系統(tǒng)上傳頁面

        系統(tǒng)中模型的可視化以及在線參數(shù)化驅(qū)動(dòng)的實(shí)現(xiàn)頁面如圖5所示。在該頁面中,用戶可以進(jìn)行三維模型文件瀏覽,瀏覽模型驅(qū)動(dòng)參數(shù),以及進(jìn)行在線參數(shù)化驅(qū)動(dòng),生成用戶需要的三維CAD模型,供用戶下載。

        圖5 在線參數(shù)化頁面

        4 結(jié)論

        本文通過深入研究C#編程,并以Inventor二次開發(fā)技術(shù)為核心,論述了Inventor二次開發(fā)在Web-3D零件庫系統(tǒng)中的應(yīng)用。文中詳細(xì)論述了Web-3D零件庫系統(tǒng)中零件模型的參數(shù)化設(shè)計(jì)與接口的封裝等功能的實(shí)現(xiàn)方法與過程,實(shí)現(xiàn)了給用戶提供一個(gè)共享Inventor資源平臺(tái)的理想?;诹慵煜到y(tǒng),用戶可以下載現(xiàn)有的或者參數(shù)化驅(qū)動(dòng)后的模型等資源后,直接用于自己的設(shè)計(jì)等工作,從而提高企業(yè)及其它用戶的工作效率。

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

        [2]吳衛(wèi)衛(wèi),喬領(lǐng)干,張愛梅.基于Inventor的二次開發(fā)中引出序號(hào)添加方法的研究[J].制造業(yè)自動(dòng)化,2013,35(1):73-76.

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

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

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

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

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

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

        猜你喜歡
        二次開發(fā)軟件用戶
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        淺談基于Revit平臺(tái)的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        軟件對對碰
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        談軟件的破解與保護(hù)
        精品(2015年9期)2015-01-23 01:36:01
        91青草久久久久久清纯| 午夜精品久久久久久99热| 久久精品国产亚洲一区二区| 精品无码AⅤ片| 天堂av在线播放观看| 国内自拍色第一页第二页| 国产精品久久久国产盗摄| 人妻人人澡人人添人人爽人人玩| 国产激情视频在线| 毛片在线视频成人亚洲| 老色鬼在线精品视频| 亚洲欧美日韩在线一区| 国产精品激情综合久久| 色婷婷一区二区三区久久亚洲| 国产精品天干天干| 亚洲av伊人久久综合密臀性色| 亚洲国产精品久久九色| 人妻少妇中文字幕久久hd高清| 国产精品久久国产精麻豆99网站| 无套内射蜜桃小视频| 亚洲国产一区二区三区在线视频| 色综合久久精品中文字幕| 五月色丁香婷婷网蜜臀av| 全部孕妇毛片| 韩国主播av福利一区二区| 精品福利一区二区三区| 亚洲精品白浆高清久久久久久 | 国产性虐视频在线观看| 国产精品成人aaaaa网站| 美女在线国产| 最新国内视频免费自拍一区| 久久综合99re88久久爱| 少妇人妻200篇白洁| 探花国产精品三级在线播放| 亚洲男人的天堂av一区| 玩弄丰满奶水的女邻居| 久久亚洲精品成人| 国产91大片在线观看| 亚洲av无码一区东京热久久| 日本一区午夜艳熟免费| 日本护士一区二区三区高清热线|