×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Run Macro in Assembly to remove the properties to all components

Run Macro in Assembly to remove the properties to all components

Run Macro in Assembly to remove the properties to all components

(OP)
i have the below Macro in order to open each parts of the active assembly, what i need is after they open, delete all the Properties (also the custom) except the Description
They just open all the parts of the assembly or delete the properties, but don't works at the same time for all the parts, some body can give me a tips to fixed?

Thanks



Dim swDoc As SldWorks.ModelDoc2
Dim swAllDocs As EnumDocuments2
Dim FirstDoc As SldWorks.ModelDoc2
Dim dummy As Boolean
Dim NumDocsReturned As Long
Dim DocCount As Long
Dim i As Long
Dim sMsg As String
Dim swApp As SldWorks.SldWorks
Dim bDocWasVisible As Boolean
Dim OpenWarnings As Long
Dim OpenErrors As Long
Dim DwgPath As String
Dim myDwgDoc As SldWorks.ModelDoc2

Sub ShowAllOpenFiles()

Set swApp = Application.SldWorks
Set swAllDocs = swApp.EnumDocuments2
Set FirstDoc = swApp.ActiveDoc
DocCount = 0
swAllDocs.Reset
swAllDocs.Next 1, swDoc, NumDocsReturned
While NumDocsReturned <> 0
bDocWasVisible = swDoc.Visible
swApp.ActivateDoc swDoc.GetPathName
DwgPath = swDoc.GetPathName
If (LCase(Right(DwgPath, 3)) <> "drw") And (DwgPath <> "") Then
DwgPath = Left(DwgPath, Len(DwgPath) - 3) & "drw"
Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
If Not myDwgDoc Is Nothing Then swApp.ActivateDoc myDwgDoc.GetPathName
Set myDwgDoc = Nothing
End If
'End If
swAllDocs.Next 1, swDoc, NumDocsReturned
DocCount = DocCount + 1
Wend
swApp.ActivateDoc FirstDoc.GetPathName

End Sub

Sub main()

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim retval As String

Dim Desc As String

Dim retvals As String

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Desc = swModel.GetCustomInfoCount

retval = swModel.DeleteCustomInfo("Number")

retval = swModel.DeleteCustomInfo("DrawnBy")

retval = swModel.DeleteCustomInfo("CheckedBy")

retval = swModel.DeleteCustomInfo("Engineered By")

retval = swModel.DeleteCustomInfo("EngAppDate")

retval = swModel.DeleteCustomInfo("Project#")

retval = swModel.DeleteCustomInfo("DrawnDate")

retval = swModel.DeleteCustomInfo("CheckedDate")

retval = swModel.DeleteCustomInfo("Out source Co.")
retval = swModel.DeleteCustomInfo("OutSourceDate")
retval = swModel.DeleteCustomInfo("Number")
retval = swModel.DeleteCustomInfo("Revision")
retval = swModel.DeleteCustomInfo("Designer")
retval = swModel.DeleteCustomInfo("Detailer")
retval = swModel.DeleteCustomInfo("DesignDate")
retval = swModel.DeleteCustomInfo("Released Date")
retval = swModel.DeleteCustomInfo("State")
retval = swModel.DeleteCustomInfo("Purchased")
retval = swModel.DeleteCustomInfo("TABULATION BALLOON")
retval = swModel.DeleteCustomInfo("SWFormatSize")
retval = swModel.DeleteCustomInfo("Machine")
retval = swModel.DeleteCustomInfo("Designer By")
retval = swModel.DeleteCustomInfo("Weight")
retval = swModel.DeleteCustomInfo("OriginationDate")
retval = swModel.DeleteCustomInfo("Component Type")
retval = swModel.DeleteCustomInfo("Manufacturer")
retval = swModel.DeleteCustomInfo("Manufacturer Number")
retval = swModel.AddCustomInfo3("", "Description", swCustomInfoText, Desc)

'retval = swModel.DeleteConfiguration("Desc")

'retval = swModel.AddCustomInfo3("", "Number", swCustomInfoText, "T50000")

'retval = swModel.DeleteCustomInfo("COMPANY")

'retval = swModel.AddCustomInfo3("", "COMPANY", swCustomInfoText, "VENTURADS.COM")


End Sub




RE: Run Macro in Assembly to remove the properties to all components

Hi!!

