bigvia(3) draws a non minimal via as a bunch of vias


#include "mph.h"
void *bigvia(figure, viatype, x, y, dx, dy)
phfig_list *figure;
char viatype;
long x, y, dx, dy;


Pointer to the physical figure in the which vias must be put.
Contact type to be put.
x, y
Coordinate of the center of the bigvia.
dx, dy
Maximun rectangle to be filled with vias.


bigvia draws as many vias as necessary to fill the rectangle defined by its dx and dy arguments. The ``bigvia'' center is indicated with dx and dy, thus making this function much like addphvia. The necessary segments are drawn to avoid having notches or other drc rules violated.
This function is tipically used by routers when connecting two non minimal wires, like supplies or clocks.
The values for drawing the via correctly, ie avoid drc violations, are taken from the idps set of rules, and are not changeable at run time.


"*** mbk error *** bigvia impossible : negative values dx, dy in figure figure at (x, y)"
If either dx or dy are negative, the function complains and exits.


#include "mph.h"
#define BigVia(x, y, dx, dy) \
   bigvia(WORK_PHFIG, CONT_VIA, x, y, dx, dy)