Imports System.IO
Imports System.Runtime.InteropServices
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objApp As SolidEdgeFramework.Application = Nothing
Dim objType As Type = Nothing
Dim objMatTable As SolidEdgeFramework.MatTable = Nothing
Dim strLibrary As String = ""
Dim strMaterial As String = ""
Dim strMessage As String
Dim listOfLibraries As Object = Nothing
Dim numMaterials As Long
Dim listOfMaterials As Object = Nothing
Try
Try
' Get SE handle
objApp = Marshal.GetActiveObject("SolidEdge.Application")
Catch ex As Exception
If objApp Is Nothing Then
' Get the type from the Solid Edge ProgID
objType = Type.GetTypeFromProgID("SolidEdge.Application")
' Start Solid Edge
objApp = Activator.CreateInstance(objType)
End If
Finally
' Make Solid Edge visible
objApp.Visible = True
End Try
' Get material table object handle
objMatTable = objApp.GetMaterialTable()
objMatTable.GetMaterialLibraryList(listOfLibraries, numMaterials)
strLibrary = listOfLibraries(2)
'Get material list
objMatTable.GetMaterialListFromLibrary(strLibrary, numMaterials, listOfMaterials)
strMessage = String.Format("Number of materials -->{0}", numMaterials)
MsgBox(strMessage)
strMaterial = listOfMaterials(5)
strMessage = String.Format("5th Material is --> {0}", strMaterial)
MsgBox(strMessage)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
using System.Windows.Forms;
using System.IO;
using System.Runtime.InteropServices;
public class Form1
{
private void Button1_Click(object sender, EventArgs e)
{
SolidEdgeFramework.Application objApp = null;
Type objType = null;
SolidEdgeFramework.MatTable objMatTable = null;
string strLibrary = "";
string strMaterial = "";
string strMessage = null;
object listOfLibraries = null;
long numMaterials = 0;
object listOfMaterials = null;
try
{
try
{
// Get SE handle
objApp = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");
}
catch (Exception ex)
{
if (objApp == null)
{
// Get the type from the Solid Edge ProgID
objType = Type.GetTypeFromProgID("SolidEdge.Application");
// Start Solid Edge
objApp = Activator.CreateInstance(objType);
}
}
finally
{
// Make Solid Edge visible
objApp.Visible = true;
}
// Get material table object handle
objMatTable = objApp.GetMaterialTable();
objMatTable.GetMaterialLibraryList(listOfLibraries, numMaterials);
strLibrary = listOfLibraries(2);
//Get material list
objMatTable.GetMaterialListFromLibrary(strLibrary, numMaterials, listOfMaterials);
strMessage = string.Format("Number of materials -->{0}", numMaterials);
MessageBox.Show(strMessage);
strMaterial = listOfMaterials(5);
strMessage = string.Format("5th Material is --> {0}", strMaterial);
MessageBox.Show(strMessage);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public Form1()
{
SubscribeToEvents();
}
private bool EventsSubscribed = false;
private void SubscribeToEvents()
{
if (EventsSubscribed)
return;
else
EventsSubscribed = true;
Button1.Click += Button1_Click;
}
}