There are many ways we can automate this. most simple ways would be
dbCreateSimpleMosaicByMasterName( deGetCellView()
techGetTechLibName( ddGetObj( deGetCellView()->libName ))
"via2"
"symbolic"
nil
enterPoint()
"R0"
1
2
1.26
1.26
)
or
procedure( ViaCreate( viaName )
let( ( via2 llx lly urx ury )
via2=dbOpenCellViewByType(
techGetTechLibName( ddGetObj( deGetCellView()->libName ))
viaName
"symbolic"
)
urx = xCoord( upperRight( via2->bBox ))
ury = yCoord( upperRight( via2->bBox ))
llx = xCoord( lowerLeft( via2->bBox ))
lly = yCoord( lowerLeft( via2->bBox ))
dbCreateSimpleMosaic(
deGetCellView()
via2
nil
enterPoint()
"R0"
2
2
urx-llx
ury-lly
)
dbClose( via2)
);let
);proc
Bind this to ctrl+ bindkeys.
or
Auto-Contact feature is sufficient most of the times. In IC6 it works for paths & polygons.