Return Parameter Value for every part in an assembly

Return Parameter Value for every part in an assembly

Anonymous
Not applicable
449 Views
1 Reply
Message 1 of 2

Return Parameter Value for every part in an assembly

Anonymous
Not applicable

I'm having trouble trying to display the parameter value for every part of an assembly. currently i have:

ThisApplication.SilentOperation = True
Dim oADoc As AssemblyDocument = ThisApplication.ActiveDocument
For Each oRefDoc As Document In oADoc.AllReferencedDocuments
	part_type = parameter("PartType")
	MessageBox.Show(part_type, "Title")
Next

This code will just return the same 'PartType' parameter value for the assembly 15 times (the number of total parts in the assembly). I want it to return 15 different 'PartType' parameter values, one for each part in the assembly. How can i read each part parameter instead of just the assembly parameter over and over?

0 Likes
Accepted solutions (1)
450 Views
1 Reply
Reply (1)
Message 2 of 2

JhoelForshav
Mentor
Mentor
Accepted solution

Hi @Anonymous 

Maybe something like this? 🙂

Dim partTypeString As String = "Part types:" & vbCrLf
For Each oRefDoc As Document In ThisDoc.Document.AllReferencedDocuments
	If oRefDoc.DocumentType = DocumentTypeEnum.kPartDocumentObject
	Dim partName As String = oRefDoc.DisplayName
	Dim partType As String
	Try
	partType = TryCast(oRefDoc, PartDocument).ComponentDefinition.Parameters.UserParameters("PartType").Value
	Catch
	partType = "parameter doesn't exist"	
	End Try
	partTypeString = partTypeString & vbCrLf & partName & ":	" & partType
End If
Next
MessageBox.Show(partTypeString, "Part types in " & ThisDoc.Document.DisplayName)