Skip to content

Support multiple user-defined connection points on objects

Background

To be a true contender for engineering use (especially electrical engineering), Inkscape must support multiple user-defined connectors on objects. Logic gates (such as AND and OR gates) and transistors have multiple pins, thus requiring multiple connection pins. Other disciplines have similar symbols and requirements.

Microsoft Visio continues to be the industry standard for schematic work. Inkscape would be a contender if it had this feature.

Example Visio drawing with schematic symbols: connectors.vsdx

Details

I can provide more examples upon request.

Visio provides the two tools specific to connectors and connection points:

  • The Connector Tool (right-angled lines) is used to create and modify point-to-point connections.
  • The Connection Point Tool (blue X) is used to create, modify, remove the connection points themselves.

01_connector_tool.gif

  • When the Pointer Tool (arrow) is active, connection points are not shown.
  • When the Connector Tool (right-angled lines) is active, connection points are shown when the pointer is near them.
  • The Connector Tool allows you to make new connections or change existing connections.

01_connector_tool

02_connector_overlap.gif

  • When two connectors are connected to the same pin, the pin of the selected connector is the one that will be moved when you select and drag.
  • Visio automatically puts half-circle overlap "hops" on the horizontal connector when two connectors overlap.
  • This "hop" property can be enabled or disabled on a per-object basis.

02_connector_overlap

03_connector_rerouting.gif

  • Connectors have span control points, located at the middle of each span, that allow you to adjust the routing.
  • When a span control point is moved and one end of the span is constrained (such as connected to a connection point), a new route jog is added. (This is an important behavior to implement.)
  • Visio adds and removes (simplifies) the route spans as needed.
  • Span adjustment respects any snapping features that are enabled.

03_connector_rerouting

04_object_movement.gif

  • When objects are moved, Visio tries to preserve the routes of associated connectors as much as possible, to minimize disturbance to previously made route adjustments.

04_object_movement

05_modifying_connection_points.gif

  • The Connection Point tool allows you to see and modify the connection points on the selected object.
  • To select a connection point, click on it; the selected connection point turns red. Multiple connection points can be shift-selected.
  • Pressing Del will delete the selected connection point(s).
  • To add a new connection point, Ctrl-click where desired. Visio snaps to guides and geometries to help place the point.
  • For complex or curved objects, sometimes I draw temporary "helper" lines to snap the connection point to an intersection.

05_modifying_connection_points

06_connection_points_and_grouping.gif

  • The Connection Point tool can apply connection points to groups.
  • When a group is ungrouped, its connection points disappear but the connection points on its children remain intact.

06_connection_points_and_grouping

07_connection_points_selected_obj.gif

  • With the Connection Point tool, Ctrl-click always adds the connection point to the currently selected object (relative to its position).

07_connection_points_selected_obj

08_pointer_tool_connectors.gif

  • The Pointer Tool (arrow) is not specific to connectors or connection points.
  • But as a convenience, the Pointer Tool allows connectors to be reconnected, rerouted, or moved entirely.
  • When a connector is moved in its entirety with the Pointer Tool, it tries to connect to existing connection points at the new location.
  • Only the Pointer Tool moves a connector in its entirety; the Connector Tool does not.

08_pointer_tool_connectors

Inkscape Version and Operating System:

  • Inkscape Version: 0.92.4
  • Operating System: Windows 10
  • Operating System version: 10.0.17763 Build 17763
Edited by Chris Papademetrious
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information