Dim oDoc As PartDocument = ThisDoc.Document Dim oDef As PartComponentDefinition = oDoc.ComponentDefinition Dim MatLibraryName As String = "Inventor Material Library" ' Get the material library Dim MatLib As AssetLibrary = Nothing Try MatLib = ThisApplication.AssetLibraries.Item(MatLibraryName) Catch MsgBox("Couldn't find a material library called '" & MatLibraryName,, "Cadline iLogic") Exit Sub End Try Dim Materials As AssetsEnumerator = MatLib.MaterialAssets Dim MaterialArray As New ArrayList ' Write all the appearance names to an arraylist For Each A As Asset In Materials MaterialArray.Add(A.DisplayName) Next ' Sort the array alphabetically MaterialArray.Sort() ' Attempt to set the value of a parameter containing the list of material names Try MultiValue.List("Materials") = MaterialArray Catch ' parameter doesn't exist - create it Dim oParam As Parameter = oDef.Parameters.UserParameters.AddByValue("Materials", MaterialArray(0), UnitsTypeEnum.kTextUnits) MultiValue.List("Materials") = MaterialArray End Try