import sys import openaccess from openaccess import * args=sys.argv cdsInitNonCDSApp("clsbd"); args=oaDBInit(args) class cell: def __init__(self,libnamestr,cellnamestr,viewnamestr): print 'Opening cell ' + cellnamestr self.ns=oaNativeNS() self.libname=oaScalarName(self.ns,libnamestr) self.cellname=oaScalarName(self.ns,cellnamestr) self.viewname=oaScalarName(self.ns,viewnamestr) self.cv=oaCellView.open(self.libname,self.cellname,self.viewname,'r') def close(): self.cv.close() c=cell('mylib','counter','autoLayout') bBox=oaBox() point=oaPoint() oldpoint=oaPoint() xform=oaTransform() for net in c.cv.getNetsIter(): print net term=[] for term in net.getTermsIter(): break if term: print '\t',term, for pin in term.getPinsIter(): break fig=pin.getFig() fig.getBBox(bBox) bBox.getCenter(point) print str(long(point.x())), str(long(point.y())) for it in net.getInstTermsIter(): print '\t',it, term=it.getTerm() inst=it.getInst() inst.getTransform(xform) pin=[] for pin in term.getPinsIter(): break fig=pin.getFig() fig.getBBox(bBox) bBox.getCenter(oldpoint) oldpoint.transform(xform,point) print str(long(point.x())), str(long(point.y()))