Solid Edge Assembly Type Library
AddAxial Method
Specifies a Reference object derived from the cylindrical face on the first part to be aligned.
Specifies a Reference object derived from the cylindrical face on the second part to be aligned.
Specifies whether or not to align the normals of the cylindrical faces of the parts.
Description
Adds an axial relationship.
Syntax
Visual Basic
Public Function AddAxial( _
   ByVal Axis1 As Object, _
   ByVal Axis2 As Object, _
   ByVal NormalsAligned As Boolean _
) As AxialRelation3d
Parameters
Axis1
Specifies a Reference object derived from the cylindrical face on the first part to be aligned.
Axis2
Specifies a Reference object derived from the cylindrical face on the second part to be aligned.
NormalsAligned
Specifies whether or not to align the normals of the cylindrical faces of the parts.
Remarks
This method applies an alignment relationship between cylindrical faces of the parts in an assembly.
Example
Option Infer On

Imports System
Imports System.Runtime.InteropServices

Namespace Examples
    Friend Class Program
        <STAThread>
        Shared Sub Main(ByVal args() As String)
            Dim application As SolidEdgeFramework.Application = Nothing
            Dim documents As SolidEdgeFramework.Documents = Nothing
            Dim assemblyDocument As SolidEdgeAssembly.AssemblyDocument = Nothing
            Dim occurrences As SolidEdgeAssembly.Occurrences = Nothing
            Dim occurrence1 As SolidEdgeAssembly.Occurrence = Nothing
            Dim occurrence2 As SolidEdgeAssembly.Occurrence = Nothing
            Dim relations3d As SolidEdgeAssembly.Relations3d = Nothing
            Dim partDocument As SolidEdgePart.PartDocument = Nothing
            Dim models As SolidEdgePart.Models = Nothing
            Dim model As SolidEdgePart.Model = Nothing
            Dim revolvedProtrusions As SolidEdgePart.RevolvedProtrusions = Nothing
            Dim revolvedProtrusion As SolidEdgePart.RevolvedProtrusion = Nothing
            Dim sideFaces As SolidEdgeGeometry.Faces = Nothing
            Dim sideFace As SolidEdgeGeometry.Face = Nothing
            Dim reference1 As SolidEdgeFramework.Reference = Nothing
            Dim reference2 As SolidEdgeFramework.Reference = Nothing
            Dim groundRelation3d As SolidEdgeAssembly.GroundRelation3d = Nothing

            Try
                ' See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic.
                OleMessageFilter.Register()

                ' Attempt to connect to a running instance of Solid Edge.
                application = DirectCast(Marshal.GetActiveObject("SolidEdge.Application"), SolidEdgeFramework.Application)
                documents = application.Documents
                assemblyDocument = CType(documents.Add("SolidEdge.AssemblyDocument"), SolidEdgeAssembly.AssemblyDocument)

                If assemblyDocument IsNot Nothing Then
                    occurrences = assemblyDocument.Occurrences

                    ' SideFlange.par from the training folders works well for the sample.
                    ' Update path accordingly.
                    Dim OccurrenceFileName = "C:\Program Files\Solid Edge ST8\Training\SideFlange.par"

                    ' Occurrence 1
                    occurrence1 = occurrences.AddByFilename(OccurrenceFileName)
                    partDocument = CType(occurrence1.PartDocument, SolidEdgePart.PartDocument)
                    models = partDocument.Models
                    model = models.Item(1)
                    revolvedProtrusions = model.RevolvedProtrusions
                    revolvedProtrusion = revolvedProtrusions.Item(1)
                    sideFaces = CType(revolvedProtrusion.SideFaces, SolidEdgeGeometry.Faces)
                    sideFace = CType(sideFaces.Item(1), SolidEdgeGeometry.Face)

                    reference1 = CType(assemblyDocument.CreateReference(occurrence1, sideFace), SolidEdgeFramework.Reference)

                    ' Occurrence 2
                    occurrence2 = occurrences.AddByFilename(OccurrenceFileName)
                    partDocument = CType(occurrence2.PartDocument, SolidEdgePart.PartDocument)
                    models = partDocument.Models
                    model = models.Item(1)
                    revolvedProtrusions = model.RevolvedProtrusions
                    revolvedProtrusion = revolvedProtrusions.Item(1)
                    sideFaces = CType(revolvedProtrusion.SideFaces, SolidEdgeGeometry.Faces)
                    sideFace = CType(sideFaces.Item(1), SolidEdgeGeometry.Face)

                    reference2 = CType(assemblyDocument.CreateReference(occurrence2, sideFace), SolidEdgeFramework.Reference)

                    ' Remove the Ground Relation on the Second Part
                    relations3d = CType(occurrence2.Relations3d, SolidEdgeAssembly.Relations3d)
                    groundRelation3d = CType(relations3d.Item(1), SolidEdgeAssembly.GroundRelation3d)
                    groundRelation3d.Delete()

                    relations3d = assemblyDocument.Relations3d
                    relations3d.AddAxial(reference1, reference2, True)
                End If
            Catch ex As System.Exception
                Console.WriteLine(ex)
            Finally
                OleMessageFilter.Unregister()
            End Try
        End Sub
    End Class
