Solid Edge Assembly Type Library
CreateAlongCurve Method
Specify the number of master parts to be used by the pattern. These must be top level occurrences
Specify the actual array of master parts.
Specify the number of curves in the first curve of the pattern.
Specify the array of curves. Note that they must all be connected.
Specify the anchor point. Must be one of the endpoints of the curve.
Specify the direction to which the pattern is facing. sePatternCurveRightSide is pointing inside the curve.
Specify the offset value.
Specify pattern offset type. Whether fixed, fit, or fill, as the option presented in the ribbon.
Specify the number of slave occurrences to be placed. Ignored in Fill mode.
Specify the space between slaves. Ignored in Fit mode.
Specify the number of curves in the second  curve of the pattern.
Specify the array of curves. Note that they must all be connected.
Specify the array of curves. Note that they must all be connected.
Specify the direction in which the pattern is facing. sePatternCurveRightSide is pointing inside the curve.
Specify the offset value.
Specify pattern offset type. Whether fixed, fit, or fill, as the option presented in the ribbon.
Specify the number of slave occurrences to be placed. Ignored in Fill mode.
Specify space between slaves. Ignored in Fit mode.
Specify how rotations are treated. Works the same as the option on the ribbon.
Works with TransformType.
Specify the plane used to determine the rotation. Not needed for all transform types.
Description
Creates a pattern along curve.
Syntax
Visual Basic
Public Function CreateAlongCurve( _
   ByVal NumberOfMasters As Long, _
   ByRef MasterOccs() As Object, _
   ByVal NumberOfCurves1 As Long, _
   ByRef Curves1() As Object, _
   ByVal AnchorPointForCurves1 As Object, _
   ByVal AnchorSideForCurves1 As PatternCurveAnchorSideConstants, _
   ByVal AnchorAtDistanceForCurves1 As Double, _
   ByVal PatternOffsetTypeForCurves1 As PatternOffsetTypeConstants, _
   ByVal NumberOfOccurrencesForCurves1 As Long, _
   ByVal OccurrenceSpacingForCurves1 As Double, _
   ByVal NumberOfCurves2 As Long, _
   ByRef Curves2() As Object, _
   ByVal AnchorPointForCurves2 As Object, _
   ByVal AnchorSideForCurves2 As PatternCurveAnchorSideConstants, _
   ByVal AnchorAtDistanceForCurves2 As Double, _
   ByVal PatternOffsetTypeForCurves2 As PatternOffsetTypeConstants, _
   ByVal NumberOfOccurrencesForCurves2 As Long, _
   ByVal OccurrenceSpacingForCurves2 As Double, _
   ByVal TransformType As PatternTransformTypeConstants, _
   ByVal TransformRotateType As PatternTransformRotateTypeConstants, _
   ByVal TransformPlaneOrSurface As Object, _
   ByVal bstrName As String, _
   Optional ByVal FutureUse1 As Variant, _
   Optional ByVal FutureUse2 As Variant, _
   Optional ByVal FutureUse3 As Variant _
) As AssemblyPattern
Parameters
NumberOfMasters
Specify the number of master parts to be used by the pattern. These must be top level occurrences
MasterOccs
Specify the actual array of master parts.
NumberOfCurves1
Specify the number of curves in the first curve of the pattern.
Curves1
Specify the array of curves. Note that they must all be connected.
AnchorPointForCurves1
Specify the anchor point. Must be one of the endpoints of the curve.
AnchorSideForCurves1
ValueDescription
sePatternCurveLeftSide
sePatternCurveRightSide
Specify the direction to which the pattern is facing. sePatternCurveRightSide is pointing inside the curve.
AnchorAtDistanceForCurves1
Specify the offset value.
PatternOffsetTypeForCurves1
ValueDescription
sePatternFillOffsetFill Offset
sePatternFitOffsetFit Offset
sePatternFixedOffsetFixed Offset
Specify pattern offset type. Whether fixed, fit, or fill, as the option presented in the ribbon.
NumberOfOccurrencesForCurves1
Specify the number of slave occurrences to be placed. Ignored in Fill mode.
OccurrenceSpacingForCurves1
Specify the space between slaves. Ignored in Fit mode.
NumberOfCurves2
Specify the number of curves in the second  curve of the pattern.
Curves2
Specify the array of curves. Note that they must all be connected.
AnchorPointForCurves2
Specify the array of curves. Note that they must all be connected.
AnchorSideForCurves2
ValueDescription
sePatternCurveLeftSide
sePatternCurveRightSide
Specify the direction in which the pattern is facing. sePatternCurveRightSide is pointing inside the curve.
AnchorAtDistanceForCurves2
Specify the offset value.
PatternOffsetTypeForCurves2
ValueDescription
sePatternFillOffsetFill Offset
sePatternFitOffsetFit Offset
sePatternFixedOffsetFixed Offset
Specify pattern offset type. Whether fixed, fit, or fill, as the option presented in the ribbon.
NumberOfOccurrencesForCurves2
Specify the number of slave occurrences to be placed. Ignored in Fill mode.
OccurrenceSpacingForCurves2
Specify space between slaves. Ignored in Fit mode.
TransformType
ValueDescription
sePatternTransformFullRotation
sePatternTransformFullRotationFromSurface
sePatternTransformLinear
sePatternTransformProjectedRotation
Specify how rotations are treated. Works the same as the option on the ribbon.
TransformRotateType
ValueDescription
sePatternTransformRotateOnCurvePosition
sePatternTransformRotateOnFeaturePosition
Works with TransformType.
TransformPlaneOrSurface
Specify the plane used to determine the rotation. Not needed for all transform types.
bstrName
FutureUse1
FutureUse2
FutureUse3
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 objApplication As SolidEdgeFramework.Application = Nothing
        Dim SEInstallDir As DirectoryInfo
        Dim objAssemblyDocument As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim objAsmRefPlanes As SolidEdgeAssembly.AsmRefPlanes
        Dim objAsmRefPlane As SolidEdgeAssembly.AsmRefPlane
        Dim objOcc As SolidEdgeAssembly.Occurrence = Nothing
        Dim AssyPatterns As SolidEdgeAssembly.AssemblyPatterns = Nothing
        Dim AssyPattern As SolidEdgeAssembly.AssemblyPattern = Nothing
        Dim curve1 As SolidEdgeGeometry.Curve = Nothing
        Dim objLayouts As SolidEdgeAssembly.Layouts = Nothing
        Dim objLayout As SolidEdgeAssembly.Layout = Nothing
        Dim objProfile As SolidEdgePart.Profile = Nothing
        Dim curvebody As SolidEdgeGeometry.CurveBody = Nothing
        Dim occArray As System.Array = Array.CreateInstance(GetType(SolidEdgeAssembly.Occurrence), 1)
        Dim curveArray As System.Array = Array.CreateInstance(GetType(SolidEdgeGeometry.Curve), 1)

        Try
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            SEInstallDir = GetTrainingFolder()
            objAssemblyDocument = objApplication.Documents.Open(SEInstallDir.FullName + "\carrier.asm")

            objAsmRefPlanes = objAssemblyDocument.AsmRefPlanes

            objAsmRefPlane = objAsmRefPlanes.AddParallelByDistance(objAsmRefPlanes(0), 0.02111)

            objLayouts = objAssemblyDocument.Layouts
            objLayout = objLayouts.Add(objAsmRefPlane)
            objProfile = objLayout.Profile
            'objProfile.Lines2d.AddBy2Points(0.0, 0.0, 0.0, 1)
            objProfile.Arcs2d.AddByCenterStartEnd(0.0, 0.0, -1.0, 0.0, 1.0, 0.0)
            objProfile = objLayout.Profile

            curvebody = objProfile.CurveBody
            curve1 = curvebody.Curves.Item(0)
            curveArray(0) = curve1
            AssyPatterns = objAssemblyDocument.AssemblyPatterns
            objOcc = objAssemblyDocument.Occurrences.Item(1)
            occArray(0) = objOcc

            AssyPatterns.CreateAlongCurve(1, occArray, 1, curveArray, curve1.CurveVertices(0), SolidEdgePart.PatternCurveAnchorSideConstants.sePatternCurveRightSide, 0,
                                          SolidEdgeAssembly.PatternOffsetTypeConstants.sePatternFitOffset, 4, 3, 0, occArray, 0, Nothing, 0, Nothing, 0, 0,
                                          SolidEdgePart.PatternTransformTypeConstants.sePatternTransformLinear, SolidEdgePart.PatternTransformRotateTypeConstants.sePatternTransformRotateOnCurvePosition, Nothing, "Test Pattern")

            AssyPattern = AssyPatterns.Item(1)
            Dim msg = MsgBox("Do you want to edit this pattern?", MsgBoxStyle.YesNo, "Pattern along curve")
            If msg = MsgBoxResult.Yes Then
                AssyPattern.EditAlongCurve(1, occArray, 1, curveArray, curve1.CurveVertices(0), SolidEdgePart.PatternCurveAnchorSideConstants.sePatternCurveRightSide, 0,
                                              SolidEdgeAssembly.PatternOffsetTypeConstants.sePatternFitOffset, 2, 3, 0, occArray, 0, Nothing, 0, Nothing, 0, 0,
                                              SolidEdgePart.PatternTransformTypeConstants.sePatternTransformLinear, SolidEdgePart.PatternTransformRotateTypeConstants.sePatternTransformRotateOnCurvePosition, Nothing, "Test Pattern")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        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

AssemblyPatterns Collection  | AssemblyPatterns Members