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 VisioConnector RouteOrthogonal(VisioConnector connector, VisioConnectorRouteStyle style = Auto, Double offset = 0) #
Returns: VisioConnector

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.
public static VisioConnectorSelection RouteOrthogonal(VisioConnectorSelection selection, VisioConnectorRouteStyle style = Auto, Double offset = 0) #
Returns: VisioConnectorSelection

Applies a generated orthogonal route to every selected connector.

Parameters

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

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 VisioConnector RouteOrthogonalAroundShapes(VisioConnector connector, IEnumerable<VisioShape> obstacles, VisioConnectorRoutingOptions options) #
Returns: VisioConnector

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.
public static VisioConnectorSelection RouteOrthogonalAroundShapes(VisioConnectorSelection selection, IEnumerable<VisioShape> obstacles, Double padding = 0.15, Int32 maxLanes = 12) #
Returns: VisioConnectorSelection

Applies obstacle-aware orthogonal routing to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection requiredposition: 0
Connector selection.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} requiredposition: 1
Shapes that selected connectors should avoid.
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

Applies obstacle-aware orthogonal routing to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection requiredposition: 0
Connector selection.
obstacles System.Collections.Generic.IEnumerable{OfficeIMO.Visio.VisioShape} requiredposition: 1
Shapes that selected connectors should avoid.
options OfficeIMO.Visio.VisioConnectorRoutingOptions requiredposition: 2
Routing options controlling padding, lane search, and whether zones/containers count as obstacles.
public static VisioConnector RouteSelfLoop(VisioConnector connector, Double clearance = 0.35) #
Returns: VisioConnector

Routes a connector from a shape back to itself as an external orthogonal loop.

Parameters

connector OfficeIMO.Visio.VisioConnector requiredposition: 0
Self-connector to route.
clearance System.Double = 0.35 optionalposition: 1
Clearance outside the shape bounds, in page units.
RouteThrough 3 overloads
public static VisioConnector RouteThrough(VisioConnector connector, params VisioConnectorWaypoint[] waypoints) #
Returns: VisioConnector

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.
public static VisioConnector RouteThrough(VisioConnector connector, IEnumerable<VisioConnectorWaypoint> waypoints) #
Returns: VisioConnector

Replaces connector geometry with explicit page-coordinate waypoints.

Parameters

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

Applies explicit waypoints to every selected connector.

Parameters

selection OfficeIMO.Visio.VisioConnectorSelection requiredposition: 0
Connector selection.
waypoints OfficeIMO.Visio.VisioConnectorWaypoint[] requiredposition: 1
Absolute page coordinates between start and end.