Imports System.Runtime.InteropServices
Public Class SimplifiedAssembly
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objApplication As SolidEdgeFramework.Application = Nothing
Dim objAsmDoc As SolidEdgeAssembly.AssemblyDocument = Nothing
Dim objSimpls As SolidEdgeAssembly.SimplifiedAssemblies = Nothing
Dim objSimpl As SolidEdgeAssembly.SimplifiedAssembly = Nothing
Dim arrayExcludeOccs(0 To 4) As Object
Dim arrayIncludeOccs(0 To 4) As Object
Dim copyType As [Enum] = Nothing
Dim arrayRetExcludeOccs(0 To 4) As Object
Dim arrayRetIncludeOccs(0 To 4) As Object
Dim RetExcludeLen As Long
Dim RetIncludeLen As Long
Dim RetRangeRation As Double
Dim isSimplifiedAsm As Boolean
Dim objType As Type = Nothing
Try
' Create/get the application with specific settings
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
If objApplication Is Nothing Then
' Get the type from the Solid Edge ProgID
objType = Type.GetTypeFromProgID("SolidEdge.Application")
' Start Solid Edge
objApplication = Activator.CreateInstance(objType)
' Make Solid Edge visible
objApplication.Visible = True
End If
'Get reference to active document
objAsmDoc = objApplication.ActiveDocument
'If assembly is simplified return the collection of simplified assemblies
objSimpls = objAsmDoc.SimplifiedAssemblies
'Get the first item in the collection
objSimpl = objSimpls.Item(1)
isSimplifiedAsm = objAsmDoc.IsAssemblySimplified
If isSimplifiedAsm Then
Call objAsmDoc.DeleteSimplifiedAssembly()
isSimplifiedAsm = objAsmDoc.IsAssemblySimplified
End If
'simplified asssembly testing
arrayExcludeOccs(0) = objAsmDoc.Occurrences.Item(2)
arrayExcludeOccs(1) = objAsmDoc.Occurrences.Item(4)
arrayIncludeOccs(0) = objAsmDoc.Occurrences.Item(1)
'Add Visible faces
objSimpl = objSimpls.AddVisible(2, arrayExcludeOccs, 0, 1, arrayIncludeOccs, 0)
arrayExcludeOccs(0) = Nothing
arrayExcludeOccs(1) = Nothing
arrayIncludeOccs(0) = Nothing
Call objSimpl.GetVisibleFaceInputs(RetExcludeLen, arrayRetExcludeOccs, RetRangeRation, RetIncludeLen, arrayRetIncludeOccs, copyType)
arrayRetExcludeOccs(0) = Nothing
arrayRetExcludeOccs(1) = Nothing
arrayRetIncludeOccs(0) = Nothing
Call objSimpl.UpdateSimplifiedAssembly()
objSimpl.ActivateSimplifiedAssembly = False
Call objSimpl.DeleteSimplifiedAssembly()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class