Search Results for

    Show / Hide Table of Contents

    Class Coedge

    A coedge is closely related to an edge. A coedge stores its relationships with adjacent edges and with superior owning entities. (In some contexts, the coedge may be viewed as the use of an edge by a face or wire.) The data structures formed by these relationships (stored as pointers) and their interpretation depend upon the nature of the owning entity.

    Inheritance
    object
    ProjectObject
    Coedge
    Implements
    IHasGeometry
    Inherited Members
    ProjectObject.FindObjects(Predicate<ProjectObject>, Predicate<ProjectObject>)
    ProjectObject.ToString()
    ProjectObject.Name
    ProjectObject.DisplayName
    ProjectObject.Parent
    ProjectObject.ContainingProject
    ProjectObject.Attributes
    ProjectObject.UIVisible
    ProjectObject.TypeDisplayName
    ProjectObject.UniqueId
    ProjectObject.Children
    ProjectObject.DisplayNameChanged
    ProjectObject.ProjectObjectChanged
    ProjectObject.InternalEvent
    Namespace: ABB.Robotics.RobotStudio.Stations
    Assembly: ABB.Robotics.RobotStudio.Stations.dll
    Syntax
    public sealed class Coedge : ProjectObject, IHasGeometry
    Remarks

    The Coedge object is generated on demand and is not stored in the station file; therefore Attributes cannot be used to persist attributes.

    Properties

    View Source

    Body

    Gets the Body that the Coedge belongs to.

    Declaration
    public Body Body { get; }
    Property Value
    Type Description
    Body
    Examples

    Get Body.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    
    View Source

    Edge

    Gets the Edge that the Coedge is associated with.

    Declaration
    public Edge Edge { get; }
    Property Value
    Type Description
    Edge
    Examples

    Get Edge.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    
    View Source

    EndVertex

    Gets the end vertex of the coedge.

    Declaration
    public Vertex EndVertex { get; }
    Property Value
    Type Description
    Vertex
    Examples

    Get EndVertex.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    
    View Source

    Next

    Returns the next coedge connected to this.

    Declaration
    public Coedge Next { get; }
    Property Value
    Type Description
    Coedge
    View Source

    Previous

    Returns the previous coedge connected to this.

    Declaration
    public Coedge Previous { get; }
    Property Value
    Type Description
    Coedge
    View Source

    Reversed

    Gets whether the coedge is reversed or not.

    Declaration
    public bool Reversed { get; }
    Property Value
    Type Description
    bool
    Examples

    Get Reversed.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    
    View Source

    StartVertex

    Gets the start vertex of the coedge.

    Declaration
    public Vertex StartVertex { get; }
    Property Value
    Type Description
    Vertex
    Examples

    Get EndVertex.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    

    Methods

    View Source

    FindClosestVertex(Vector3)

    Returns the Vertex of the Coedge that is closest to the provided point.

    Declaration
    public Vertex FindClosestVertex(Vector3 testPoint)
    Parameters
    Type Name Description
    Vector3 testPoint

    The point which to find the closest vertex to.

    Returns
    Type Description
    Vertex

    The closest Vertex.

    Examples

    Codege FindClosestVertex.

    Project.UndoContext.BeginUndoStep("CoedgeProperties");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a box.
                Part myPart = new Part();
                myPart.Name = "MyPart";
                station.GraphicComponents.Add(myPart);
                Body box = Body.CreateSolidBox(
                    new Matrix4(Vector3.XVector, 0.0), new Vector3(0.1, 0.1, 0.1));
                box.Name = "MyBox";
                myPart.Bodies.Add(box);
    
                // Get a coedge from the box.
                Coedge myCoedge = box.Shells[0].Faces[0].Loops[0].Coedges[0];
                myCoedge.Edge.Name = "MyEdge";
    
                // Output some info of the coedge.
                Logger.AddMessage(new LogMessage($"The body of the coedge is: {myCoedge.Body.Name}"));
                Logger.AddMessage(new LogMessage($"The edge of the coedge is: {myCoedge.Edge.Name}"));
                Logger.AddMessage(new LogMessage($"The coedge is reversed: {myCoedge.Reversed}"));
                Logger.AddMessage(new LogMessage(
                    $"The start vertex of the coedge is: ({myCoedge.StartVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
                Logger.AddMessage(new LogMessage(
                    $"The end vertex of the coedge is: ({myCoedge.EndVertex.Position.ToString(numDecimals: 8, separator: ", ")})"));
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    

    Implements

    IHasGeometry
    • View Source
    In this article
    Back to top Copyright © 2026 ABB Robotics