def writeOutput( fileName, gcodeText = '' ): "Display a skeinviewed gcode file for a skeinforge gcode file, if 'Activate Skeinview' is selected." skeinviewPreferences = SkeinviewPreferences() preferences.getReadPreferences( skeinviewPreferences ) if skeinviewPreferences.activateSkeinview.value: gcodeText = gcodec.getTextIfEmpty( fileName, gcodeText ) displayFileGivenText( fileName, gcodeText, skeinviewPreferences )
def writeOutput( fileName, gcodeText = '' ): "Write a beholded gcode file for a skeinforge gcode file, if 'Activate Behold' is selected." beholdPreferences = BeholdPreferences() preferences.getReadPreferences( beholdPreferences ) if beholdPreferences.activateBehold.value: gcodeText = gcodec.getTextIfEmpty( fileName, gcodeText ) displayBeholdFileGivenText( fileName, gcodeText, beholdPreferences )
def writeOutput(fileName=""): "Export a gcode linear move file." fileName = interpret.getFirstTranslatorFileNameUnmodified(fileName) if fileName == "": return exportPreferences = ExportPreferences() preferences.getReadPreferences(exportPreferences) startTime = time.time() print("File " + gcodec.getSummarizedFilename(fileName) + " is being chain exported.") suffixFilename = fileName[: fileName.rfind(".")] + "_export." + exportPreferences.fileExtension.value gcodeText = gcodec.getGcodeFileText(fileName, "") procedures = consecution.getProcedures("export", gcodeText) gcodeText = consecution.getChainTextFromProcedures(fileName, procedures[:-1], gcodeText) if gcodeText == "": return analyze.writeOutput(suffixFilename, gcodeText) exportChainGcode = getCraftedTextFromText(gcodeText, exportPreferences) replacableExportChainGcode = None selectedPluginModule = getSelectedPluginModule(exportPreferences.exportPlugins) if selectedPluginModule == None: replacableExportChainGcode = exportChainGcode else: if selectedPluginModule.isReplacable(): replacableExportChainGcode = selectedPluginModule.getOutput(exportChainGcode) else: selectedPluginModule.writeOutput(suffixFilename, exportChainGcode) if replacableExportChainGcode != None: replacableExportChainGcode = getReplaced(replacableExportChainGcode) gcodec.writeFileText(suffixFilename, replacableExportChainGcode) print("The exported file is saved as " + gcodec.getSummarizedFilename(suffixFilename)) if exportPreferences.alsoSendOutputTo.value != "": if replacableExportChainGcode == None: replacableExportChainGcode = selectedPluginModule.getOutput(exportChainGcode) exec("print >> " + exportPreferences.alsoSendOutputTo.value + ", replacableExportChainGcode") print("It took " + str(int(round(time.time() - startTime))) + " seconds to export the file.")
def displayFileGivenText( fileName, gcodeText, skeinviewPreferences = None ): "Display a gcode file in a skeinview window given the text." if gcodeText == '': return if skeinviewPreferences == None: skeinviewPreferences = SkeinviewPreferences() preferences.getReadPreferences( skeinviewPreferences ) displayFileGivenTextPreferences( fileName, gcodeText, skeinviewPreferences )
def displayBeholdFileGivenText( fileName, gcodeText, beholdPreferences = None ): "Display a beholded gcode file for a gcode file." if gcodeText == '': return '' if beholdPreferences == None: beholdPreferences = BeholdPreferences() preferences.getReadPreferences( beholdPreferences ) displayBeholdFileGivenTextPreferences( fileName, gcodeText, beholdPreferences )
def writeOutput( fileName, gcodeText = '' ): "Write statistics for a skeinforge gcode file, if 'Write Statistics File for Skeinforge Chain' is selected." statisticPreferences = StatisticPreferences() preferences.getReadPreferences( statisticPreferences ) if gcodeText == '': gcodeText = gcodec.getFileText( fileName ) if statisticPreferences.activateStatistic.value: writeStatisticFileGivenText( fileName, gcodeText, statisticPreferences )
def writeOutput( fileName, gcodeText = '' ): "Write the exported version of a gcode file. This function, and getOutput are the only necessary functions in a skeinforge export plugin." binary16BytePreferences = Binary16BytePreferences() preferences.getReadPreferences( binary16BytePreferences ) gcodeText = gcodec.getGcodeFileText( fileName, gcodeText ) skeinOutput = getOutput( gcodeText, binary16BytePreferences ) suffixFilename = fileName[ : fileName.rfind( '.' ) ] + '.' + binary16BytePreferences.fileExtension.value writeFileText( suffixFilename, skeinOutput ) print( 'The converted file is saved as ' + getSummarizedFilename( suffixFilename ) )
def getCraftedTextFromFileName( fileName, chopPreferences = None ): "Chop a shape file." carving = svg_codec.getCarving( fileName ) if carving == None: return '' if chopPreferences == None: chopPreferences = ChopPreferences() preferences.getReadPreferences( chopPreferences ) return ChopSkein().getCarvedSVG( chopPreferences, carving, fileName )
def getCraftedTextFromFileName(fileName, carvePreferences=None): "Carve a shape file." carving = svg_codec.getCarving(fileName) if carving == None: return "" if carvePreferences == None: carvePreferences = CarvePreferences() preferences.getReadPreferences(carvePreferences) return CarveSkein().getCarvedSVG(carvePreferences, carving, fileName)
def getOutput( gcodeText, gcodeStepPreferences = None ): """Get the exported version of a gcode file. This function, and writeOutput are the only necessary functions in a skeinforge export plugin. If this plugin writes an output than should not be printed, an empty string should be returned.""" if gcodeText == '': return '' if gcodeStepPreferences == None: gcodeStepPreferences = GcodeStepPreferences() preferences.getReadPreferences( gcodeStepPreferences ) return GcodeStepSkein().getCraftedGcode( gcodeStepPreferences, gcodeText )
def statisticFile( fileName = '' ): "Write statistics for a gcode file. If no fileName is specified, write statistics for the first gcode file in this folder that is not modified." if fileName == '': unmodified = gcodec.getUnmodifiedGCodeFiles() if len( unmodified ) == 0: print( "There are no unmodified gcode files in this folder." ) return fileName = unmodified[ 0 ] statisticPreferences = StatisticPreferences() preferences.getReadPreferences( statisticPreferences ) writeStatisticFileGivenText( fileName, gcodec.getFileText( fileName ), statisticPreferences )
def arcSegmentFile( fileName = '' ): "Fillet a gcode linear move file into an arc segment linear move file. If no fileName is specified, arc segment the first unmodified gcode file in this folder." if fileName == '': unmodified = gcodec.getUnmodifiedGCodeFiles() if len( unmodified ) == 0: print( "There are no unmodified gcode files in this folder." ) return fileName = unmodified[ 0 ] filletPreferences = FilletPreferences() preferences.getReadPreferences( filletPreferences ) print( 'File ' + gcodec.getSummarizedFilename( fileName ) + ' is being arc segmented.' ) gcodeText = gcodec.getFileText( fileName ) if gcodeText == '': return gcodec.writeFileMessageSuffix( fileName, getArcSegmentGcode( filletPreferences, gcodeText ), 'The arc segment file is saved as ', '_fillet' )
def getCraftedTextFromText( text, prefacePreferences = None ): "Preface and convert an svg text." if gcodec.isProcedureDoneOrFileIsEmpty( text, 'preface' ): return text if prefacePreferences == None: prefacePreferences = preferences.getReadPreferences( PrefacePreferences() ) return PrefaceSkein().getCraftedGcode( prefacePreferences, text )
def writeOutput(fileName, gcodeText=""): "Write scalable vector graphics for a skeinforge gcode file, if activate vectorwrite is selected." vectorwritePreferences = preferences.getReadPreferences(VectorwritePreferences()) if not vectorwritePreferences.activateVectorwrite.value: return gcodeText = gcodec.getTextIfEmpty(fileName, gcodeText) writeGivenPreferences(fileName, gcodeText, vectorwritePreferences)
def getCraftedTextFromText( gcodeText, insetPreferences = None ): "Inset the preface gcode text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'inset' ): return gcodeText if insetPreferences == None: insetPreferences = preferences.getReadPreferences( InsetPreferences() ) return InsetSkein().getCraftedGcode( insetPreferences, gcodeText )
def getCraftedTextFromText( gcodeText, liftPreferences = None ): "Lift the preface gcode text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'lift' ): return gcodeText if liftPreferences == None: liftPreferences = preferences.getReadPreferences( LiftPreferences() ) if not liftPreferences.activateLift.value: return gcodeText return LiftSkein().getCraftedGcode( liftPreferences, gcodeText )
def getCraftedTextFromText( gcodeText, coolPreferences = None ): "Cool a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'cool' ): return gcodeText if coolPreferences == None: coolPreferences = preferences.getReadPreferences( CoolPreferences() ) if not coolPreferences.activateCool.value: return gcodeText return CoolSkein().getCraftedGcode( gcodeText, coolPreferences )
def getCraftedTextFromText( gcodeText, homePreferences = None ): "Home a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'home' ): return gcodeText if homePreferences == None: homePreferences = preferences.getReadPreferences( HomePreferences() ) if not homePreferences.activateHome.value: return gcodeText return HomeSkein().getCraftedGcode( gcodeText, homePreferences )
def getCraftedTextFromText(gcodeText, exportPreferences=None): "Export a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, "export"): return gcodeText if exportPreferences == None: exportPreferences = preferences.getReadPreferences(ExportPreferences()) if not exportPreferences.activateExport.value: return gcodeText return ExportSkein().getCraftedGcode(exportPreferences, gcodeText)
def getCraftedTextFromText( gcodeText, whittlePreferences = None ): "Whittle the preface gcode text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'whittle' ): return gcodeText if whittlePreferences == None: whittlePreferences = preferences.getReadPreferences( WhittlePreferences() ) if not whittlePreferences.activateWhittle.value: return gcodeText return WhittleSkein().getCraftedGcode( whittlePreferences, gcodeText )
def getCraftedTextFromText( gcodeText, oozebanePreferences = None ): "Oozebane a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'oozebane' ): return gcodeText if oozebanePreferences == None: oozebanePreferences = preferences.getReadPreferences( OozebanePreferences() ) if not oozebanePreferences.activateOozebane.value: return gcodeText return OozebaneSkein().getCraftedGcode( gcodeText, oozebanePreferences )
def getCraftedTextFromText( gcodeText, outsetPreferences = None ): "Outset the preface gcode text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'outset' ): return gcodeText if outsetPreferences == None: outsetPreferences = preferences.getReadPreferences( OutsetPreferences() ) if not outsetPreferences.activateOutset.value: return gcodeText return OutsetSkein().getCraftedGcode( outsetPreferences, gcodeText )
def getCraftedTextFromText( gcodeText, clipPreferences = None ): "Clip a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'clip' ): return gcodeText if clipPreferences == None: clipPreferences = preferences.getReadPreferences( ClipPreferences() ) if not clipPreferences.activateClip.value: return gcodeText return ClipSkein().getCraftedGcode( clipPreferences, gcodeText )
def getCraftedTextFromText( gcodeText, lashPreferences = None ): "Get a lashed gcode linear move text from text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'lash' ): return gcodeText if lashPreferences == None: lashPreferences = preferences.getReadPreferences( LashPreferences() ) if not lashPreferences.activateLash.value: return gcodeText return LashSkein().getCraftedGcode( gcodeText, lashPreferences )
def getCraftedTextFromText( gcodeText, flowPreferences = None ): "Flow a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'flow' ): return gcodeText if flowPreferences == None: flowPreferences = preferences.getReadPreferences( FlowPreferences() ) if not flowPreferences.activateFlow.value: return gcodeText return FlowSkein().getCraftedGcode( gcodeText, flowPreferences )
def getCraftedTextFromText( gcodeText, feedPreferences = None ): "Feed a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'feed' ): return gcodeText if feedPreferences == None: feedPreferences = preferences.getReadPreferences( FeedPreferences() ) if not feedPreferences.activateFeed.value: return gcodeText return FeedSkein().getCraftedGcode( gcodeText, feedPreferences )
def getCraftedTextFromText( gcodeText, unpausePreferences = None ): "Unpause a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'unpause' ): return gcodeText if unpausePreferences == None: unpausePreferences = preferences.getReadPreferences( UnpausePreferences() ) if not unpausePreferences.activateUnpause.value: return gcodeText return UnpauseSkein().getCraftedGcode( unpausePreferences, gcodeText )
def getCraftedTextFromText( gcodeText, stretchPreferences = None ): "Stretch a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'stretch' ): return gcodeText if stretchPreferences == None: stretchPreferences = preferences.getReadPreferences( StretchPreferences() ) if not stretchPreferences.activateStretch.value: return gcodeText return StretchSkein().getCraftedGcode( gcodeText, stretchPreferences )
def getCraftedTextFromText( gcodeText, jitterPreferences = None ): "Jitter a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'jitter' ): return gcodeText if jitterPreferences == None: jitterPreferences = preferences.getReadPreferences( JitterPreferences() ) if not jitterPreferences.activateJitter.value: return gcodeText return JitterSkein().getCraftedGcode( jitterPreferences, gcodeText )
def getCraftedTextFromText( gcodeText, wipePreferences = None ): "Wipe a gcode linear move text." if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'wipe' ): return gcodeText if wipePreferences == None: wipePreferences = preferences.getReadPreferences( WipePreferences() ) if not wipePreferences.activateWipe.value: return gcodeText return WipeSkein().getCraftedGcode( gcodeText, wipePreferences )