AddReference "System.Drawing.dll"
Imports System.Windows.Forms
Sub Main
Dim part As PartDocument = ThisDoc.Document
Dim materialDlg As MaterialDialog = New MaterialDialog()
materialDlg.Part = part
materialDlg.ShowDialog()
End Sub
Public Class MaterialDialog
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Property Part As PartDocument
Get
Return _part
End Get
Set
_part = value
PopulateMaterialCombo()
End Set
End Property
Private Sub PopulateMaterialCombo()
ComboBox1.Items.Clear()
Dim app As Inventor.Application = Part.Parent
For Each material As MaterialAsset In app.ActiveMaterialLibrary.MaterialAssets
ComboBox1.Items.Add(material.DisplayName)
Next
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim app As Inventor.Application = Part.Parent
Dim material As MaterialAsset = app.ActiveMaterialLibrary.MaterialAssets(ComboBox1.SelectedItem.ToString())
Part.ActiveMaterial = material
End Sub
Friend WithEvents ComboBox1 As ComboBox
Private _part As PartDocument
Private Sub InitializeComponent()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.SuspendLayout()
'
'ComboBox1
'
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(12, 12)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(121, 21)
Me.ComboBox1.TabIndex = 0
'
'MaterialDialog
'
Me.ClientSize = New System.Drawing.Size(284, 261)
Me.Controls.Add(Me.ComboBox1)
Me.Name = "MaterialDialog"
Me.ResumeLayout(False)
End Sub
End Class