def collect_path_element(self, layer, coordinates, line_width, path_type): try: lyrPurp = self.__getLayerPurposeNmbr(layer) self.__makePathXMLElement(None, coordinates.points, lyrPurp[0], lyrPurp[1], line_width, self.topElem) except Exception, err: msg = "OutputXml::Fatal exception in collect_path_element : %s" % err LOG.error(msg) raise err
def collect_BoxElement(self, item, additional_transform=None): try: T = item.transformation + additional_transform coordinates = T(ShapeRectangle(item.center, item.box_size)).tolist() self.collect_boundary_element(item.layer, coordinates) except Exception, err: msg = "OutputXml::Fatal exception in collect_BoxElement : %s" % err LOG.error(msg) raise err
def __getLayerPurposeNmbr(self, p_Item): '''Derive the layer number and purpose number using the appropriate layer map (i.e. GDS)''' try: gdsLayer = self.layer_map.get(p_Item, None) lyr = gdsLayer.number pur = gdsLayer.datatype except Exception, e: LOG.error( "Warning: layer %s not found: %s - forcing layer number to 1." % (p_Item, e)) lyr = 1 pur = 100
def __warn__(self, key): LOG.error( "Warning during export : no corresponding GDSII layer found for process %s and purpose %s" % (key.process, key.purpose))
def __warn__(self, key): from ipkiss.log import IPKISS_LOG as LOG LOG.error( "Warning during GDSII import : no corresponding process/purpose layer found for number = %i and datatype = %s" % (key.number, key.datatype))