Il calcolo è il cuore del sistema. Il software parte dalle connessioni fisiche e arriva alla lista ordinata dei rami attraverso queste fasi:

1. Indice delle connessioni

Per ogni parte visibile vengono analizzati i mates (SNAP_IN1, SNAP_IN2, SNAP_OUT1, SNAP_OUT2). Su ciascun mate il software cerca la parte più vicina entro una tolleranza di 1 unità. Il risultato è una mappa che dice, per ogni parte, chi è collegato su ogni punto di connessione.

2. Eliminazione false connessioni

Vengono rimosse le connessioni tra componenti che devono restare separati. Tipicamente la connessione tra una testata motorizzata e la testata folle successiva: sono fisicamente a contatto ma logicamente su tiri diversi.

3. Sdoppiamento parti multi-ramo

I componenti che lavorano su più rami (deviatori, divisori, riunitori, bancali di affiancamento) vengono “splittati”: il software crea voci virtuali separate nel dizionario delle connessioni. Ad esempio un divisore con un ingresso e due uscite diventa tre voci indipendenti, una per ogni ramo a cui partecipa.

4. Raggruppamento in rami

Il software percorre la mappa delle connessioni e raggruppa le parti collegate nello stesso ramo. Se due parti già assegnate a rami diversi risultano collegate, i due rami vengono fusi. Le parti senza connessioni diventano rami isolati.

5. Ordinamento

All’interno di ogni ramo, le parti vengono ordinate seguendo la catena di connessioni dall’ingresso all’uscita. Se il ramo risulta invertito rispetto alla direzione di flusso, viene automaticamente ribaltato.