Solid Edge Assembly Type Library
SplitPath Method
X - coordinate of point to split path at.
Y - coordinate of point to split path at.
Z - coordinate of point to split path at.
Out path after split at input location.
Description
This method can split path of assembly path objects.
Syntax
Visual Basic
Public Sub SplitPath( _
   ByVal XPos As Double, _
   ByVal YPos As Double, _
   ByVal ZPos As Double, _
   ByRef pNewPath As Object _
) 
Parameters
XPos
X - coordinate of point to split path at.
YPos
Y - coordinate of point to split path at.
ZPos
Z - coordinate of point to split path at.
pNewPath
Out path after split at input location.
Remarks
User can split path at any location/position using this method.
Example
Imports System.IO
Imports System.Runtime.InteropServices

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim objSEApplication As SolidEdgeFramework.Application = Nothing
        Dim objAsmDoc As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim objpaths As SolidEdgeAssembly.Paths = Nothing
        Dim objpath As SolidEdgeAssembly.Path = Nothing
        Dim objNewpath As SolidEdgeAssembly.Path = Nothing
        Dim x As Integer

        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 = Nothing
        Dim objVer1 As SolidEdgeGeometry.Vertex = Nothing
        Dim objEdge As SolidEdgeGeometry.Edge = Nothing
        Dim objEdges As SolidEdgeGeometry.Edges = Nothing
        Dim extprot As SolidEdgePart.ExtrudedProtrusion = Nothing
        Dim arraydouble(5) As Double
        Dim SEInstallDir As DirectoryInfo

        Try
            'Get Solid Edge Application
            objSEApplication = Marshal.GetActiveObject("SolidEdge.Application")
            'Get Solid Edge Installation directory
            SEInstallDir = GetTrainingFolder()
            'Open carrier.asm
            objAsmDoc = objSEApplication.Documents.Open(SEInstallDir.FullName + "\carrier.asm")

            objpaths = objAsmDoc.Paths
            x = objpaths.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 = objAsmDoc.Occurrences.Item(1)

            extprot = objFirstPart.PartDocument.Models(1).ExtrudedProtrusions(1)
            objEdges = extprot.Edges(SolidEdgeGeometry.FeatureTopologyQueryTypeConstants.igQueryAll)
            objEdge = objEdges.Item(1)
            objVer1 = objEdge.StartVertex
            obj1Ref1 = objAsmDoc.CreateReference(objFirstPart, objVer1)

            edgeset(0) = obj1Ref1
            'Add path in assembly
            objpath = objpaths.Add(2, pointtypes, edgeset, pointtyp, points, _
                             SolidEdgePart.KeypointEndConditionConstants.seKeypointEndConditionNatural, _
                             SolidEdgePart.KeypointEndConditionConstants.seKeypointEndConditionNatural)
            'Split newly added path
            objpath.SplitPath(-0.02517006160917697, -0.011458307211285591, 0.018564165127765955, objNewpath)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try


    End Sub
    Function GetTrainingFolder() As DirectoryInfo
        Dim objInstallData As SEInstallDataLib.SEInstallData = Nothing
        Dim objInstallFolder As DirectoryInfo = Nothing
        Dim objTrainingFolder As DirectoryInfo = Nothing

        Try
            objInstallData = New SEInstallDataLib.SEInstallData
            objInstallFolder = New DirectoryInfo(objInstallData.GetInstalledPath())
            objTrainingFolder = New DirectoryInfo(Path.Combine(objInstallFolder.Parent.FullName, "Training"))
        Catch
        Finally
            If Not (objInstallData Is Nothing) Then
                Marshal.FinalReleaseComObject(objInstallData)
                objInstallData = Nothing
            End If
        End Try

        Return objTrainingFolder
    End Function

End Class
See Also

Path Object  | Path Members