SolidWorks macro always start with Main procedure. You have written Main procedure to delete custom properties alone. The 'ShowAllOpenFiles' procedure only opens all the part files and drawing files. You have to change 'ShowAllOpenFiles' as Main and main as another one. Another problem is that You are no where calling second sub procedure in your coding.

I have altered your code slightly. Just check it.

-----------
Dim swDoc As SldWorks.ModelDoc2
Dim swAllDocs As EnumDocuments2
Dim FirstDoc As SldWorks.ModelDoc2
Dim dummy As Boolean
Dim NumDocsReturned As Long
Dim DocCount As Long
Dim i As Long
Dim sMsg As String
Dim swApp As SldWorks.SldWorks
Dim bDocWasVisible As Boolean
Dim OpenWarnings As Long
Dim OpenErrors As Long
Dim DwgPath As String
Dim myDwgDoc As SldWorks.ModelDoc2

Sub main() 'ShowAllOpenFiles()

Set swApp = Application.SldWorks
Set swAllDocs = swApp.EnumDocuments2
Set FirstDoc = swApp.ActiveDoc
DocCount = 0
swAllDocs.Reset
swAllDocs.Next 1, swDoc, NumDocsReturned
While NumDocsReturned <> 0
bDocWasVisible = swDoc.Visible
swApp.ActivateDoc swDoc.GetPathName
DwgPath = swDoc.GetPathName
DeleteProperties
If (LCase(Right(DwgPath, 3)) <> "drw") And (DwgPath <> "") Then
DwgPath = Left(DwgPath, Len(DwgPath) - 3) & "drw"
Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
If Not myDwgDoc Is Nothing Then swApp.ActivateDoc myDwgDoc.GetPathName
Set myDwgDoc = Nothing
End If
'End If
swAllDocs.Next 1, swDoc, NumDocsReturned
DocCount = DocCount + 1
Wend
swApp.ActivateDoc FirstDoc.GetPathName

End Sub

Sub DeleteProperties()

'Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim retval As String

Dim Desc As String

Dim retvals As String

'Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Desc = swModel.GetCustomInfoCount

retval = swModel.DeleteCustomInfo("Number")

retval = swModel.DeleteCustomInfo("DrawnBy")

retval = swModel.DeleteCustomInfo("CheckedBy")

retval = swModel.DeleteCustomInfo("Engineered By")

retval = swModel.DeleteCustomInfo("EngAppDate")

retval = swModel.DeleteCustomInfo("Project#")

retval = swModel.DeleteCustomInfo("DrawnDate")

retval = swModel.DeleteCustomInfo("CheckedDate")

retval = swModel.DeleteCustomInfo("Out source Co.")
retval = swModel.DeleteCustomInfo("OutSourceDate")
retval = swModel.DeleteCustomInfo("Number")
retval = swModel.DeleteCustomInfo("Revision")
retval = swModel.DeleteCustomInfo("Designer")
retval = swModel.DeleteCustomInfo("Detailer")
retval = swModel.DeleteCustomInfo("DesignDate")
retval = swModel.DeleteCustomInfo("Released Date")
retval = swModel.DeleteCustomInfo("State")
retval = swModel.DeleteCustomInfo("Purchased")
retval = swModel.DeleteCustomInfo("TABULATION BALLOON")
retval = swModel.DeleteCustomInfo("SWFormatSize")
retval = swModel.DeleteCustomInfo("Machine")
retval = swModel.DeleteCustomInfo("Designer By")
retval = swModel.DeleteCustomInfo("Weight")
retval = swModel.DeleteCustomInfo("OriginationDate")
retval = swModel.DeleteCustomInfo("Component Type")
retval = swModel.DeleteCustomInfo("Manufacturer")
retval = swModel.DeleteCustomInfo("Manufacturer Number")
retval = swModel.AddCustomInfo3("", "Description", swCustomInfoText, Desc)

'retval = swModel.DeleteConfiguration("Desc")

'retval = swModel.AddCustomInfo3("", "Number", swCustomInfoText, "T50000")

'retval = swModel.DeleteCustomInfo("COMPANY")

'retval = swModel.AddCustomInfo3("", "COMPANY", swCustomInfoText, "VENTURADS.COM")


End Sub
---------------------------------

Regards
V K Amirtharaj
EGS Computers India Pvt Ltd
Dassault System SolidWorks Reseller
Chennai | Tamilnadu | India
http://www.egsindia.com/solidworks.html
http://www.egs.co.in

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources