Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
Andrii_Humeniuk
in reply to: jaka73LU2

Hi @jaka73LU2 . Wrote for you an example of obtaining all patterns (in the main assembly and subassemblies).

Private Sub Main()
	Dim oDoc As AssemblyDocument = ThisApplication.ActiveDocument
	Dim oDef As AssemblyComponentDefinition = oDoc.ComponentDefinition
	Call GetAllPatterns(oDef.OccurrencePatterns, oDoc.DisplayName)
	Call GetAllOccs(oDef.Occurrences)	
End Sub

Private Sub GetAllOccs(oOccs As ComponentOccurrences)
	For Each oOcc As ComponentOccurrence In oOccs
		If oOcc.DefinitionDocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
			Dim oOccDef As AssemblyComponentDefinition = oOcc.Definition
			Call GetAllPatterns(oOccDef.OccurrencePatterns, oOcc.Name)
			If oOcc.SubOccurrences Is Nothing Then Continue For
			If oOcc.SubOccurrences.Count <> 0 Then
				Call GetAllOccs(oOcc.SubOccurrences)
			End If
		End If
	Next
End Sub

Private Function GetAllPatterns(oOccsPatt As OccurrencePatterns, sNameParent As String)
	For Each oOccPatt As OccurrencePattern In oOccsPatt
		MessageBox.Show(oOccPatt.Name, sNameParent)
	Next
End Function

 

Andrii Humeniuk - CAD Coordinator, Autodesk Certified Instructor

LinkedIn | My free Inventor Addin | My Repositories

Did you find this reply helpful ? If so please use the Accept as Solution/Like.

EESignature