End Namespace
using System;
using System.Runtime.InteropServices;

namespace Examples
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            SolidEdgeFramework.Application application = null;
            SolidEdgeFramework.Documents documents = null;
            SolidEdgeAssembly.AssemblyDocument assemblyDocument = null;
            SolidEdgeAssembly.Occurrences occurrences = null;
            SolidEdgeAssembly.Occurrence occurrence1 = null;
            SolidEdgeAssembly.Occurrence occurrence2 = null;
            SolidEdgeAssembly.Relations3d relations3d = null;
            SolidEdgePart.PartDocument partDocument = null;
            SolidEdgePart.Models models = null;
            SolidEdgePart.Model model = null;
            SolidEdgePart.RevolvedProtrusions revolvedProtrusions = null;
            SolidEdgePart.RevolvedProtrusion revolvedProtrusion = null;
            SolidEdgeGeometry.Faces sideFaces = null;
            SolidEdgeGeometry.Face sideFace = null;
            SolidEdgeFramework.Reference reference1 = null;
            SolidEdgeFramework.Reference reference2 = null;
            SolidEdgeAssembly.GroundRelation3d groundRelation3d = null;

            try
            {
                // See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic.
                OleMessageFilter.Register();

                // Attempt to connect to a running instance of Solid Edge.
                application = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");
                documents = application.Documents;
                assemblyDocument = (SolidEdgeAssembly.AssemblyDocument)documents.Add("SolidEdge.AssemblyDocument");

                if (assemblyDocument != null)
                {
                    occurrences = assemblyDocument.Occurrences;

                    // SideFlange.par from the training folders works well for the sample.
                    // Update path accordingly.
                    var OccurrenceFileName = @"C:\Program Files\Solid Edge ST8\Training\SideFlange.par";

                    // Occurrence 1
                    occurrence1 = occurrences.AddByFilename(OccurrenceFileName);
                    partDocument = (SolidEdgePart.PartDocument)occurrence1.PartDocument;
                    models = partDocument.Models;
                    model = models.Item(1);
                    revolvedProtrusions = model.RevolvedProtrusions;
                    revolvedProtrusion = revolvedProtrusions.Item(1);
                    sideFaces = (SolidEdgeGeometry.Faces)revolvedProtrusion.SideFaces;
                    sideFace = (SolidEdgeGeometry.Face)sideFaces.Item(1);

                    reference1 = (SolidEdgeFramework.Reference)assemblyDocument.CreateReference(occurrence1, sideFace);

                    // Occurrence 2
                    occurrence2 = occurrences.AddByFilename(OccurrenceFileName);
                    partDocument = (SolidEdgePart.PartDocument)occurrence2.PartDocument;
                    models = partDocument.Models;
                    model = models.Item(1);
                    revolvedProtrusions = model.RevolvedProtrusions;
                    revolvedProtrusion = revolvedProtrusions.Item(1);
                    sideFaces = (SolidEdgeGeometry.Faces)revolvedProtrusion.SideFaces;
                    sideFace = (SolidEdgeGeometry.Face)sideFaces.Item(1);

                    reference2 = (SolidEdgeFramework.Reference)assemblyDocument.CreateReference(occurrence2, sideFace);

                    // Remove the Ground Relation on the Second Part
                    relations3d = (SolidEdgeAssembly.Relations3d)occurrence2.Relations3d;
                    groundRelation3d = (SolidEdgeAssembly.GroundRelation3d)relations3d.Item(1);
                    groundRelation3d.Delete();

                    relations3d = assemblyDocument.Relations3d;
                    relations3d.AddAxial(reference1, reference2, true);
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                OleMessageFilter.Unregister();
            }
        }
    }
}
See Also

Relations3d Collection  | Relations3d Members