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 objDoc As SolidEdgeAssembly.AssemblyDocument = Nothing
Dim paths As SolidEdgeAssembly.Paths = Nothing
Dim path As SolidEdgeAssembly.Path = Nothing
Dim x As Integer
Dim name As String
Dim pointtypes(1) As SolidEdgeConstants.PointTypeConstants
Dim points(5) As Double
Dim edgeset(1) As Object
Dim pointtyp(1) As SolidEdgeConstants.KeyPointType
Dim obj1Ref1 As Object
Dim objFirstPart As SolidEdgeAssembly.Occurrence
Dim objVer1 As SolidEdgeGeometry.Vertex
Dim face1 As SolidEdgeGeometry.Edge
Dim extprot As SolidEdgePart.ExtrudedProtrusion
Dim leng As Double
Dim arraydouble(5) As Double
Try
objApp = Marshal.GetActiveObject("SolidEdge.Application")
If objApp Is Nothing Then
objApp = Activator.CreateInstance(Type.GetTypeFromProgID("SolidEdge.Application"))
objApp.Visible = True
End If
'Asm1.asm is a simple assembly having a cube in it
objDoc = objApp.Documents.Open("c:\asm1.asm")
paths = objDoc.Paths
x = paths.Count()
pointtypes(0) = SolidEdgeConstants.PointTypeConstants.igKeyPoint
pointtypes(1) = SolidEdgeConstants.PointTypeConstants.igSpacePoint
points(0) = 0
points(1) = 0
points(2) = 0.01
points(3) = 0
points(4) = 0.01
points(5) = 0.01
objFirstPart = objDoc.Occurrences.Item(1)
extprot = objFirstPart.PartDocument.Models(1).ExtrudedProtrusions(1)
face1 = extprot.BottomCap.Edges(1)
objVer1 = face1.StartVertex
obj1Ref1 = objDoc.CreateReference(objFirstPart, objVer1)
edgeset(0) = obj1Ref1
path = paths.Add(2, pointtypes, edgeset, pointtyp, points, _
SolidEdgePart.KeypointEndConditionConstants.seKeypointEndConditionNatural, _
SolidEdgePart.KeypointEndConditionConstants.seKeypointEndConditionNatural)
path.GetLength(leng)
path.GetEndPoints(arraydouble)
name = path.Name
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class