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

        ?

        基于VB.NET的SolidWorks型鋼庫(kù)的二次開(kāi)發(fā)*

        2013-08-02 00:48:12王宏建
        機(jī)械研究與應(yīng)用 2013年1期
        關(guān)鍵詞:二次開(kāi)發(fā)設(shè)計(jì)

        程 芬,王宏建,滕 爽

        (武漢紡織大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,湖北武漢 430073)

        1 引言

        型鋼廣泛應(yīng)用在機(jī)械、建筑、航空航天等領(lǐng)域。在三維建模與設(shè)計(jì)中,一般同一系列的型鋼具有相似的截面形狀,利用三維軟件繪制其截面草圖并調(diào)用拉伸命令即可完成建模。常用型鋼包括:角鋼、槽鋼、T型鋼、H 型鋼和工字鋼等[1]。

        SolidWorks(以下簡(jiǎn)稱(chēng)為SW)是一款功能強(qiáng)大的三維實(shí)體造型專(zhuān)用軟件,提供了幾百個(gè)API函數(shù)。這些API函數(shù)是其OLE和COM的接口,使用戶(hù)能直接訪問(wèn)SW,并可利用VB等多種高級(jí)語(yǔ)言對(duì)其進(jìn)行二次開(kāi)發(fā),從而建立適合用戶(hù)需要的專(zhuān)用功能模塊。對(duì)具有類(lèi)似結(jié)構(gòu)的零件進(jìn)行反復(fù)設(shè)計(jì)和修改會(huì)使建模過(guò)程繁瑣,因此對(duì)常用的同類(lèi)型零件建立參數(shù)化設(shè)計(jì)模塊,可實(shí)現(xiàn)零件自動(dòng)建模,從而大大提高設(shè)計(jì)效率[2]。筆者以工字鋼為例,簡(jiǎn)要介紹了基于COM規(guī)范的可生成插件(* .dll)方法的型鋼庫(kù)建立過(guò)程。通過(guò)友好的人機(jī)交互界面,設(shè)計(jì)人員只需輸入相應(yīng)的參數(shù)值就可完成型鋼的建模。

        2 SolidWorks二次開(kāi)發(fā)原理及方法

        SW二次開(kāi)發(fā)是利用支持OLE和COM編程的開(kāi)發(fā)平臺(tái),通過(guò)調(diào)用SW API函數(shù)來(lái)實(shí)現(xiàn)相應(yīng)功能的開(kāi)發(fā),從而建立專(zhuān)用功能模塊的過(guò)程。

        2.1 SolidWorks API函數(shù)

        SW API是SW的OLE應(yīng)用程序開(kāi)發(fā)接口,為用戶(hù)提供完全面向?qū)ο蟮念?lèi)體系。它包括對(duì)象的類(lèi)型、屬性和方法。程序員對(duì)網(wǎng)絡(luò)結(jié)構(gòu)中OLE對(duì)象及其方法和屬性進(jìn)行操作,即可實(shí)現(xiàn)不同功能的二次開(kāi)發(fā)。

        SW API是一個(gè)自上而下的樹(shù)形層次結(jié)構(gòu),SolidWorks位于所有API中最頂層的位置。由于應(yīng)用程序接口對(duì)SW API訪問(wèn)是逐級(jí)遍歷的,所以任何應(yīng)用程序?qū)PI訪問(wèn)前都必須先經(jīng)過(guò)SolidWorks。SW API囊括了軟件的所有功能。SW二次開(kāi)發(fā)中的參數(shù)化設(shè)計(jì),其本質(zhì)就是正確調(diào)用API對(duì)象的過(guò)程[3]。

        2.2 SolidWorks二次開(kāi)發(fā)方法簡(jiǎn)介

        目前對(duì)SW軟件進(jìn)行二次開(kāi)發(fā)有兩種方式:一種是基于OLE(對(duì)象的鏈接與嵌入)的自動(dòng)化技術(shù),用戶(hù)程序作為一個(gè)獨(dú)立的應(yīng)用程序(*.exe),通過(guò)API接口調(diào)用SW提供的服務(wù),完成對(duì)它的控制和操作;另一種是基于COM(組件對(duì)象模型)規(guī)范的,即插件形式(Add-Inapplication),用戶(hù)程序作為一個(gè)插件(*.dll)集成到SW中去[4]。本文實(shí)例采用第二種。

        2.3 零件設(shè)計(jì)模塊二次開(kāi)發(fā)基本思路

        使用 Visual Basic.NET創(chuàng)建新的 SolidWorks ADD-In,利用編輯好的宏,編譯ADD-In,并添加引用,添加SolidWorks2010類(lèi)型庫(kù)、常量類(lèi)型庫(kù)等,最后生成ADD-In程序(*.dll)或(*.exe)文件,筆者選擇生成(*.dll)文件。其基本步驟歸納如下:

        (1)在SW進(jìn)行零件的三維建模,并對(duì)建模過(guò)程進(jìn)行宏錄制,獲取該零件的VB代碼。

        (2)在VB.NET中分析零件設(shè)計(jì)基本參數(shù),對(duì)錄制的宏進(jìn)行修改編輯插入函數(shù)表達(dá)式。

        (3)編輯錄制好的宏,刪除冗余的代碼后插入適當(dāng)?shù)拇绑w函數(shù),制作能輸入?yún)?shù)的人機(jī)交互界面。

        (4)建立應(yīng)用程序與SW的連接,即在程序中嵌入與SW關(guān)聯(lián)的程序語(yǔ)句。

        (5)在VB程序中生成.dll文件。

        (6)打開(kāi)SW,加載.dll文件,至此用戶(hù)需要的插件制作完成[5]。

        3 工字鋼的二次開(kāi)發(fā)

        3.1 工字鋼三維建模及宏錄制

        分析工字鋼結(jié)構(gòu)特征,參照相關(guān)設(shè)計(jì)手冊(cè)中工字鋼的標(biāo)準(zhǔn)參數(shù)得到截面二維圖,如圖1所示。打開(kāi)SW開(kāi)始草圖的繪制,并打開(kāi)【工具】/【宏】/【錄制】進(jìn)行宏錄制,選擇前視基準(zhǔn)面為草圖繪制平面,工字鋼截面草圖由直線段和圓角組成,且為軸對(duì)稱(chēng)圖形,繪制中心線并對(duì)繪制好的直線和圓角進(jìn)行鏡像操作,得到完整的工字鋼截面草圖,最后選擇拉伸命令得到工字鋼三維實(shí)體。同時(shí)停止宏錄制,將得到的程序保存為“工字鋼.swp”,以供后續(xù)過(guò)程修改和調(diào)用。

        圖1 工字鋼截面參數(shù)

        圖中各符號(hào)意義:h為高度;b為腿寬度;d為腰厚度;t為平均腿厚度;r為內(nèi)圓弧半徑;r1為腿端圓弧半徑;C為形心。

        3.2 編制應(yīng)用程序

        (1)繪圖的部分程序代碼如下:

        Private Sub Command1_Click()

        定義所需的變量

        Dim h As Single∥高度h

        Dim b As Single∥腿寬度b Dim d As Single∥腰厚度d

        Dim t As Single∥平均腿厚度t

        Dim L As Single∥工字鋼長(zhǎng)度L

        Dim swApp As Object∥swapp聲明為對(duì)象,表示SW應(yīng)用程序

        Dim Part As Object∥part聲明為對(duì)象,表示SW零件環(huán)境…

        開(kāi)始繪圖

        Sub main()

        Set swApp=Application.SldWorks∥得到 SW 應(yīng)用程序?qū)ο?/p>

        Set Part=swApp.ActiveDoc∥當(dāng)前活動(dòng)的工作環(huán)境

        boolstatus=Part.Extension.SelectByID2("前視基準(zhǔn)面","PLANE",0,0,0,F(xiàn)alse,0,Nothing,0)

        Part.SketchManager.CreateLine(0,0,0,0,b/1000,0)∥繪制直線段

        Set skSegment=Part.SketchManager.CreateLine(t/1000,b/1000,0,t/1000,b/1000,0)

        繪制圓角程序

        boolstatus=Part.Extension.SelectByID2("Line5","SKETCHSEGMENT",t/2000,b-d/4000,0,True,0,Nothing,0)

        Set skSegment=

        Part.SketchManager.CreateFillet(r,1)∥圓角 r

        Part.SketchManager.InsertSketch True

        Part.ShowNamedView2"上下二等角軸測(cè)",8…

        boolstatus=Part.Extension.SelectByID2("工字鋼","SKETCH",0,0,0,F(xiàn)alse,0,Nothing,0)

        Part.FeatureManager.FeatureExtrusion∥用拉伸函數(shù)得到三維實(shí)體…

        (2)利用SW API的功能編制SW插件,部分代碼如下:

        API對(duì)象與應(yīng)用標(biāo)志程序

        Implements SWPublished.SwAddin

        Dim iSldWorks As SldWorks.SldWorks

        Dim iCookie As Long

        Dim iToolbarID As Long

        建立SolidWorks鏈接關(guān)系的關(guān)鍵代碼

        SetiSldWorks=ThisSW∥與SW建立連接iCookie=Cookie∥從SW得到cookie

        Public Sub AddMenus()∥定義二次開(kāi)發(fā)菜單

        iSldWorks.AddMenu swDocPART,"型鋼庫(kù)",5

        iSldWorks. AddMenuItem2swDocPART,iCookie," 工字鋼@ 型鋼庫(kù)",-1,"工字鋼設(shè)計(jì)","",""iSldWorks.AddMenuItem2 swDocPART,iCookie,"H型鋼@ 型鋼庫(kù)",-1,"H型鋼設(shè)計(jì)","",""End Sub…

        3.3 人機(jī)交互界面及運(yùn)行結(jié)果

        查相關(guān)手冊(cè)可以得出基本參數(shù):h=100,b=68,d=4.5,t=7.6,r=6.5,r1=3.4 即為 10 號(hào)工字鋼截面[6]。拉伸長(zhǎng)度L=200,其插件交互截面如圖2所示。

        圖2 工字鋼插件人機(jī)交互界面

        在交互式界面下輸入上述參數(shù)得到相應(yīng)工字鋼三維模型如圖3所示。其他型鋼的建模與本例相似,可歸納出同系列的型鋼截面參數(shù)模型,利用簡(jiǎn)單的直線、圓角等繪制命令建立其截面草圖,再利用拉伸命令獲得三維模型。其中錄制的宏代碼中已定義的常數(shù)參量應(yīng)改為所定義的變量,并建立相應(yīng)函數(shù)關(guān)系。程序編寫(xiě)完成后,保存工程并生成工程DLL文件。在SW中點(diǎn)擊【文件】→【打開(kāi)】,文件類(lèi)型選為“Add-Ins(* .dll)”并加載前面生成的DLL文件,至此用戶(hù)需要的插件制作完成[7]。

        圖3 工字鋼10三維模型

        4 結(jié)論

        筆者使用VB語(yǔ)言通過(guò)SolidWorks API函數(shù)接口實(shí)現(xiàn)了型鋼庫(kù)設(shè)計(jì)模塊的二次開(kāi)發(fā)。介紹了基于COM規(guī)范的,將用戶(hù)程序作為插件集成到SW中的方法,實(shí)現(xiàn)了型鋼庫(kù)的建立。該方法只需對(duì)宏代碼進(jìn)行簡(jiǎn)單修改便可實(shí)現(xiàn)預(yù)期的功能,大幅減輕了設(shè)計(jì)人員工作強(qiáng)度,提高了工作效率。

        [1] 王智永.基于 SolidWorks型鋼庫(kù)的建立[J].科技資訊,2008(6):67.

        [2] 陳克源,王得勝.基于SolidWorks二次開(kāi)發(fā)的支撐腳零件參數(shù)化設(shè)計(jì)[J].機(jī)械研究與應(yīng)用,2011(2):87-89.

        [3] 江 洪,魏 崢.SolidWorks二次開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2004.

        [4] 江 洪,李仲興,邢啟恩.SolidWorks 2003二次開(kāi)發(fā)基礎(chǔ)與實(shí)例教程[M].北京:電子工業(yè)出版社,2003.

        [5] 王 棟.Visual Basic程序開(kāi)發(fā)實(shí)例教程[M].北京:清華大學(xué)出版社,2006.

        [6] 秦大同,謝里陽(yáng).現(xiàn)代機(jī)械設(shè)計(jì)手冊(cè)[M].北京:化學(xué)工業(yè)出版社,2011.

        [7] 張才忠.基于VB的SolidWorks零件庫(kù)的二次開(kāi)發(fā)[J].現(xiàn)代制造與裝備,2010(2):67-68.

        猜你喜歡
        二次開(kāi)發(fā)設(shè)計(jì)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        西門(mén)子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
        淺談Mastercam后處理器的二次開(kāi)發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        Micaps3.2 版本二次開(kāi)發(fā)入門(mén)淺析
        西藏科技(2015年12期)2015-09-26 12:13:51
        ANSYS Workbench二次開(kāi)發(fā)在汽車(chē)穩(wěn)定桿CAE分析中的應(yīng)用
        欧美日韩国产综合aⅴ| 国产精品亚洲第一区二区三区 | 久久久成人av毛片免费观看| 伊人久久大香线蕉av色婷婷色| 永久免费人禽av在线观看| av免费在线免费观看| 国产午夜成人av在线播放| 激情97综合亚洲色婷婷五| 蜜臀aⅴ永久无码一区二区| 免费的黄网站精品久久| 在线免费看91免费版.| 一本久久a久久精品vr综合| 亚洲饱满人妻视频| 亚洲专区在线观看第三页| 91偷自国产一区二区三区| 亚洲精品无码高潮喷水a片软| 国产精品久久久久久麻豆一区| 手机在线中文字幕国产| 在线天堂av一区二区| 色欲av蜜桃一区二区三| 精品四虎免费观看国产高清| 黄色三级国产在线观看| 国产自拍视频在线观看网站| 黄瓜视频在线观看| 久久青青草原亚洲AV无码麻豆 | 亚洲国产精品国语在线| 亚洲一区中文字幕视频| 天天做天天摸天天爽天天爱| 久久久国产一区二区三区四区小说| 欧美日韩一区二区三区视频在线观看| 色婷婷av一区二区三区丝袜美腿 | 亚洲无码夜夜操| 亚洲精品不卡av在线免费| 熟女人妇 成熟妇女系列视频| 99这里只有精品| 我和丰满老女人性销魂| 91精品亚洲成人一区二区三区| 无码成人aaaaa毛片| 99精品国产第一福利网站| 日本黄色影院一区二区免费看| 无人区一码二码三码四码区|