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 = "Materials"
Dim objDocument As SolidEdgePart.PartDocument = Nothing
Dim strMaterial As String = "Copper"
Dim iMatPropIndex As SolidEdgeConstants.MatTablePropIndexConstants
Dim varGetPropVal As Object = Nothing
Dim strMessage As String
Try
' Get SE handle
objApp = Marshal.GetActiveObject("SolidEdge.Application")
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)
' Make Solid Edge visible
objApp.Visible = True
End If
objDocument = objApp.Documents.Add("SolidEdge.PartDocument")
' Get material table object handle
objMatTable = objApp.GetMaterialTable()
' Set active document handle
objMatTable.SetActiveDocument(objDocument)
strMaterial = "ABS Plastic, high impact"
objMatTable.ApplyMaterialToDoc(objDocument, strMaterial, strLibrary)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
using System.Windows.Forms;
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 = "Materials";
SolidEdgePart.PartDocument objDocument = null;
string strMaterial = "Copper";
SolidEdgeConstants.MatTablePropIndexConstants iMatPropIndex = null;
object varGetPropVal = null;
string strMessage = null;
try
{
// Get SE handle
objApp = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");
if (objApp == null)
{
// Get the type from the Solid Edge ProgID
objType = Type.GetTypeFromProgID("SolidEdge.Application");
// Start Solid Edge
objApp = Activator.CreateInstance(objType);
// Make Solid Edge visible
objApp.Visible = true;
}
objDocument = objApp.Documents.Add("SolidEdge.PartDocument");
// Get material table object handle
objMatTable = objApp.GetMaterialTable();
// Set active document handle
objMatTable.SetActiveDocument(objDocument);
strMaterial = "ABS Plastic, high impact";
objMatTable.ApplyMaterialToDoc(objDocument, strMaterial, strLibrary);
}
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;
}
}