solidworks 我想批量清除配置特定属性里的所有内容,宏怎么写

发布网友

我来回答

3个回答

热心网友

Dim swApp As Object
Dim swModel As ModelDoc2
Dim vCustInfoNameArr2 As Variant
Dim cpm As CustomPropertyManager

Sub main() '先删除自定义属性,在给自定义属性赋值
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc

Set cpm = swModel.Extension.CustomPropertyManager("")
Dim path As String, filename As String, partno As String, desc As String, hhf As String, beizhu As String
path = swModel.GetPathName 'Get the Path name + File Name
filename = Mid$(path, InStrRev(path, "\") + 1) ' File Name With extension
filename = Left$(filename, InStrRev(filename, ".") - 1) ' Remove extension

partno = Left(filename, 11) '取零件名称的前11位
desc = Right(filename, Len(filename) - 11) ' 取零件名称11位以后的

vCustInfoNameArr2 = swModel.GetCustomInfoNames
If Not IsEmpty(vCustInfoNameArr2) Then
For Each vCustInfoName2 In vCustInfoNameArr2
bRet = swModel.DeleteCustomInfo(vCustInfoName2)
Next
End If
'(以上为删除自定义属性里所有内容)
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
CurCFGname = Part.GetConfigurationNames
CurCFGnameCount = Part.GetConfigurationCount
For i = 0 To CurCFGnameCount - 1
Set cusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
Vnamearr = cusPropMgr.GetNames
If Not IsEmpty(Vnamearr) Then
For Each Vnamearr2 In Vnamearr
bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
Next
End If
Next

End Sub

热心网友

楼下
partno = Left(filename, 11) '取零件名称的前11位
desc = Right(filename, Len(filename) - 11) ' 取零件名称11位以后的
这俩啥意思???

热心网友

编译错误:无效外部过程,这个代码有问题啊!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com