Add Angle Directed Layout (Network Diagram)

Summary

Adds the Angle Directed Layout algorithm to the list of layouts to be automatically chained at the end of the generation of diagrams based on a given template. This tool also presets the Angle Directed Layout algorithm parameters for any diagram based on that template.

This layout algorithm progressively moves the diagram's edges in specified alignment directions. For each diagram edge, this layout notes its current direction, searches for the nearest desired direction among those specified, and moves the edge in that direction.

Learn more about the Angle Directed layout algorithm

Caution:

This tool is a configuration and administration tool.

Note:

This tool impacts the consistency of any existing diagrams based on the input diagram template. All of the existing diagrams become inconsistent and open with a consistency warning icon May be inconsistent until they are updated.

Usage

  • This tool is not supported when working with a utility network or trace network service. You must use either a utility network or trace network in a file geodatabase or a database connection to a utility network or trace network in an enterprise geodatabase. When working with an enterprise geodatabase the following are requirements:

  • To preset the layout algorithm parameters for any diagram based on the diagram template, uncheck the Active parameter (is_active = "INACTIVE" in Python).

  • Run the tool with Active checked (the default) (is_active = "ACTIVE" in Python) if you want the layout algorithm to be added to the list of layouts that will be automatically chained at the end of diagram generation based on the input diagram template.

Parameters

LabelExplanationData Type
Input Network

The utility network or trace network containing the diagram template to modify.

Utility Network; Trace Network
Input Diagram Template

The name of the diagram template to modify.

String
Active

Specifies whether the layout algorithm will automatically execute when generating diagrams based on the specified template.

  • Checked—The added layout algorithm will automatically run during the generation of any diagram that is based on the Input Diagram Template parameter. This is the default.

    The parameter values specified for the layout algorithm are used to run the layout during diagram generation. They are also loaded by default when the algorithm is to be run on any diagram based on the input template.

  • Unchecked—All the parameter values currently specified for the added layout algorithm will be loaded by default when the algorithm is to be run on any diagram based on the input template.

Boolean
Preserve container layout
(Optional)

Specifies how the algorithm will process containers.

  • Checked—The layout algorithm will execute on the top graph of the diagram so containers are preserved.
  • Unchecked—The layout algorithm will execute on both content and noncontent features in the diagram. This is the default.

Boolean
Number of Iterations
(Optional)

The number of iterations to process. The default is 1.

Long
Number of Directions
(Optional)

The number of directions that will be used to align the diagram edges and their connected junctions.

  • 12 directions —The edges will move so they progressively approach one of the 12 axes, starting with the edge's origin junction and inclined at 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, or 360 degrees.
  • 8 directions —The edges will move so they progressively approach one of the 8 axes, starting with the edge's origin junction and inclined at 45, 90, 135, 180, 225, 270, 315, or 360 degrees. This is the default.
  • 4 directions —The edges will move so they progressively approach one of the 4 axes, starting with the edge's origin junction and inclined at 90, 180, 270, or 360 degrees.
String

Derived Output

LabelExplanationData Type
Output Network

The updated utility network or trace network.

Utility Network; Trace Network
Output Diagram Template

The name of the diagram template.

String

arcpy.nd.AddAngleDirectedLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {iterations_number}, {number_of_directions})
NameExplanationData Type
in_utility_network

The utility network or trace network containing the diagram template to modify.

Utility Network; Trace Network
template_name

The name of the diagram template to modify.

String
is_active

Specifies whether the layout algorithm will automatically execute when generating diagrams based on the specified template.

  • ACTIVEThe added layout algorithm will automatically run during the generation of any diagram that is based on the template_name parameter. This is the default.The parameter values specified for the layout algorithm are used to run the layout during diagram generation. They are also loaded by default when the algorithm is to be run on any diagram based on the input template.
  • INACTIVEAll the parameter values currently specified for the added layout algorithm will be loaded by default when the algorithm is to be run on any diagram based on the input template.
Boolean
are_containers_preserved
(Optional)

Specifies how the algorithm will process containers.

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

The number of iterations to process. The default is 1.

Long
number_of_directions
(Optional)

The number of directions that will be used to align the diagram edges and their connected junctions.

  • TWELVE_DIRECTIONSThe edges will move so they progressively approach one of the 12 axes, starting with the edge's origin junction and inclined at 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, or 360 degrees.
  • EIGHT_DIRECTIONSThe edges will move so they progressively approach one of the 8 axes, starting with the edge's origin junction and inclined at 45, 90, 135, 180, 225, 270, 315, or 360 degrees. This is the default.
  • FOUR_DIRECTIONSThe edges will move so they progressively approach one of the 4 axes, starting with the edge's origin junction and inclined at 90, 180, 270, or 360 degrees.
String

Derived Output

NameExplanationData Type
out_utility_network

The updated utility network or trace network.

Utility Network; Trace Network
out_template_name

The name of the diagram template.

String

Code sample

AddAngleDirectedLayout example (Python window)

Add the Angle Directed Layout algorithm as an automatic layout to the MyTemplate1 template related to the input network.

import arcpy
input_Network = 'D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric'
input_DiagramTemplate = 'MyTemplate1'

arcpy.AddAngleDirectedLayout_nd(input_Network, input_DiagramTemplate, 
                                'ACTIVE', 'PRESERVE_CONTAINERS', 20, 
                                'EIGHT_DIRECTIONS')

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics