在使用SOLIDWORKS軟件宏時,用戶會經(jīng)常訪問零件、裝配體、工程圖的屬性,或向屬性中返寫字段信息。SOLIDWORKS的屬性位于兩個位置:①自定義屬性,②配置特定屬性;自定義屬性適用于零件中僅存在單配置,或是多配置但同物料編碼的情形。配置特定適用于多配置系列化零件情形,即每個配置的物料編碼都不相同的情況;但這也不是完全限定的,用戶可以基于自身理解和需求來實現(xiàn)不同效果。
屬性的提取和返寫可以用于以下情形:
1.提取零件中已有的多個屬性,對多個屬性進行合并,比如由長寬高信息合并生成規(guī)格信息;
2.通過提取到的多個屬性,根據(jù)映射規(guī)則生成新的屬性字段,比如由文件的類型、規(guī)格等信息生成物料編碼;
3.提取結構的對應屬性,對結構中的不同零件進行分類,輸出不同類型的BOM;
4.在EXCEL中添加零件的各類屬性字段信息,并返寫到SOLIDWORKS文件中,實現(xiàn)批量操作;
5.批量讀取配置特定屬性,返寫至自定義屬性中;
一:如何讀取文件
以下介紹在VBA宏中,如何讀取文件的自定義屬性、配置特定屬性:

用于獲取當前激活的SOLIDWORKS文件,并將獲取到的激活文件賦值給swDoc變量;
代碼:var1 = swDoc.CustomInfo(“物料編碼”)
用于讀取文件自定義屬性中字段為“物料編碼”的屬性值(如果有),并將該值賦給var1;
代碼:var2 = swDoc.GetCustomInfoValue(“默認”,“零件類型”)
用于讀取文件”默認”配置特定中字段為“零件類型”的屬性值(如果有),并將該值賦給var2;
用戶在獲取到這些所需的屬性字段后,即可對這些屬性字段進行輸出或者是執(zhí)行其他的字符串操作;執(zhí)行完成后,可以將生成的新屬性字段返寫至SOLIDWORKS文件中;
二:激活文件返寫
以下介紹在VBA宏中,如何向一個激活的文件返寫屬性:

用于刪除自定義屬性中原始字段(如果有),然后再添加該字段,并在添加該字段時,為該字段指定新的值(“0001”);
代碼中的swDmCustomInfoText為該字段的變量類型,與下圖中的Type對應,所有代碼類型對應的關鍵字請查閱SOLIDWORKS API
Help;

代碼:
swDoc.DeleteCustomInfo2 “默認”, “零件類型”
swDoc.AddCustomInfo3(“默認”, “零件類型”, swDmCustomInfoText, “焊件”)
用于刪除“默認”配置特定中的原有字段信息(“零件類型”),然后再添加該字段,及字段所對應的值(“焊件”)。
三:實例演示
接下來,我們通過一個實例來演示一個完整的過程;零件已經(jīng)預先人工輸入了一些屬性信息,如下圖所示:

讀取零件的屬性信息,判斷打開的零件是否屬于焊件結構;如果是焊件,則提取該焊件的“長”、“寬”、“高”屬性,并將該長寬高信息組合,返寫到零件的“規(guī)格”屬性字段中;代碼如下:

宏執(zhí)行結果如下:

注意:如果用戶需要對裝配體下屬的零件進行屬性批量讀取、返寫,需結合我前面的文章,遍歷整個裝配體結構,來實現(xiàn)該效果,在這里不做過多贅述。
以上是SOLIDWORKS之VBA宏(三)的詳細信息,由SOLIDWORKS代理商一級代理商鑫辰科技為您提供,如果您對SOLIDWORKS正版軟件感興趣,可訪問鑫辰信息科技(深圳)有限公司進行咨詢。