API Reference

Class

VisioConnectorRoutingExtensions

Namespace OfficeIMO.Visio
Assembly OfficeIMO.Visio
Modifiers static

Helpers for deterministic connector routing.

Inheritance

  • Object
  • VisioConnectorRoutingExtensions

Methods

public static VisioConnector ClearRoute(VisioConnector connector) #
Returns: VisioConnector

Removes explicit connector waypoints and returns the connector to dynamic routing.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector to reset.
public static VisioConnectorSelection ClearRoutes(VisioConnectorSelection selection) #
Returns: VisioConnectorSelection

Removes explicit connector routes from every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection requiredposition: 0
Connector selection.
public static VisioConnector PlaceLabel(VisioConnector connector, Double position = 0.5, Double offsetX = 0, Double offsetY = 0, Double width = 1.25, Double height = 0.3) #
Returns: VisioConnector

Places connector text along the connector path.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector whose label should be placed.
position System.Double = 0.5 optionalposition: 1
Position along the connector path, from 0.0 to 1.0.
offsetX System.Double = 0 optionalposition: 2
Horizontal page-coordinate offset.
offsetY System.Double = 0 optionalposition: 3
Vertical page-coordinate offset.
width System.Double = 1.25 optionalposition: 4
Label text box width in page units.
height System.Double = 0.3 optionalposition: 5
Label text box height in page units.
public static VisioConnector PlaceLabelAt(VisioConnector connector, Double pinX, Double pinY, Double width = 1.25, Double height = 0.3) #
Returns: VisioConnector

Places connector text at an absolute page coordinate.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector whose label should be placed.
pinX System.Double requiredposition: 1
Text pin X coordinate.
pinY System.Double requiredposition: 2
Text pin Y coordinate.
width System.Double = 1.25 optionalposition: 3
Label text box width in page units.
height System.Double = 0.3 optionalposition: 4
Label text box height in page units.
public static VisioConnectorSelection PlaceLabels(VisioConnectorSelection selection, Double position = 0.5, Double offsetX = 0, Double offsetY = 0, Double width = 1.25, Double height = 0.3) #
Returns: VisioConnectorSelection

Places connector text along every selected connector path.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection requiredposition: 0
Connector selection.
position System.Double = 0.5 optionalposition: 1
Position along each connector path, from 0.0 to 1.0.
offsetX System.Double = 0 optionalposition: 2
Horizontal page-coordinate offset.
offsetY System.Double = 0 optionalposition: 3
Vertical page-coordinate offset.
width System.Double = 1.25 optionalposition: 4
Label text box width in page units.
height System.Double = 0.3 optionalposition: 5
Label text box height in page units.
RouteConnectorsOrthogonalAroundShapes 2 overloads
public static VisioPage RouteConnectorsOrthogonalAroundShapes(VisioPage page, Double padding = 0.15, Int32 maxLanes = 12) #
Returns: VisioPage

Routes every connector on the page around unrelated top-level shapes using deterministic orthogonal lanes.

Parameters

page OfficeIMO.Visio.VisioPage requiredposition: 0
Page whose connectors should be rerouted.
padding System.Double = 0.15 optionalposition: 1
Padding added around each obstacle while testing route intersections.
maxLanes System.Int32 = 12 optionalposition: 2
Number of positive and negative routing lanes to try on each axis.
public static VisioPage RouteConnectorsOrthogonalAroundShapes(VisioPage page, VisioConnectorRoutingOptions options) #
Returns: VisioPage

Routes every connector on the page around unrelated top-level shapes using deterministic orthogonal lanes.

Parameters

page OfficeIMO.Visio.VisioPage requiredposition: 0
Page whose connectors should be rerouted.
options OfficeIMO.Visio.VisioConnectorRoutingOptions requiredposition: 1
Routing options controlling padding, lane search, and whether zones/containers count as obstacles.
RouteOrthogonal 2 overloads
public static VisioConnectorSelection RouteOrthogonal(VisioConnectorSelection selection, VisioConnectorRouteStyle style = Auto, Double offset = 0) #
Returns: VisioConnectorSelection

