def fetchModule(self, selfobj): from os import path filepath = selfobj.FilePath extension = path.splitext(filepath)[1][1:] if len(extension)<1: raise ValueError("File has no extension, can't determine export type.") modules = App.getExportType(extension) try: oldval = selfobj.UsingModule except Exception: oldval = '' if not oldval in modules: selfobj.UsingModule = modules if extension == 'stl' and 'Mesh' in modules: selfobj.UsingModule = 'Mesh'
def fetchModule(self, selfobj): from os import path filepath = selfobj.FilePath extension = path.splitext(filepath)[1][1:] if len(extension) < 1: raise ValueError( "File has no extension, can't determine export type.") modules = App.getExportType(extension) try: oldval = selfobj.UsingModule except Exception: oldval = '' if not oldval in modules: selfobj.UsingModule = modules if extension == 'stl' and 'Mesh' in modules: selfobj.UsingModule = 'Mesh'
(ob.Name,ob.Label.encode('unicode-escape'))) else: self.csg.write('#Annotation %s\n' % (ob.Name)) v=ob.Position self.csg.write('dtext %s %s %s "%s"\n' % \ (f2s(v.x),f2s(v.y),f2s(v.z), '\\n'.join(\ ob.LabelText).encode(\ 'ascii', errors='xmlcharrefreplace'))) def export_objects(self,objlst,toplevel=True): self.write_header() toplevelobjs = [self.process_object(ob, toplevel=toplevel)\ for ob in objlst] names = [name for name in toplevelobjs if name is not False] self.csg.write('donly %s\n'%(' '.join(names))) self.export_annotations(objlst) #for ob in objlst: # self.process_object(ob,toplevel=toplevel) #self.write_displayonly(objlst) def __exit__(self,exc_type, exc_val, exc_tb ): self.csg.close() def export(exportList,filename): "called when freecad exports a file" with Drawexporter(filename) as exporter: exporter.export_objects(exportList) if 'tcl' not in FreeCAD.getExportType(): FreeCAD.addExportType("DRAWEXE script (*.tcl)","exportDRAWEXE")
self.csg.write('#Annotation %s\n' % (ob.Name)) v = ob.Position self.csg.write('dtext %s %s %s "%s"\n' % \ (f2s(v.x),f2s(v.y),f2s(v.z), '\\n'.join(\ ob.LabelText).encode(\ 'ascii', errors='xmlcharrefreplace'))) def export_objects(self, objlst, toplevel=True): self.write_header() toplevelobjs = [self.process_object(ob, toplevel=toplevel)\ for ob in objlst] names = [name for name in toplevelobjs if name is not False] self.csg.write('donly %s\n' % (' '.join(names))) self.export_annotations(objlst) #for ob in objlst: # self.process_object(ob,toplevel=toplevel) #self.write_displayonly(objlst) def __exit__(self, exc_type, exc_val, exc_tb): self.csg.close() def export(exportList, filename): "called when freecad exports a file" with Drawexporter(filename) as exporter: exporter.export_objects(exportList) if 'tcl' not in FreeCAD.getExportType(): FreeCAD.addExportType("DRAWEXE script (*.tcl)", "exportDRAWEXE")