Beispiel #1
0
    def trace_instance_list(self, cmd, names):
        list = self.validate(cmd, names)
        for instname in list:
            name = openaccess22.oaSimpleName(self.mNS, instname)
            inst = None
            typname = self.mDesign.getType().oaTypeEnum()
            if typname == openaccess22.oacBlockType:
                inst = openaccess22.oaInst.static_find(self.mDesign, name)
            if typname == openaccess22.oacModuleType:
                inst = openaccess22.oaModInst.static_find(self.mDesign, name)
            if typname == openaccess22.oacOccurrenceType:
                inst = openaccess22.oaOccInst.static_find(self.mDesign.getTopOccurrence(), name)
            if inst == None:
                print "Can't Find Instance: ", instname
                continue

            instname = openaccess22.oaString()
            if inst.isOccObject():
                inst.getPathName(self.mNS, instname)
            else:
                inst.getName(self.mNS, instname)
            instname = str(instname)
            rep = "Inst: " + instname
            self.mReport.append(rep)
            if self.mFirstObj == None:
                self.mFirstObj = inst
            self.trace_instance(inst, self.mDir, 1)
        self.log_report(cmd, names)
Beispiel #2
0
 def FindObject(self, name):
     ns = openaccess22.oaNativeNS()
     simplename = openaccess22.oaSimpleName(ns, name)
     typname = self.mDesign.getType().oaTypeEnum()
     if (typname == openaccess22.oacBlockType):
         return oaInst.static_find(self.mDesign, name)
     if (typname == openaccess22.oacModuleType):
         return oaModInst.static_find(self.mDesign, name)
     if (typname == openaccess22.oacOccurrenceType):
         return oaOccInst.static_find(self.mDesign.getTopOccurrence(), name)
     return None
Beispiel #3
0
 def FindObject(self,name):
   ns=openaccess22.oaNativeNS()
   simplename=openaccess22.oaSimpleName(ns,name)
   typname=self.mDesign.getType().oaTypeEnum()
   if (typname==openaccess22.oacBlockType):
     return oaInst.static_find(self.mDesign,name)
   if (typname==openaccess22.oacModuleType):
     return oaModInst.static_find(self.mDesign,name)
   if (typname==openaccess22.oacOccurrenceType):
     return oaOccInst.static_find(self.mDesign.getTopOccurrence(),name)
   return None
Beispiel #4
0
 def trace_occ_list(self, cmd, names):
     data = self.validate(cmd, names)
     if len(data) == 1:
         ns = openaccess22.oaNativeNS()
         name = openaccess22.oaSimpleName(ns, data[0])
         inst = openaccess22.oaOccInst.static_find(self.mDesign.getTopOccurrence(), name)
         if inst:
             occ = inst.getMasterOccurrence()
             if occ:
                 self.mDesign = occ
                 if self.mFirstObj == None:
                     self.mFirstObj = self.mDesign