版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘
要:介紹了如何通過使用SolidWorks的屬性標(biāo)簽與VBA接口,快速實(shí)現(xiàn)文件屬性的填寫和BOM的導(dǎo)出,避免設(shè)計(jì)過程中出現(xiàn)重復(fù)性的煩瑣工作,提升設(shè)計(jì)效率。關(guān)鍵詞:SolidWorks;VBA;文件屬性;BOM;屬性標(biāo)簽0
引言SolidWorks軟件是世界上第一個(gè)基于Windows開發(fā)的三維CAD系統(tǒng),其操作非常符合Windows用戶的習(xí)慣,因此新手入門上手比較容易。使用該軟件可以大大縮短設(shè)計(jì)時(shí)間,將產(chǎn)品快速投向市場(chǎng),目前市面做非標(biāo)設(shè)計(jì)的工程師大多用的都是該軟件。同時(shí),為實(shí)現(xiàn)數(shù)據(jù)共享,SolidWorks提供了VBA、VB.NET、C#等OLE的開發(fā)語言接口,極大地方便了軟件使用。在企業(yè)日常使用過程中,模板制作、文檔屬性和標(biāo)準(zhǔn)件管理都是企業(yè)標(biāo)準(zhǔn)化和信息化的重要環(huán)節(jié)。SolidWorks文檔的屬性作為模型的附屬信息,是后續(xù)信息化的基礎(chǔ)信息。屬性可用于鏈接到工程圖以及輸出BOM等。同時(shí),SolidWorks也提供了屬性標(biāo)簽編制的工具程序,可利用它來生成模型的自定義屬性界面,在界面中能方便地進(jìn)行模型的屬性修改等操作。闡述了一種進(jìn)行SolidWorks文檔屬性及BOM定制的方法,可以提高日常工作效率與防出錯(cuò)。但屬性編輯一般是手動(dòng)填寫,BOM輸出也需手動(dòng)處理或借助第三方插件完成,很多工作都是重復(fù)和煩瑣的。如果借助于VBA腳本按特定的規(guī)則進(jìn)行文件屬性的填寫,同時(shí)通過遍歷模型特征樹及讀取屬性信息,快速生成BOM文件,就可避免很多設(shè)計(jì)過程中的重復(fù)性工作。1
文件屬性填寫VBA的實(shí)現(xiàn)為了使VBA腳本能按特定的規(guī)則進(jìn)行文件屬性的自動(dòng)填寫,需要規(guī)范信息的輸入與輸出。本文的屬性名稱列表包括:項(xiàng)目、組件、名稱、規(guī)格、版本、外形尺寸、材料、單重、表面處理、類別、單機(jī)數(shù)量、設(shè)計(jì)、備注。文獻(xiàn)闡述了如何用軟件自帶的屬性標(biāo)簽編制程序來生成SolidWorks文件的自定義屬性界面,屬性標(biāo)簽界面的內(nèi)容與文件的屬性內(nèi)容是一致的。材料和單重屬性可以是固定文字表達(dá)式,其他屬性則通過VBA填寫,同時(shí)也可以在執(zhí)行腳本后在自定義屬性界面手動(dòng)修改。考慮到在一個(gè)項(xiàng)目的設(shè)計(jì)過程中,一些如項(xiàng)目名稱、設(shè)計(jì)者等屬性基本不變,可將信息存于xml文件中,在整個(gè)項(xiàng)目期間僅進(jìn)行一次寫入,其間直接讀取這些內(nèi)容即可。對(duì)于一些特定材質(zhì)的零件的表面處理,也可以設(shè)置默認(rèn)的處理方式。屬性填寫的界面如圖1所示,xml文件格式內(nèi)容如圖2所示。xml文件讀取與寫入的部分腳本如下:Setxmldoc=CreateObject("Microsoft.XMLDOM")
'創(chuàng)建xmldoc對(duì)象xmldoc.Load(PathName)
'加載xml文件ProjectName=xmldoc.getElementsByTagName("項(xiàng)目名稱").Item(0).Text
'讀取xml節(jié)點(diǎn)xmldoc.getElementsByTagName("項(xiàng)目名稱").Item(0).Text=ProjectName
'設(shè)置xml節(jié)點(diǎn)在電子文檔存檔的同時(shí),模型文件名字也可以作為輸入信息來源,零件名稱、規(guī)格圖號(hào)及種類等可以根據(jù)文件名字來進(jìn)行判斷。SolidWorks電子文件存檔要求如下:所有3D模型文件分三類——自制件(包含零件和裝配件)、外購(gòu)件(需要外購(gòu)的電機(jī)、氣缸等及非標(biāo)定制件等)和標(biāo)準(zhǔn)件(主要為緊固件,如螺釘、平墊、彈墊等)。自制件命名:圖號(hào)+空格(半角)+名稱。外購(gòu)件命名:型號(hào)+空格+名稱+(品牌),空格和括號(hào)均為半角符號(hào),如“R32X80S雙軸氣缸(亞德客)”;沒有品牌的,名稱后面可空缺。標(biāo)準(zhǔn)件命名:從邁迪或toolbox等其他3D庫(kù)導(dǎo)入且以GB開頭的件,名字保持不變;非GB開頭的件,按外購(gòu)件處理。文獻(xiàn)[3]介紹了如何利用VBA宏來自動(dòng)分離零件文件名中的代號(hào)與名稱。本文通過讀取模型文件名字,并以半角符號(hào)的空格作為標(biāo)志提取,可以得到零件名稱和規(guī)格圖號(hào),實(shí)現(xiàn)功能的部分腳本如下:'PartTitle=圖號(hào)+空格+名稱SpacePos=InStr(PartTitle,"")
'獲取分隔標(biāo)識(shí)符(空格)的位置PartNumber=Left(PartTitle,SpacePos-1)
'獲取圖號(hào)/規(guī)格PartName=Mid(PartTitle,1+SpacePos,Len(PartTitle)-SpacePos-7)
'獲取名稱由于自制件的圖號(hào)是以公司項(xiàng)目代號(hào)開頭,與外購(gòu)件這些型號(hào)可以區(qū)分開來,而標(biāo)準(zhǔn)件是以GB開頭,因此可以區(qū)分類別。文獻(xiàn)[4]提出了通過VBA腳本批量處理原有的SolidWorks模型屬性的思路和方法。在裝配體下執(zhí)行腳本,可以對(duì)特征樹里面的每個(gè)部件和零件進(jìn)行遍歷設(shè)置屬性,一次完成所有填寫,通過遞歸調(diào)用部件屬性設(shè)置函數(shù),實(shí)現(xiàn)的部分腳本如下:PrivateSubMySetComponentsProp(swModelDoc2,ParentPartNo)Components=swModelDoc2.GetComponents(True)ForEachswComponentInComponents
'遍歷頂層子部件
SetswComModelDoc2=swComponent.GetModelDoc2()
swConfigName=swComponent.ReferencedConfiguration
ret=SetFileProperty(swComModelDoc2,swConfigName,ParentPartNo)
IfswComModelDoc2.GetType=swDocASSEMBLYThenCallMySetComponentsProp(swComModelDoc2,ParentPartNo)
'遞歸調(diào)用
NextEndSub屬性腳本執(zhí)行前的情況如圖3所示,屬性腳本執(zhí)行后的情況如圖4所示,所有屬性信息按預(yù)先設(shè)置自動(dòng)填寫完成,如需修改,可在屬性標(biāo)簽頁(yè)直接修改相應(yīng)內(nèi)容。文獻(xiàn)講述了如何使用SolidWorks軟件創(chuàng)建模型與工程圖鏈接,來實(shí)現(xiàn)工程圖標(biāo)題欄中相關(guān)內(nèi)容的自動(dòng)生成。因此,模型屬性可以自動(dòng)鏈接到工程圖圖框中,如圖5所示,避免人為出錯(cuò)。2
BOM清單輸出VBA的實(shí)現(xiàn)縱觀整個(gè)BOM清單,除了零部件層次,其余信息可以直接從文件屬性中讀取,實(shí)現(xiàn)的部分腳本如下:PrivateSubGetFileProperty(swModelDoc2,configname)
'獲取文件屬性SetcusPropMgr=swModelDoc2.GetConfigurationByName(configname).CustomPropertyManagerlRetVal=cusPropMgr.Get2(BOM(3),ValOut,ResolvedValOut(3))
'名稱lRetVal=cusPropMgr.Get2(BOM(4),ValOut,ResolvedValOut(4))
'規(guī)格/圖號(hào)零部件層次信息則從最頂層裝配體開始,遍歷特征樹即可獲取相關(guān)信息,實(shí)現(xiàn)的部分腳本如下:PrivateSubMyGetComponents(Components)
'獲取裝配體頂層子部件
ForEachswComponentInComponents
'遍歷頂層子部件
If(False=swComponent.ExcludeFromBOM)Then
SetswModelDoc2=swComponent.GetModelDoc2()CallGetFileProperty(swModelDoc2,swComponent.ReferencedConfiguration)
EndIf
NextE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生鮮培訓(xùn)課件教學(xué)課件
- 2024年廣告銷售代理合同
- 2024年度企業(yè)級(jí)云計(jì)算服務(wù)平臺(tái)合作合同
- 2024國(guó)際快遞運(yùn)輸服務(wù)合同詳細(xì)條款
- 大班課件春節(jié)教學(xué)課件
- 真菌課件圖文教學(xué)課件
- 2024年度企業(yè)科技創(chuàng)新與研發(fā)外包合同協(xié)議書
- 2024年建筑工程施工合同與工程監(jiān)理協(xié)議
- 2024物業(yè)合同糾紛案件
- 2024中船工貿(mào)公司船舶建造合同版本
- 雅魯藏布江大拐彎巨型水電站規(guī)劃方案
- 廣西基本醫(yī)療保險(xiǎn)門診特殊慢性病申報(bào)表
- 城市經(jīng)濟(jì)學(xué)習(xí)題與答案
- 國(guó)開成本會(huì)計(jì)第14章綜合練習(xí)試題及答案
- 幼兒園大班科學(xué):《樹葉為什么會(huì)變黃》課件
- 1到50帶圈數(shù)字直接復(fù)制
- 鐵路工程施工組織設(shè)計(jì)(施工方案)編制分類
- 幼兒園中班數(shù)學(xué)《有趣的圖形》課件
- 《規(guī)劃每一天》教案2021
- 草莓創(chuàng)意主題實(shí)用框架模板ppt
- 山大口腔頜面外科學(xué)課件第5章 口腔種植外科-1概論、口腔種植的生物學(xué)基礎(chǔ)
評(píng)論
0/150
提交評(píng)論