示例#1
0
    def make_instance(self, cpt_inst, symattr, bodyindex):
        """ Make an eaglexml part for an openjson component instance
        and symbol attribute. """

        cpt = self.design.components.components[cpt_inst.library_id]
        symbol = cpt.symbols[cpt_inst.symbol_index]
        body = symbol.bodies[bodyindex]

        inst = G.instance()
        inst.part = cpt_inst.instance_id
        inst.gate = self.body2gate[body]
        inst.x = self.make_length(symattr.x)
        inst.y = self.make_length(symattr.y)
        inst.rot = self.make_angle(symattr.rotation)

        layer = self.ensure_layer(body, 'symbol')

        for ann in symattr.annotations:
            inst.attribute.append(
                G.attribute(name=ann.value,
                            value=ann.value,
                            layer=layer.number,
                            size="1.27",
                            x=self.make_length(ann.x + symattr.x),
                            y=self.make_length(ann.y + symattr.y),
                            rot=self.make_angle(ann.rotation),
                            display='value' if ann.visible else 'off'))

        return inst
    def make_instance(self, cpt_inst, symattr, bodyindex):
        """ Make an eaglexml part for an openjson component instance
        and symbol attribute. """

        cpt = self.design.components.components[cpt_inst.library_id]
        symbol = cpt.symbols[cpt_inst.symbol_index]
        body = symbol.bodies[bodyindex]

        inst = G.instance()
        inst.part = cpt_inst.instance_id
        inst.gate = self.body2gate[body]
        inst.x = self.make_length(symattr.x)
        inst.y = self.make_length(symattr.y)
        inst.rot = self.make_angle(symattr.rotation)

        layer = self.ensure_layer(body, 'symbol')

        for ann in symattr.annotations:
            inst.attribute.append(
                G.attribute(name=ann.value,
                            value=ann.value,
                            layer=layer.number,
                            size="1.27",
                            x=self.make_length(ann.x + symattr.x),
                            y=self.make_length(ann.y + symattr.y),
                            rot=self.make_angle(ann.rotation),
                            display='value' if ann.visible else 'off'))

        return inst
    def make_instance(self, cpt_inst, symattr, bodyindex):
        """ Make an eaglexml part for an openjson component instance
        and symbol attribute. """

        cpt = self.design.components.components[cpt_inst.library_id]
        symbol = cpt.symbols[cpt_inst.symbol_index]
        body = symbol.bodies[bodyindex]

        inst = G.instance()
        inst.part = cpt_inst.instance_id
        inst.gate = self.body2gate[body]
        inst.x = self.make_length(symattr.x)
        inst.y = self.make_length(symattr.y)
        inst.rot = self.make_angle(symattr.rotation)

        return inst