Skip To Content

Apply Main Ring Layout

Summary

Arranges the diagram features in a network diagram around a main ring.

Caution:

If you have an open edit session, you must save your edits prior to running this tool. This ensures the diagram reflects the latest changes made to the network topology in the database. If you fail to save your edits, the edits will not be reflected in the diagram.

Note:

Each layout algorithm includes default parameter values. The default parameter values will be used unless otherwise specified. If the input network diagram is based on a template for which this layout has been configured with a different parameter value, that value is used instead.

Usage

  • This layout algorithm arranges the diagram features around the main ring and hierarchically lays out the subset of diagram features that connect to each diagram junction placed along the main ring.

    The main ring is the loop formed by the largest number of edges in the network diagram.

    If the network diagram contains no loops, the Main Ring layout algorithm execution has no effect.

  • This layout algorithm is typically used in the telecommunications industry.

Syntax

ApplyMainRingLayout_un (in_network_diagram_layer, {are_containers_preserved}, {ring_type}, {is_unit_absolute}, {ring_width_absolute}, {ring_width_proportional}, {ring_height_absolute}, {ring_height_proportional}, {tree_type}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {breakpoint_position}, {edge_display_type})
ParameterExplanationData Type
in_network_diagram_layer

The network diagram where the layout will be applied.

Diagram Layer
are_containers_preserved
(Optional)

Specifies how containers will be processed by the algorithm.

  • PRESERVE_CONTAINERS The layout algorithm executes on the top graph of the diagram so containers are preserved.
  • IGNORE_CONTAINERSThe layout algorithm executes on both content and noncontent features in the diagram. This is the default.
Boolean
ring_type
(Optional)

The type of ring.

  • ELLIPSEThe diagram features of the detected main ring will display along an ellipse. This is the default.
  • RECTANGLEThe diagram features of the detected main ring will display along a rectangle.
String
is_unit_absolute
(Optional)

Specifies how parameters representing distances will be interpreted.

  • ABSOLUTE_UNITThe layout algorithm will interpret any distance values as linear units.
  • PROPORTIONAL_UNITThe layout algorithm will interpret any distance values as relative units to an estimation of the average of the junction sizes in the diagram when it is generated. This is the default.
Boolean
ring_width_absolute
(Optional)

Specifies the width of the ring. The default is in the units of the diagram's coordinate system. This parameter is required when using absolute units.

Linear Unit
ring_width_proportional
(Optional)

Specifies the width of the ring. The default is 50. This parameter is required when using proportional units.

Double
ring_height_absolute
(Optional)

Specifies the height of the ring. The default is in the units of the diagram's coordinate system. This parameter is required when using absolute units.

Linear Unit
ring_height_proportional
(Optional)

Specifies the height of the ring. The default is 20. This parameter is required when using proportional units.

Double
tree_type
(Optional)

Specifies how the trees coming out of the main ring's junctions will be positioned.

  • BOTH_SIDESEach tree will be displayed along a main line, and its related branches will be arranged on both the left and right sides of this main line.
  • LEFT_SIDEEach tree will be displayed hierarchically along a main line, and its related branches will be arranged on the left side of this main line.
  • RIGHT_SIDEEach tree will be displayed hierarchically along a main line, and its related branches will be arranged on the right side of this main line.
  • SMART_TREEEach tree will be displayed hierarchically as a smart tree. This is the default.
String
perpendicular_absolute
(Optional)

Specifies the spacing between diagram junctions that are displayed perpendicular to the tree direction and belong to the same subtree level. The default is 2 in the units of the diagram's coordinate system. This parameter is required when using absolute units.

Linear Unit
perpendicular_proportional
(Optional)

Specifies the spacing between diagram junctions that are displayed perpendicular to the tree direction and belong to the same subtree level. The default is 2. This parameter is required when using proportional units.

Double
along_absolute
(Optional)

Specifies the spacing between diagram junctions that are displayed along the tree direction. The default is 2 in the units of the diagram's coordinate system. This parameter is required when using absolute units.

Linear Unit
along_proportional
(Optional)

Specifies the spacing between diagram junctions that are displayed along the tree direction. The default is 2. This parameter is required when using proportional units.

Double
breakpoint_position
(Optional)

The relative position of the break point that will be inserted along the diagram edges when edge_display_type = REGULAR_EDGES or edge_display_type = ORTHOGONAL_EDGES. It is a percentage between 0 and 100.

  • With a Break Point Relative Position (%) value of 0, the break point is positioned at the x-coordinate of the edge's from junction and at the y-coordinate of the edge's to junction for a horizontal tree. It is positioned at the y-coordinate of the edge's from junction and at the x-coordinate of the edge's to junction for a vertical tree.
  • With a Break Point Relative Position (%) value of 100, there is no break point inserted on the diagram edges; each diagram edge directly connects its from and to junctions.
  • With a Break Point Relative Position (%) value of N between 0 and 100, the break point is positioned at N% of the length of the [XY] segment, X being the x-coordinate of the edge's from junction and Y being the y-coordinate of the edge's to junction for a horizontal tree. It is positioned at N% of the length of the [YX] segment, Y being the y-coordinate of the edge's from junction and X being the x-coordinate of the edge's to junction for a vertical tree.

The relative position of the two inflexion points that will be inserted along the diagram edges to compute the curved edges geometry when edge_display_type = CURVED_EDGES. It is a percentage between 15 and 40. With a Break Point Relative Position (%) value of N between 15 and 40:

  • X being the x-coordinate of the edge's from junction and Y being the y-coordinate of the edge's to junction for a horizontal tree:
    • The first inflexion point will be positioned at N% of the length of the [XY] segment.
    • The second inflexion point will be positioned at (100 - N)% of the length of the [XY] segment.
  • Y being the y-coordinate of the edge's from junction and X being the x-coordinate of the edge's to junction for a vertical tree:
    • The first inflexion point will be positioned at N% of the length of the [YX] segment.
    • The second inflexion point will be positioned at (100 - N)% of the length of the [XY] segment.

Note:

The notion of the from and to junctions above is relative to the tree direction; it has nothing to do with the real topology of the network feature edge.

Double
edge_display_type
(Optional)

The type of display for the diagram edges related to the tree branches.

  • REGULAR_EDGESAll diagram edges related to the tree branches do not display with right angles. This is the default.
  • ORTHOGONAL_EDGESAll diagram edges related to the tree branches will display with right angles.
  • CURVED_EDGESAll diagram edges related to the tree branches will be curved.
String

Code sample

ApplyMainRingLayout example (Python window)

This sample applies the Main Ring Layout algorithm to the diagram called Temporary Diagram.

import arcpy
arcpy.ApplyMainRingLayout_un("Temporary Diagram", "PRESERVE_CONTAINERS", 
                             "ELLIPSE", "PROPORTIONAL_UNIT", "", 50, "", 20, 
                             "SMART_TREE", "", 2, "", 2, 25, "CURVED_EDGES")

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • ArcGIS Desktop Basic: No
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes