04-03-2019
02:56 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
04-03-2019
02:56 AM
Try below iLogic code to get material library, selected material from material library, appearance library and selected appearance from appearance library.
Before running this iLogic code, read the difference between material library and appearance library from below link.
'Step 1
Dim oLibrary As AssetLibrary
Dim oMaterialLibrary As String
Dim oMaterialList As New ArrayList
For Each oLibrary In ThisApplication.AssetLibraries
If oLibrary.MaterialAssets.Count > 0 Then
oMaterialList.Add(oLibrary.DisplayName)
End If
Next
oMaterialLibrary = InputListBox("Select materilal library", oMaterialList, oMaterialList.Item(0), Title := "Material library", ListName := "Material library List")
'Step 2
Dim oSelected_Material_Library As AssetLibrary
oSelected_Material_Library = ThisApplication.AssetLibraries.Item(oMaterialLibrary)
Dim oMaterialAsset As MaterialAsset
Dim oMaterialAssetList As New ArrayList
Dim oSelected_Material As String
For Each oMaterialAsset In oSelected_Material_Library.MaterialAssets
oMaterialAssetList.Add(oMaterialAsset.DisplayName)
Next
oSelected_Material = InputListBox("Select material from list", oMaterialAssetList, oMaterialAssetList.Item(0), Title := "Material", ListName := "Material List")
MessageBox.Show(oSelected_Material, "Material")
'Step 3
Dim oAppearanceLibrary As String
Dim oAppearanceList As New ArrayList
For Each oLibrary In ThisApplication.AssetLibraries
If oLibrary.MaterialAssets.Count = 0 Then
oAppearanceList.Add(oLibrary.DisplayName)
End If
Next
oAppearanceLibrary = InputListBox("Select appearance library", oAppearanceList, oAppearanceList.Item(0), Title := "Appearance library", ListName := "Appearance library List")
'Step 4
Dim oSelected_Appearence_Library As AssetLibrary
oSelected_Appearence_Library = ThisApplication.AssetLibraries.Item(oAppearanceLibrary)
Dim oAppearanceAsset As Asset
Dim oAppearanceAssetList As New ArrayList
Dim oSelected_Appearance As String
For Each oAppearanceAsset In oSelected_Appearence_Library.AppearanceAssets
oAppearanceAssetList.Add(oAppearanceAsset.DisplayName)
Next
oSelected_Appearance = InputListBox("Select appearance from list", oAppearanceAssetList, oAppearanceAssetList.Item(0), Title := "Appearance", ListName := "Appearance List")
MessageBox.Show(oSelected_Appearance, "Appearance")
Thanks and regards,
CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network
