コード例 #1
0
ファイル: Exporter.py プロジェクト: DeepSOIC/Part-o-magic
 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'
コード例 #2
0
 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'
コード例 #3
0
                            (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")
コード例 #4
0
ファイル: exportDRAWEXE.py プロジェクト: microelly2/FreeCAD-1
                    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")