SolidWorks螺紋聯(lián)接標(biāo)準(zhǔn)件庫的開發(fā)
2013-05-20 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
SolidWorks是一款非常優(yōu)秀的三維機(jī)械設(shè)計(jì)軟件,但是它缺少國(guó)家標(biāo)準(zhǔn)零件庫,給機(jī)械設(shè)計(jì)工作帶來了不便。為了方便用戶進(jìn)行二次開發(fā),SolidWorks提供了基于OLE自動(dòng)化技術(shù)的API函數(shù)。利用高級(jí)可視化編程語言Visual Basic和簡(jiǎn)單易用的Access數(shù)據(jù)庫,開發(fā)了一個(gè)基于SolidWorks的螺紋連接標(biāo)準(zhǔn)件庫,而且在標(biāo)準(zhǔn)件庫中添加了受力分析模塊,使之更加符合實(shí)際應(yīng)用的需要。在開發(fā)了標(biāo)準(zhǔn)的EXE程序的同時(shí),又將工程加以改進(jìn),生成SolidWorks插件,即DLL文件,將各模塊的界面附在SolidWorks軟件的主萊單上,使2個(gè)系統(tǒng)融為一體,應(yīng)用更加方便快捷。
作者: 楊海飛*蔣建東*王杰 來源: 萬方數(shù)據(jù)
關(guān)鍵字: SolidWorks 二次開發(fā) Visual Basic 螺紋連接標(biāo)準(zhǔn)件序
0引言
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系統(tǒng),是美國(guó)SolidWorks公司在總結(jié)和繼承了大型機(jī)械CAD軟件的基礎(chǔ)上,在Windows環(huán)境下實(shí)現(xiàn)的第一個(gè)機(jī)械三維CAD軟件。在工程設(shè)計(jì)時(shí)設(shè)計(jì)人員經(jīng)常選用標(biāo)準(zhǔn)化、系列化的零件,如螺栓、螺釘、螺母、墊圈等,這些元件將在設(shè)計(jì)時(shí)反復(fù)地在裝配體的不同位置被選用,而且規(guī)格大小各不相同,如果能夠建立一個(gè)標(biāo)準(zhǔn)件三維實(shí)體模型庫,在用戶選擇某規(guī)格的標(biāo)準(zhǔn)件時(shí),能夠自動(dòng)從庫中取出,然后插人到裝配體的指定位置,將大大簡(jiǎn)化設(shè)計(jì)工作,提高設(shè)計(jì)效率。但SolidWorks并沒有提供一個(gè)符合我國(guó)國(guó)家標(biāo)準(zhǔn)的標(biāo)準(zhǔn)零件庫,在此背景下本文對(duì)SolidWorks進(jìn)行了二次開發(fā),創(chuàng)建了一個(gè)符合國(guó)家標(biāo)準(zhǔn)的螺紋連接標(biāo)準(zhǔn)件庫。
1 VC對(duì)Solidworks開發(fā)的基本原理
SolidWorks支持ActiveX Automation技術(shù),VB環(huán)境下建立的客戶程序可以直接訪間SolidWorks中的對(duì)象。ActiveX Automation是Microsoft公司提出的一個(gè)基于COM (Componet Object Model)的技術(shù)標(biāo)準(zhǔn),是以前的OLE(Object Linking and Embeding)技術(shù)更高層次的發(fā)展,ActiveX Automation被開發(fā)出來的原因就是用于協(xié)調(diào)不同的應(yīng)用程序。
SolidWorks支持OLE標(biāo)準(zhǔn),完全實(shí)現(xiàn) OLE自動(dòng)化。作為一個(gè)OLE服務(wù)器,SolidWorks提供了大量的OLE對(duì)象,以這些對(duì)象所擁有的方法和屬性,用戶通過在客戶應(yīng)用程序中對(duì)這些OLE對(duì)象及其方法和屬性的操作,可以在自己開發(fā)的應(yīng)用軟件中實(shí)現(xiàn)諸如生成直線、造實(shí)體、檢查曲面表面參數(shù)等幾乎所有的SolidWorks軟件的功能。
SolidWorks中常用的主要ActiveX Automation對(duì)象有Parameter,Sldworks,Entity和EnumBodie。對(duì)象等,如圖1所示。Sldworks對(duì)象為VB對(duì)SolidWorks工作環(huán)境進(jìn)行訪問處理提供了接口。通過此對(duì)象可以對(duì)SolidWorks工作環(huán)境添加菜單、刪除菜單、添加工具條、打開文件、新建文件、退出SolidWorks系統(tǒng)。用VB調(diào)用SolidWorks中的API函數(shù),還可以完成零件的建造和修改;零件各特征的建立、修改、刪除和壓縮等各項(xiàng)控制;零件特征信息的提取,如特征尺寸的設(shè)置與提取,特征所在面的信息提取及各種幾何和拓?fù)湫畔?零件的裝配信息;零件工程圖紙中的各項(xiàng)信息等。
在對(duì)SolidWorks進(jìn)行二次開發(fā)時(shí),首先要建立SolidWorks的連接,創(chuàng)建SolidWorks的應(yīng)用對(duì)象
Dim swApp As Object
Set swApp=CreateObject ("S1dWorks. Application")
通過這個(gè)函數(shù),就打開了SolidWorks的接口,可以調(diào)用它的API函數(shù)了。例如建立新的零件圖
Dim Part As Object
Set Part=swApp. newpart
2標(biāo)準(zhǔn)庫件的開發(fā)設(shè)計(jì)
標(biāo)準(zhǔn)件的系列化,通用化和標(biāo)準(zhǔn)化程度高,對(duì)具體的某1類標(biāo)準(zhǔn)件來說,它們的結(jié)構(gòu)都是固定不變的,所不同只是產(chǎn)品的結(jié)構(gòu)尺寸。為此可以設(shè)想,我們用有關(guān)標(biāo)準(zhǔn)件的所有信息,包括:幾何特征信息和其他信息,建立一個(gè)標(biāo)準(zhǔn)件數(shù)據(jù)庫。當(dāng)需要用到標(biāo)準(zhǔn)件時(shí),由CAD系統(tǒng)自動(dòng)查詢圖形數(shù)據(jù)庫或由相應(yīng)的軟件計(jì)算出繪圖所需要的全部數(shù)據(jù),并自動(dòng)完成標(biāo)準(zhǔn)件的實(shí)體建模。即標(biāo)準(zhǔn)件庫的設(shè)計(jì)基于這樣一個(gè)前提:查詢與繪制工作為后臺(tái)服務(wù),對(duì)用戶透明,其目的是讓用戶進(jìn)行最簡(jiǎn)單的操作,即可得到由系統(tǒng)生成的標(biāo)準(zhǔn)件,并可查詢到與標(biāo)準(zhǔn)件有關(guān)的信息。
2.1標(biāo)準(zhǔn)件庫系統(tǒng)的總體框架
SolidWorks環(huán)境下標(biāo)準(zhǔn)件庫的系統(tǒng)結(jié)構(gòu)如圖2所示。其中有系統(tǒng)主體和用戶界面、標(biāo)準(zhǔn)件GB數(shù)據(jù)庫和標(biāo)準(zhǔn)件模板零件文件庫三個(gè)部分。
系統(tǒng)主體和用戶界面是整個(gè)系統(tǒng)的核心,包括數(shù)據(jù)查詢與計(jì)算模塊、受力分析校核模塊和圖形界面等口數(shù)據(jù)查詢與計(jì)算模塊是系統(tǒng)的數(shù)據(jù)處理核心。用戶做了適當(dāng)?shù)牟僮骱?就能智能判斷操作的順序和要求。用戶選擇了特定的零件與參數(shù)后,系統(tǒng)首先運(yùn)行該模塊,利用ADO技術(shù)與數(shù)據(jù)庫交互,查詢到滿足用戶要求的特定數(shù)據(jù)記錄,然后根據(jù)情況,完成計(jì)算任務(wù),獲得造型必需的最終數(shù)據(jù)。用戶的操作或選擇有時(shí)候也是最終數(shù)據(jù)的一部分。受力分析模塊不是標(biāo)準(zhǔn)件庫所必需的,為標(biāo)準(zhǔn)件庫開發(fā)受力分析模塊是從實(shí)際出發(fā),考慮到用戶在選取標(biāo)準(zhǔn)件時(shí),并不一定明確知道零件的尺寸參數(shù),而可能用戶僅知道螺紋連接件的受力情況及大小。此時(shí),用戶不能馬上使用標(biāo)準(zhǔn)件庫系統(tǒng)進(jìn)行造型,而先要對(duì)零件進(jìn)行分析計(jì)算,得出尺寸數(shù)據(jù)。
標(biāo)準(zhǔn)件GB數(shù)據(jù)庫是系統(tǒng)數(shù)據(jù)存儲(chǔ)和管理中心。本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫Microsoft Access,為每一種標(biāo)準(zhǔn)件建立一個(gè)特性參數(shù)數(shù)據(jù)庫,如螺栓特性參數(shù)庫、螺母特性參數(shù)庫、墊圈特性參數(shù)庫等,如圖3所示,并把各標(biāo)準(zhǔn)件的國(guó)標(biāo)參數(shù)導(dǎo)人相應(yīng)的數(shù)據(jù)庫中,如圖4所示。
標(biāo)準(zhǔn)件模板零件庫是參照國(guó)家標(biāo)準(zhǔn),利用SolidWorks的特征造型技術(shù)建立的三維零件庫。每一種標(biāo)準(zhǔn)件按要求不同,有一組或多組尺寸系列,但同一種標(biāo)準(zhǔn)件結(jié)構(gòu)基本相同。每一種形狀的標(biāo)準(zhǔn)零件均建立一個(gè)模型,并在造型的過程中完成對(duì)標(biāo)準(zhǔn)件圖形的幾何約束和尺寸約束定義,同時(shí)對(duì)需要尺寸驅(qū)動(dòng)的特征尺寸定義相應(yīng)的變量(名字),以便程序訪問,實(shí)現(xiàn)尺寸的驅(qū)動(dòng)。該庫中儲(chǔ)存的并不是帶有具體幾何數(shù)據(jù)的實(shí)體模型,而是標(biāo)準(zhǔn)件的概念模型,即描述標(biāo)準(zhǔn)件的幾何形狀的信息。
2. 2實(shí)例演示
螺紋連接標(biāo)準(zhǔn)件庫包括螺栓、螺柱、螺釘、螺母以及墊圈5大類,共8小類,20項(xiàng)標(biāo)準(zhǔn)件。以六角螺栓為例,說明整個(gè)系統(tǒng)的運(yùn)行情況。在系統(tǒng)菜單里單擊螺栓標(biāo)準(zhǔn)件庫,彈出螺栓設(shè)計(jì)界面,選擇螺拴類型和規(guī)格后,系統(tǒng)根據(jù)螺栓的類型和規(guī)格,自動(dòng)搜索數(shù)據(jù)庫,并返回螺栓的具體參數(shù),如圖5所示,用戶還可以對(duì)參數(shù)進(jìn)行修改,滿意后再單擊下一步,系統(tǒng)就會(huì)自動(dòng)調(diào)用SolidWorks創(chuàng)建螺栓的實(shí)體,如圖6所示。螺栓受力分析模塊見圖7。
下面是六角螺栓實(shí)例的部分程序:
在開發(fā)了標(biāo)準(zhǔn)的EXE程序的同時(shí),又將工程加以改進(jìn),生成SolidWorks插件,即DLL程序,將各模塊的界面掛在SolidWorks軟件的主菜單上,使2個(gè)系統(tǒng)融為一體,應(yīng)用更加方便快捷。如圖8所示。
3總結(jié)
通過上述方法開發(fā)的螺紋連接標(biāo)準(zhǔn)件庫系統(tǒng),能夠在Solidworks的實(shí)體零件造型環(huán)境和裝配環(huán)境中正確運(yùn)行,大量節(jié)省設(shè)計(jì)人員在建模和裝配時(shí)花費(fèi)的時(shí)間及精力,提高了設(shè)計(jì)效率,具有一定的實(shí)際意義。
相關(guān)標(biāo)簽搜索:SolidWorks螺紋聯(lián)接標(biāo)準(zhǔn)件庫的開發(fā) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn)