Diagrammix3 allows you to attach connectors not just to shapes, but to other connectors. This enables complex relationship modeling that goes beyond simple point-to-point connections.

Why Connect Connectors?

Connector-to-connector connections are useful for:

  • Annotation: Attach labels or notes to specific points along a connection
  • Branch points: Show where a flow splits or merges
  • Multi-way relationships: Model relationships involving more than two entities
  • Hierarchical flows: Create tree-like connection structures
  • UML interactions: Model message intercepts or interaction points

Connector-to-Connector Example

Creating Connector-to-Connector Attachments

Method 1: Draw to Connector

  1. Select the Connector Tool (press C)
  2. Click on the first shape (or connector) as your starting point
  3. Drag toward the target connector path
  4. Hover over the target connector—it should highlight
  5. Release to attach

The new connector now connects to the target connector, creating a branch point.

Method 2: Modify Existing Connector

  1. Select a connector that's already drawn
  2. Click and drag one of its endpoints
  3. Drag it over another connector
  4. When the target highlights, release
  5. The connection point moves from the shape to the connector

Creating Connector Attachments

Attachment Behavior

When you attach a connector to another connector:

Attachment point:

  • The connector attaches at the closest point along the target connector's path
  • As the target moves or changes, the attachment point adjusts
  • The attachment maintains its relative position along the target

Visual indicators:

  • Small connection marker appears on the target connector
  • Attached connector endpoint snaps to this marker
  • Moving the target connector updates all attached connectors

Moving Attachment Points

To adjust where a connector attaches to another connector:

  1. Select the attached connector
  2. Click and drag the endpoint that's attached
  3. Slide it along the target connector path
  4. Release at the desired position

The attachment point slides along the path but remains connected.

Detaching Connectors

To break a connector-to-connector attachment:

  1. Select the attached connector
  2. Drag its endpoint away from the target connector
  3. Attach it to a shape or leave it unattached
  4. The connector is now independent

Alternatively:

  • Delete the attached connector entirely
  • Use Undo immediately after creating the attachment

Use Cases

Flow Annotations

Add notes or comments to specific points in a flow:

[Start] ──────────────→ [End]
              ↓
         [Note: "Critical step"]

The note connector attaches to the midpoint of the main flow.

Decision Trees

Create multi-way branches:

[Decision]
     ↓
     ├──→ [Option A]
     ├──→ [Option B]
     └──→ [Option C]

Each branch connector attaches to a main connector stem.

UML Sequence Diagrams

Model message returns or interrupts:

Object A ─────message────→ Object B
            ↑
            └──return

The return message attaches to the original message connector.

Network Diagrams

Show taps or monitoring points along network connections:

[Router] ─────────────→ [Switch]
            ↓
        [Monitor]

Monitor tap connector attaches to the main network link.

Use Case Gallery

Styling Attached Connectors

Attached connectors can have different styles from their targets:

  • Different colors: Distinguish primary vs. secondary connections
  • Different arrowheads: Show relationship direction or type
  • Different dash patterns: Indicate optional vs. required branches
  • Different widths: Emphasize primary flow with thicker lines

This visual differentiation helps readers understand complex diagrams.

Combining with Bend Points

You can add bend points to connectors that attach to other connectors:

  1. Attach connector to target connector
  2. Double-click the attached connector to add bend points
  3. Route the attached connector as needed
  4. Bend points work normally, even though one end attaches to a connector

This gives you full control over complex routing scenarios.

Limitations

  • Performance: Very large numbers of connector-to-connector attachments (50+) may slow rendering
  • Circular dependencies: Avoid creating loops (connector A → connector B → connector A)
  • Export compatibility: Some export formats may not preserve connector-to-connector relationships
  • Attachment stability: Moving shapes rapidly may cause attachment points to shift

Tips

  1. Use for clarity: Only use connector-to-connector when it makes the diagram clearer
  2. Limit depth: Avoid attaching connectors to connectors to connectors (three levels deep)
  3. Style distinctly: Make attached connectors visually different from main connectors
  4. Label attachment points: Add text near attachment points to explain the relationship
  5. Test exports: Verify connector-to-connector connections survive export if needed

Alternative Approaches

Sometimes simpler alternatives work better:

Instead of connector-to-connector:

  • Add a shape at the branch point
  • Use multiple connectors from one shape
  • Add text annotation directly on the connector
  • Use a junction shape (small circle or dot) as an explicit join point

Consider these alternatives when connector-to-connector feels overly complex.

Technical Notes

Connector-to-connector attachments work by:

  1. Calculating the nearest point on the target connector path
  2. Creating a parametric attachment (percentage along path)
  3. Recalculating the attachment point when the target moves
  4. Maintaining the relative position along the target

This ensures attachments stay connected even as the diagram evolves.