国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VBA與Sol i dWor ks的非標(biāo)機(jī)械設(shè)計(jì)效率提升措施探討

2022-10-15 08:56吳遷偉
機(jī)電信息 2022年19期
關(guān)鍵詞:工程圖腳本名稱

吳遷偉

(江西愛通科技有限公司,江西贛州 341410)

0 引言

SolidWorks軟件是世界上第一個(gè)基于Windows開發(fā)的三維CAD系統(tǒng),其操作非常符合Windows用戶的習(xí)慣,因此新手入門上手比較容易。使用該軟件可以大大縮短設(shè)計(jì)時(shí)間,將產(chǎn)品快速投向市場,目前市面上做非標(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)行模型的屬性修改等操作。

文獻(xiàn)[1]闡述了一種進(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)[2]闡述了如何用軟件自帶的屬性標(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所示。

圖1 屬性填寫界面

圖2 xml文件格式內(nèi)容

xml文件讀取與寫入的部分腳本如下:

Set xmldoc = 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模型文件分三類——自制件(包含零件和裝配件)、外購件(需要外購的電機(jī)、氣缸等及非標(biāo)定制件等)和標(biāo)準(zhǔn)件(主要為緊固件,如螺釘、平墊、彈墊等)。

自制件命名:圖號(hào)+空格(半角)+名稱。

外購件命名:型號(hào)+空格+名稱+(品牌),空格和括號(hào)均為半角符號(hào),如“R32X80S 雙軸氣缸(亞德客)”;沒有品牌的,名稱后面可空缺。

標(biāo)準(zhǔn)件命名:從邁迪或toolbox等其他3D庫導(dǎo)入且以GB開頭的件,名字保持不變;非GB開頭的件,按外購件處理。

文獻(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)開頭,與外購件這些型號(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)的部分腳本如下:

屬性腳本執(zhí)行前的情況如圖3所示,屬性腳本執(zhí)行后的情況如圖4所示,所有屬性信息按預(yù)先設(shè)置自動(dòng)填寫完成,如需修改,可在屬性標(biāo)簽頁直接修改相應(yīng)內(nèi)容。

圖3 腳本執(zhí)行前的屬性標(biāo)簽頁

圖4 腳本執(zhí)行后的屬性標(biāo)簽頁

文獻(xiàn)[5]講述了如何使用SolidWorks軟件創(chuàng)建模型與工程圖鏈接,來實(shí)現(xiàn)工程圖標(biāo)題欄中相關(guān)內(nèi)容的自動(dòng)生成。因此,模型屬性可以自動(dòng)鏈接到工程圖圖框中,如圖5所示,避免人為出錯(cuò)。

圖5 工程圖圖框內(nèi)容

2 BOM清單輸出VBA的實(shí)現(xiàn)

縱觀整個(gè)BOM清單,除了零部件層次,其余信息可以直接從文件屬性中讀取,實(shí)現(xiàn)的部分腳本如下:

Private Sub GetFileProperty (swModelDoc2,configname) '獲取文件屬性

Set cusPropMgr = swModelDoc2.GetConfiguration ByName(configname).

CustomPropertyManager

lRetVal = cusPropMgr.Get2 (BOM (3), ValOut,ResolvedValOut(3)) '名稱

lRetVal = cusPropMgr.Get2 (BOM (4), ValOut,ResolvedValOut(4)) '規(guī)格/圖號(hào)

零部件層次信息則從最頂層裝配體開始,遍歷特征樹即可獲取相關(guān)信息,實(shí)現(xiàn)的部分腳本如下:

3 結(jié)語

圖6 BOM清單

本文結(jié)合SolidWorks模板的建立、定制屬性標(biāo)簽界面、規(guī)范模型的命名、默認(rèn)設(shè)置的xml儲(chǔ)存以及VBA宏程序等技術(shù),實(shí)現(xiàn)了SolidWorks模型文件屬性的一鍵快速填寫和BOM文件的快速生成,避免了設(shè)計(jì)過程中的重復(fù)性工作,大大提高了設(shè)計(jì)文件的編制效率,同時(shí)為企業(yè)的標(biāo)準(zhǔn)化和信息化夯實(shí)了基礎(chǔ)。

猜你喜歡
工程圖腳本名稱
自動(dòng)推送與網(wǎng)站匹配的腳本
土建施工工程圖預(yù)算審核方案研究
可配置的CATIA工程圖圖框明細(xì)生成系統(tǒng)
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況
舉一反三新編
捕風(fēng)捉影新編
愚公移山
阿瓦提县| 兴和县| 哈巴河县| 鹿泉市| 凯里市| 蕉岭县| 宜春市| 镇康县| 大宁县| 沂南县| 凯里市| 且末县| 尉犁县| 遵义县| 临高县| 沐川县| 苍溪县| 永福县| 宜章县| 金山区| 张家口市| 沙雅县| 芦山县| 绥芬河市| 灵寿县| 醴陵市| 衡水市| 察隅县| 新绛县| 连平县| 兴海县| 财经| 松江区| 永修县| 曲阜市| 三原县| 鸡泽县| 涞源县| 和田县| 安塞县| 永顺县|