Index: spoke.c =================================================================== --- spoke.c (revision 18432) +++ spoke.c (revision 18433) @@ -69,6 +69,21 @@ spoke_pos(sp, delta, x, y); } +void spoke_pos_at_slot(spoke_t *sp, int slot, pcb_coord_t *x, pcb_coord_t *y) +{ + pcb_coord_t spacing = 0; + int i; + + for (i = 0; i < slot; i++) { + spacing += conf_core.design.bloat; + spacing += ((ewire_t *) (sp->slots.array[i]))->wire->thickness; + } + spacing += conf_core.design.bloat; + spacing += (((ewire_t *) (sp->slots.array[slot]))->wire->thickness + 1)/2; + + spoke_pos(sp, spacing, x, y); +} + void spoke_insert_wire_at_slot(spoke_t *sp, int slot_num, ewire_t *ew) { if (vtp0_in_bound(&sp->slots, slot_num) && sp->slots.array[slot_num] != NULL) { Index: spoke.h =================================================================== --- spoke.h (revision 18432) +++ spoke.h (revision 18433) @@ -28,6 +28,7 @@ void spoke_uninit(spoke_t *sp); void spoke_pos_at_wire_node(spoke_t *sp, wirelist_node_t *w_node, pcb_coord_t *x, pcb_coord_t *y); +void spoke_pos_at_slot(spoke_t *sp, int slot, pcb_coord_t *x, pcb_coord_t *y); void spoke_insert_wire_at_slot(spoke_t *sp, int slot_num, ewire_t *ew);