def write(self, entity: DXFGraphic): """ Write a DXF entity from the source DXF file to the export file. Don't write entities from different documents than the source DXF file, dependencies and resources will not match, maybe it will work once, but not in a reliable way for different DXF documents. """ # remove all possible dependencies entity.xdata = None entity.appdata = None entity.extension_dict = None entity.reactors = None # reset text stream self.text.seek(0) self.text.truncate() entity.export_dxf(self.entity_writer) if entity.dxftype() == 'POLYLINE': polyline = cast('Polyline', entity) for vertex in polyline.vertices: vertex.export_dxf(self.entity_writer) polyline.seqend.export_dxf(self.entity_writer) elif entity.dxftype() == 'INSERT': insert = cast('Insert', entity) if insert.attribs_follow: for attrib in insert.attribs: attrib.export_dxf(self.entity_writer) insert.seqend.export_dxf(self.entity_writer) data = self.text.getvalue().encode(self.loader.encoding) self.file.write(data)
def write(self, entity: DXFGraphic): """ Write a DXF entity from the source DXF file to the export file. Don't write entities from different documents than the source DXF file, dependencies and resources will not match, maybe it will work once, but not in a reliable way for different DXF documents. """ # remove all possible dependencies entity.xdata = None entity.appdata = None entity.extension_dict = None entity.reactors = None entity.export_dxf(self.entity_writer) if entity.dxftype() == 'POLYLINE': polyline = cast('Polyline', entity) for vertex in polyline.vertices: vertex.export_dxf(self.entity_writer) polyline.seqend.export_dxf(self.entity_writer)