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

如题
PDM里的数据卡识别的都是配置特定里的属性,之前的宏命令都是先清除自定义属性,再把属性写到自定义和配置特定里,但是不知道怎么写代码能直接把配置特定里的内容先清空,求教

用的下面这个清楚自定义属性的代码,还有更好的方法不?

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set cpm = swModel.Extension.CustomPropertyManager("")

vCustInfoNameArr2 = swModel.GetCustomInfoNames
If Not IsEmpty(vCustInfoNameArr2) Then
For Each vCustInfoName2 In vCustInfoNameArr2
bRet = swModel.DeleteCustomInfo(vCustInfoName2)
Next
End If

这个能改成清空配置特定的不,或者用其他的啥代码

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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-09
楼下
partno = Left(filename, 11) '取零件名称的前11位
desc = Right(filename, Len(filename) - 11) ' 取零件名称11位以后的
这俩啥意思???
第2个回答  2021-07-14
编译错误:无效外部过程,这个代码有问题啊!
相似回答