Generates a clean three-segment orthogonal route between connector endpoints.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector to route.
style OfficeIMO.Visio.VisioConnectorRouteStyle = Auto optionalposition: 1
Orthogonal route orientation.
offset System.Double = 0 optionalposition: 2
Optional offset applied to the center routing lane.
RouteOrthogonal(OfficeIMO.Visio.VisioConnectorSelection selection, OfficeIMO.Visio.VisioConnectorRouteStyle style, System.Double offset) #

Applies a generated orthogonal route to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection required
Connector selection.
style OfficeIMO.Visio.VisioConnectorRouteStyle required
Orthogonal route orientation.
offset System.Double required
Optional offset applied to the center routing lane.
RouteOrthogonalAroundShapes 4 overloads
public static VisioConnectorSelection RouteOrthogonalAroundShapes(VisioConnectorSelection selection, IEnumerable<VisioShape> obstacles, Double padding = 0.15, Int32 maxLanes = 12) #
Returns: VisioConnectorSelection

Generates an orthogonal route that avoids unrelated obstacle shapes when a clear lane is available.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector to route.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} requiredposition: 1
Shapes that the route should avoid. Source, target, containers, background surfaces, and generated adornments are ignored.
padding System.Double = 0.15 optionalposition: 2
Padding added around each obstacle while testing route intersections.
maxLanes System.Int32 = 12 optionalposition: 3
Number of positive and negative routing lanes to try on each axis.
public static VisioConnectorSelection RouteOrthogonalAroundShapes(VisioConnectorSelection selection, IEnumerable<VisioShape> obstacles, VisioConnectorRoutingOptions options) #
Returns: VisioConnectorSelection

Generates an orthogonal route that avoids unrelated obstacle shapes when a clear lane is available.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector to route.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} requiredposition: 1
Shapes that the route should avoid. Source and target shapes are ignored.
options OfficeIMO.Visio.VisioConnectorRoutingOptions requiredposition: 2
Routing options controlling padding, lane search, and whether zones/containers count as obstacles.
RouteOrthogonalAroundShapes(OfficeIMO.Visio.VisioConnectorSelection selection, System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} obstacles, System.Double padding, System.Int32 maxLanes) #

Applies obstacle-aware orthogonal routing to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection required
Connector selection.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} required
Shapes that selected connectors should avoid.
padding System.Double required
Padding added around each obstacle while testing route intersections.
maxLanes System.Int32 required
Number of positive and negative routing lanes to try on each axis.
RouteOrthogonalAroundShapes(OfficeIMO.Visio.VisioConnectorSelection selection, System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} obstacles, OfficeIMO.Visio.VisioConnectorRoutingOptions options) #

Applies obstacle-aware orthogonal routing to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection required
Connector selection.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} required
Shapes that selected connectors should avoid.
options OfficeIMO.Visio.VisioConnectorRoutingOptions required
Routing options controlling padding, lane search, and whether zones/containers count as obstacles.
RouteThrough 3 overloads
public static VisioConnectorSelection RouteThrough(VisioConnectorSelection selection, params VisioConnectorWaypoint[] waypoints) #
Returns: VisioConnectorSelection

Replaces connector geometry with explicit page-coordinate waypoints.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Connector to route.
waypoints OfficeIMO.Visio.VisioConnectorWaypoint[] requiredposition: 1
Absolute page coordinates between start and end.
RouteThrough(OfficeIMO.Visio.VisioConnector connector, System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioConnectorWaypoint} waypoints) #

Replaces connector geometry with explicit page-coordinate waypoints.

Parameters

connector OfficeIMO.Visio.VisioConnector required
Connector to route.
waypoints System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioConnectorWaypoint} required
Absolute page coordinates between start and end.
RouteThrough(OfficeIMO.Visio.VisioConnectorSelection selection, OfficeIMO.Visio.VisioConnectorWaypoint[] waypoints) #

Applies explicit waypoints to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection required
Connector selection.
waypoints OfficeIMO.Visio.VisioConnectorWaypoint[] required
Absolute page coordinates between start and end.