Optional input Variant that specifies the row for the member within the factory. The row index is specified either by a Long (row index), a String (part identifier, i.e. ''[Height=1.000 in][Length=2.000 in][Radius=0.250 in]''), or an iPartTableRow object.
Here's the code that doesn't work :
Sub test3() Dim myAssembly As AssemblyDocument, my_part As ComponentOccurrence, my_pos As Matrix Dim ifactory_path As String, ipart_path As String, iselect As String Set myAssembly = ThisApplication.ActiveDocument Set my_pos = ThisApplication.TransientGeometry.CreateMatrix Dim custom_vars(1 To 2) As String iselect = "[my_var=18mm]" custom_vars(1) = "13mm" custom_vars(2) = "25mm" ifactory_path = "D:\my_ifactory.ipt" ipart_path ="D:\selected_ipart.ipt" Set my_part = myAssembly.ComponentDefinition.Occurrences.AddCustomiPartMember(ifactory_path, my_pos, ipart_path, iselect, custom_vars) End Sub
but if i swap out iselect for a number such as "2" etc then it works fine !!