Altium is not trying to make a black-box autorouter the designer blindly trusts. Its strongest routing story is auto-interactive: the user selects nets, layers, and intent, while the router handles local geometry, obstacle avoidance, differential pair rules, and post-route glossing.
PCB interactive + guided automatic routing
Human-guided detailed routing with automatic glossing, push/shove, walkaround, and rule-aware multi-net routing.
Interactive routing starts from an electrical object on the chosen net and continuously proposes legal track/via geometry as the cursor moves.
The routing engine supports conflict modes such as push-and-shove, hug-and-push, walkaround, and collision highlighting. Those modes make routing an online detailed-routing problem instead of a static one-shot A* path.
ActiveRoute operates on selected nets or connections, not the whole board by default. The designer scopes the problem and gives layer/corridor intent, then the tool routes multiple nets within those constraints.
Glossing is a first-class post-process. During and after routing, Altium smooths/cleans tracks to reduce unnecessary bends, fix rule interactions at room boundaries, and improve manufacturability.
Rules drive the engine: widths, clearances, differential-pair gaps, layer rules, rooms, and classes are consulted while producing geometry.
Our router is more autonomous, but less interactive and less intent-aware. We route the whole design from TOML constraints, while Altium assumes a skilled designer can scope and guide hard regions.
Our detailed geometry is mostly produced by sequential 3D A* plus post-hoc sweeps. Altium treats local shove/walk/gloss as core detailed-routing operations.
Our DRC cleanup is scriptable but late. Altium tries to keep the route legal while it is being drawn, then glosses immediately.
Our diff-pair path now has a default coupling bias, but it is still not a true simultaneous pair router with skew/gap in the search state. Altium exposes diff-pair routing and tuning as an interactive primitive.
Machine-generated sketch/intent corridors now exist for coarse guides, but no interactive or user-scoped sketch router yet.
An early recursive shove/rollback path exists in detailed ECO, but it is not yet a mature online push-and-shove environment.
No first-class glossing/smoothing stage with design-rule awareness.
Pair-aware routing is started through coupling bias, but not yet mature multi-net co-routing.
Add a generic route-intent layer: corridors, preferred layers, bundle order, and keep-together groups derived from constraints, not net-name hardcoding.
Promote ECO shove from cleanup into the detailed router: move blockers, repair them, and keep the whole transaction legal.
Add a post-route gloss pass that simplifies bends, centers traces in channels, and rechecks DRC after every local edit.
Replace pair bias with coupled two-net search that carries pair spacing and skew in the state, not as independent A* fallback.