Example #1
0
def getOutput(fileName):
	'Export a gcode linear move file.'
	if fileName == '':
		return None
	repository = ExportRepository()
	settings.getReadRepository(repository)
	startTime = time.time()
	print('File ' + archive.getSummarizedFileName(fileName.encode('ascii', 'replace')) + ' is being chain exported.')
	gcodeText = gcodec.getGcodeFileText(fileName, '')
	procedures = skeinforge_craft.getProcedures('export', gcodeText)
	gcodeText = skeinforge_craft.getChainTextFromProcedures(fileName, procedures[: -1], gcodeText)
	if gcodeText == '':
		return None
	fileNamePenultimate = fileName[: fileName.rfind('.')] + '_penultimate.gcode'
	if repository.savePenultimateGcode.value:
		archive.writeFileText(fileNamePenultimate, gcodeText)
		print('The penultimate file is saved as ' + archive.getSummarizedFileName(fileNamePenultimate))
	exportGcode = getCraftedTextFromText(gcodeText, repository)
	replaceableExportGcode = None
	selectedPluginModule = getSelectedPluginModule(repository.exportPlugins)
	if selectedPluginModule is None:
		replaceableExportGcode = exportGcode
	else:
		if selectedPluginModule.globalIsReplaceable:
			replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
		#else:
		#	selectedPluginModule.writeOutput(outputFilename, exportGcode)
	if replaceableExportGcode is not None:
		replaceableExportGcode = getReplaceableExportGcode(repository.nameOfReplaceFile.value, replaceableExportGcode)
	if repository.alsoSendOutputTo.value != '':
		if replaceableExportGcode == None:
			replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
		sendOutputTo(repository.alsoSendOutputTo.value, replaceableExportGcode)
	print('It took %s to export the file.' % euclidean.getDurationString(time.time() - startTime))
	return replaceableExportGcode
Example #2
0
def forwardDeclartions():
	"Force some functions to be dynamic"
	mockRepository = settings.Repository()
	settings.addListsToRepository(None, None, mockRepository)
	settings.cancelRepository(mockRepository)
	settings.getDisplayedDialogFromConstructor(mockRepository)
	settings.getProfileBaseName(mockRepository)
	settings.getReadRepository(mockRepository)
	settings.readSettingsFromText(mockRepository, '')
	settings.saveRepository(mockRepository)
	settings.startMainLoopFromConstructor(mockRepository)
	settings.writeSettings(mockRepository)
	settings.writeSettingsPrintMessage(mockRepository)
	settings.StringSetting().getFromValue('', mockRepository, '')
	settings.StringSetting().getFromValueOnly('', mockRepository, '')
	settings.StringSetting().getFromValueOnlyAddToRepository('', mockRepository, '')
	settings.FileNameInput().getFromFileName([('','')], '', mockRepository, '')
	settings.GridVertical(0, 0).setExecutablesRepository(mockRepository)
	settings.HelpPage().setToNameRepository('', mockRepository)
	settings.HelpPage().getFromNameAfterWWW('', '', mockRepository)
	settings.HelpPage().getFromNameAfterHTTP('', '', mockRepository)
	settings.HelpPage().getFromNameSubName('', mockRepository, '')
	settings.HelpPageRepository.__init__(settings.HelpPageRepository(), mockRepository)
	settings.LabelDisplay().getFromName('', mockRepository)
	settings.LabelSeparator().getFromRepository(mockRepository)
	settings.MenuButtonDisplay().getFromName('', mockRepository)
	settings.Radio().getFromRadio(None, '', mockRepository, False)
	settings.WindowPosition().getFromValue(mockRepository, '')
	settings.RepositoryDialog(mockRepository, None).addButtons(mockRepository, None)
	settings.RepositoryDialog.__init__(RepositoryDialog(), mockRepository, None)
	gcodec.Plugins.add(settings.Plugin())
	Tkinter.Button.__init__(None, {})
Example #3
0
def getOutput( gcodeText, gcodeStepRepository = None ):
	'Get the exported version of a gcode file.'
	if gcodeText == '':
		return ''
	if gcodeStepRepository == None:
		gcodeStepRepository = GcodeStepRepository()
		settings.getReadRepository( gcodeStepRepository )
	return GcodeStepSkein().getCraftedGcode( gcodeStepRepository, gcodeText )
Example #4
0
def getOutput( gcodeText, gcodeStepRepository = None ):
	"Get the exported version of a gcode file.  This function, isReplaceable and if it's output is not replaceable, writeOutput are the only necessary functions in a skeinforge export plugin."
	if gcodeText == '':
		return ''
	if gcodeStepRepository == None:
		gcodeStepRepository = GcodeStepRepository()
		settings.getReadRepository( gcodeStepRepository )
	return GcodeStepSkein().getCraftedGcode( gcodeStepRepository, gcodeText )
Example #5
0
def getOutput( gcodeText, binary16ByteRepository = None ):
	'Get the exported version of a gcode file.'
	if gcodeText == '':
		return ''
	if binary16ByteRepository == None:
		binary16ByteRepository = Binary16ByteRepository()
		settings.getReadRepository( binary16ByteRepository )
	return Binary16ByteSkein().getCraftedGcode( gcodeText, binary16ByteRepository )
def getOutput(gcodeText, repository=None):
	'Get the exported version of a gcode file.'
	if gcodeText == '':
		return ''
	if repository == None:
		repository = GcodeTimeSegmentRepository()
		settings.getReadRepository(repository)
	return GcodeTimeSegmentSkein().getCraftedGcode(gcodeText, repository)
Example #7
0
def getOutput(gcodeText, binary16ByteRepository=None):
    "Get the exported version of a gcode file.  This function, isReplaceable and if it's output is not replaceable, writeOutput are the only necessary functions in a skeinforge export plugin."
    if gcodeText == "":
        return ""
    if binary16ByteRepository == None:
        binary16ByteRepository = Binary16ByteRepository()
        settings.getReadRepository(binary16ByteRepository)
    return Binary16ByteSkein().getCraftedGcode(gcodeText, binary16ByteRepository)
Example #8
0
def writeOutput( fileName, gcodeText = ''):
	"Write the exported version of a gcode file."
	binary16ByteRepository = Binary16ByteRepository()
	settings.getReadRepository( binary16ByteRepository )
	gcodeText = gcodec.getGcodeFileText(fileName, gcodeText)
	skeinOutput = getOutput( gcodeText, binary16ByteRepository )
	suffixFileName = fileName[ : fileName.rfind('.') ] + '.' + binary16ByteRepository.fileExtension.value
	archive.writeFileText( suffixFileName, skeinOutput )
	print('The converted file is saved as ' + archive.getSummarizedFileName(suffixFileName) )
def writeOutput( fileName, gcodeText = ''):
	"Write the exported version of a gcode file."
	gcodeText = gcodec.getGcodeFileText(fileName, gcodeText)
	repository = GcodeTimeSegmentRepository()
	settings.getReadRepository(repository)
	output = getOutput(gcodeText, repository)
	suffixFileName = fileName[ : fileName.rfind('.') ] + '_gcode_time_segment.gcode'
	archive.writeFileText( suffixFileName, output )
	print('The converted file is saved as ' + archive.getSummarizedFileName(suffixFileName) )
Example #10
0
def writeOutput(fileName, shouldAnalyze=True):
    "Export a gcode linear move file."
    if fileName == "":
        return None
    repository = ExportRepository()
    settings.getReadRepository(repository)
    startTime = time.time()
    print("File " + archive.getSummarizedFileName(fileName) + " is being chain exported.")
    fileNameSuffix = fileName[: fileName.rfind(".")]
    if repository.addExportSuffix.value:
        fileNameSuffix += "_export"
    gcodeText = gcodec.getGcodeFileText(fileName, "")

    if repository.addProfileExtension.value:
        profileName = skeinforge_profile.getProfileName(skeinforge_profile.getCraftTypeName())
        if profileName:
            fileNameSuffix += "." + string.replace(profileName, " ", "_")
    if repository.addDescriptiveExtension.value:
        fileNameSuffix += getDescriptiveExtension(gcodeText)
    if repository.addTimestampExtension.value:
        fileNameSuffix += "." + getFirstValue(gcodeText, "(<timeStampPreface>")
    fileNameSuffix += "." + repository.fileExtension.value
    procedures = skeinforge_craft.getProcedures("export", gcodeText)
    gcodeText = skeinforge_craft.getChainTextFromProcedures(fileName, procedures[:-1], gcodeText)
    if gcodeText == "":
        return None
    fileNamePenultimate = fileName[: fileName.rfind(".")] + "_penultimate.gcode"
    filePenultimateWritten = False
    if repository.savePenultimateGcode.value:
        archive.writeFileText(fileNamePenultimate, gcodeText)
        filePenultimateWritten = True
        print("The penultimate file is saved as " + archive.getSummarizedFileName(fileNamePenultimate))
    exportGcode = getCraftedTextFromText(gcodeText, repository)
    window = None
    if shouldAnalyze:
        window = skeinforge_analyze.writeOutput(
            fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText
        )
    replaceableExportGcode = None
    selectedPluginModule = getSelectedPluginModule(repository.exportPlugins)
    if selectedPluginModule == None:
        replaceableExportGcode = exportGcode
    else:
        if selectedPluginModule.globalIsReplaceable:
            replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
        else:
            selectedPluginModule.writeOutput(fileNameSuffix, exportGcode)
    if replaceableExportGcode != None:
        replaceableExportGcode = getReplaceableExportGcode(repository.nameOfReplaceFile.value, replaceableExportGcode)
        archive.writeFileText(fileNameSuffix, replaceableExportGcode)
        print("The exported file is saved as " + archive.getSummarizedFileName(fileNameSuffix))
    if repository.alsoSendOutputTo.value != "":
        if replaceableExportGcode == None:
            replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
        sendOutputTo(repository.alsoSendOutputTo.value, replaceableExportGcode)
    print("It took %s to export the file." % euclidean.getDurationString(time.time() - startTime))
    return window
def writeOutput(fileName, shouldAnalyze=True):
	'Export a gcode linear move file.'
	if fileName == '':
		return None
	repository = ExportRepository()
	settings.getReadRepository(repository)
	startTime = time.time()
	print('File ' + archive.getSummarizedFileName(fileName) + ' is being chain exported.')
	fileNameSuffix = fileName[: fileName.rfind('.')]
	if repository.addExportSuffix.value:
		fileNameSuffix += '_export'
	gcodeText = gcodec.getGcodeFileText(fileName, '')
	procedures = skeinforge_craft.getProcedures('export', gcodeText)
	gcodeText = skeinforge_craft.getChainTextFromProcedures(fileName, procedures[: -1], gcodeText)
	if gcodeText == '':
		return None
	if repository.addProfileExtension.value:
		fileNameSuffix += '.' + getFirstValue(gcodeText, '(<profileName>')
	if repository.addDescriptiveExtension.value:
		print(  'getDescriptiveExtension(gcodeText)')
		print(  getDescriptiveExtension(gcodeText))
		fileNameSuffix += getDescriptiveExtension(gcodeText)
	if repository.addTimestampExtension.value:
		fileNameSuffix += '.' + getFirstValue(gcodeText, '(<timeStampPreface>')
	fileNameSuffix += '.' + repository.fileExtension.value
	fileNamePenultimate = fileName[: fileName.rfind('.')] + '_penultimate.gcode'
	filePenultimateWritten = False
	if repository.savePenultimateGcode.value:
		archive.writeFileText(fileNamePenultimate, gcodeText)
		filePenultimateWritten = True
		print('The penultimate file is saved as ' + archive.getSummarizedFileName(fileNamePenultimate))
	exportGcode = getCraftedTextFromText(gcodeText, repository)
	window = None
	if shouldAnalyze and repository.analyzeGcode.value:
		window = skeinforge_analyze.writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText)
	replaceableExportGcode = None
	selectedPluginModule = getSelectedPluginModule(repository.exportPlugins)
	if selectedPluginModule == None:
		replaceableExportGcode = exportGcode
	else:
		if selectedPluginModule.globalIsReplaceable:
			replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
		else:
			selectedPluginModule.writeOutput(fileNameSuffix, exportGcode)
	if replaceableExportGcode != None:
		replaceableExportGcode = getReplaceableExportGcode(repository.nameOfReplaceFile.value, replaceableExportGcode)
		archive.writeFileText( fileNameSuffix, replaceableExportGcode )
		print('The exported file is saved as ' + archive.getSummarizedFileName(fileNameSuffix))
	if repository.alsoSendOutputTo.value != '':
		if replaceableExportGcode == None:
			replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
		sendOutputTo(repository.alsoSendOutputTo.value, replaceableExportGcode)
	print('It took %s to export the file.' % euclidean.getDurationString(time.time() - startTime))
	return window
Example #12
0
def getCraftedText( fileName, gcodeText = '', repository=None):
	"Get chopped text."
	if fileName.endswith('.svg'):
		gcodeText = archive.getTextIfEmpty(fileName, gcodeText)
		if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'chop'):
			return gcodeText
	carving = svg_writer.getCarving(fileName)
	if carving == None:
		return ''
	if repository == None:
		repository = ChopRepository()
		settings.getReadRepository(repository)
	return ChopSkein().getCarvedSVG( carving, fileName, repository )
Example #13
0
def getCraftedText(fileName, gcodeText="", repository=None):
    "Get carved text."
    if fileName.endswith(".svg"):
        gcodeText = archive.getTextIfEmpty(fileName, gcodeText)
        if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, "carve"):
            return gcodeText
    carving = svg_writer.getCarving(fileName)
    if carving is None:
        return ""
    if repository is None:
        repository = CarveRepository()
        settings.getReadRepository(repository)
    return CarveSkein().getCarvedSVG(carving, fileName, repository)
Example #14
0
def getCraftedText( fileName, gcodeText = '', repository = None ):
	"Get cleaved text."
	if gcodec.getHasSuffix( fileName, '.svg' ):
		gcodeText = gcodec.getTextIfEmpty( fileName, gcodeText )
		if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'cleave' ):
			return gcodeText
	carving = svg_codec.getCarving( fileName )
	if carving == None:
		return ''
	if repository == None:
		repository = CleaveRepository()
		settings.getReadRepository( repository )
	return CleaveSkein().getCarvedSVG( carving, fileName, repository )
Example #15
0
def writeOutput( fileName = ''):
	"Carve a GNU Triangulated Surface file."
	startTime = time.time()
	print('File ' + gcodec.getSummarizedFileName(fileName) + ' is being carved.')
	repository = CarveRepository()
	settings.getReadRepository(repository)
	carveGcode = getCraftedText( fileName, '', repository )
	if carveGcode == '':
		return
	suffixFileName = gcodec.getFilePathWithUnderscoredBasename( fileName, '_carve.svg')
	gcodec.writeFileText( suffixFileName, carveGcode )
	print('The carved file is saved as ' + gcodec.getSummarizedFileName(suffixFileName) )
	print('It took %s to carve the file.' % euclidean.getDurationString( time.time() - startTime ) )
	settings.openSVGPage( suffixFileName, repository.svgViewer.value )
Example #16
0
def writeOutput(fileName, shouldAnalyze=True):
    "Carve a GNU Triangulated Surface file."
    startTime = time.time()
    print("File " + archive.getSummarizedFileName(fileName) + " is being carved.")
    repository = CarveRepository()
    settings.getReadRepository(repository)
    carveGcode = getCraftedText(fileName, "", repository)
    if carveGcode == "":
        return
    suffixFileName = archive.getFilePathWithUnderscoredBasename(fileName, "_carve.svg")
    archive.writeFileText(suffixFileName, carveGcode)
    print("The carved file is saved as " + archive.getSummarizedFileName(suffixFileName))
    print("It took %s to carve the file." % euclidean.getDurationString(time.time() - startTime))
    if shouldAnalyze:
        settings.openSVGPage(suffixFileName, repository.svgViewer.value)
Example #17
0
def writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText=""):
    "Write a commented gcode file for a skeinforge gcode file, if 'Write Commented File for Skeinforge Chain' is selected."
    repository = settings.getReadRepository(CommentRepository())
    if gcodeText == "":
        gcodeText = archive.getFileText(fileNameSuffix)
    if repository.activateComment.value:
        getWindowAnalyzeFileGivenText(fileNameSuffix, gcodeText)
Example #18
0
def getCraftedTextFromText(gcodeText, repository=None):
	"Inset the preface gcode text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'inset'):
		return gcodeText
	if repository == None:
		repository = settings.getReadRepository( InsetRepository() )
	return InsetSkein().getCraftedGcode(gcodeText, repository)
Example #19
0
def writeOutput( fileName, fileNameSuffix, gcodeText = ''):
	"Display a skeinlayered gcode file for a skeinforge gcode file, if 'Activate Skeinlayer' is selected."
	repository = settings.getReadRepository( SkeinlayerRepository() )
	if repository.activateSkeinlayer.value:
		gcodeText = archive.getTextIfEmpty( fileNameSuffix, gcodeText )
		window = getWindowAnalyzeFileGivenText( fileNameSuffix, gcodeText, repository )
		tableau.startMainLoopFromWindow(window)
Example #20
0
def getCraftedTextFromText( text, repository = None ):
	"Preface and convert an svg text."
	if gcodec.isProcedureDoneOrFileIsEmpty( text, 'preface'):
		return text
	if repository == None:
		repository = settings.getReadRepository(PrefaceRepository())
	return PrefaceSkein().getCraftedGcode(repository, text)
Example #21
0
def writeOutput( fileName, fileNameSuffix, gcodeText = ''):
	"Write scalable vector graphics for a skeinforge gcode file, if activate vectorwrite is selected."
	repository = settings.getReadRepository( VectorwriteRepository() )
	if not repository.activateVectorwrite.value:
		return
	gcodeText = archive.getTextIfEmpty( fileNameSuffix, gcodeText )
	getWindowAnalyzeFileGivenText( fileNameSuffix, gcodeText, repository )
Example #22
0
def getWindowAnalyzeFile(fileName, repository=None):
	'Open penultimate file with outside program.'
	print('')
	if repository == None:
		repository = settings.getReadRepository(ClairvoyanceRepository())
	gcodeProgram = repository.gcodeProgram.value
	if gcodeProgram == '':
		print('Warning, nothing will be done in getWindowAnalyzeFile in clairvoyance because the Gcode Program field is empty.')
		print('')
		return
	if gcodeProgram == 'webbrowser':
		print('Clairvoyance will use a web browser to open the file:')
		print(archive.getSummarizedFileName(fileName))
		settings.openWebPage(fileName)
		return
	try:
		subprocess.Popen([gcodeProgram, fileName])
		print('Clairvoyance has opened the file:')
		print(archive.getSummarizedFileName(fileName))
		print('with the gcode program:')
		print(gcodeProgram)
	except:
		print('Warning, getWindowAnalyzeFile in clairvoyance could not open the file:')
		print(fileName)
		print('with the gcode program:')
		print(gcodeProgram)
		print('Error traceback is the following:')
		traceback.print_exc(file=sys.stdout)
		print('')
Example #23
0
def writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText=''):
	'Write scalable vector graphics for a skeinforge gcode file, if activate synopsis is selected.'
	repository = settings.getReadRepository( SynopsisRepository() )
	if not repository.activateSynopsis.value:
		return
	gcodeText = archive.getTextIfEmpty( fileNameSuffix, gcodeText )
	getWindowAnalyzeFileGivenText( fileNameSuffix, gcodeText, repository )
Example #24
0
def writeOutput( fileName, fileNameSuffix, gcodeText = '' ):
	"Write a commented gcode file for a skeinforge gcode file, if 'Write Commented File for Skeinforge Chain' is selected."
	repository = settings.getReadRepository( CommentRepository() )
	if gcodeText == '':
		gcodeText = gcodec.getFileText( fileNameSuffix )
	if repository.activateComment.value:
		analyzeFileGivenText( fileNameSuffix, gcodeText )
Example #25
0
def writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText=''):
	'Open penultimate file with outside program given text.'
	repository = settings.getReadRepository(ClairvoyanceRepository())
	if repository.activateClairvoyance.value:
		if not filePenultimateWritten:
			archive.writeFileText(fileNamePenultimate, gcodeText)
		getWindowAnalyzeFile(fileNamePenultimate, repository)
Example #26
0
def getWindowAnalyzeFile(fileName):
	"Get file interpretion."
	startTime = time.time()
	carving = getCarving(fileName)
	if carving is None:
		return None
	interpretGcode = str( carving )
	if interpretGcode == '':
		return None
	repository = settings.getReadRepository( InterpretRepository() )
	if repository.printInterpretion.value:
		print( interpretGcode )
	suffixFileName = fileName[ : fileName.rfind('.') ] + '_interpret.' + carving.getInterpretationSuffix()
	suffixDirectoryName = os.path.dirname(suffixFileName)
	suffixReplacedBaseName = os.path.basename(suffixFileName).replace(' ', '_')
	suffixFileName = os.path.join( suffixDirectoryName, suffixReplacedBaseName )
	archive.writeFileText( suffixFileName, interpretGcode )
	print('The interpret file is saved as ' + archive.getSummarizedFileName(suffixFileName) )
	print('It took %s to interpret the file.' % euclidean.getDurationString( time.time() - startTime ) )
	textProgram = repository.textProgram.value
	if textProgram == '':
		return None
	if textProgram == 'webbrowser':
		settings.openWebPage(suffixFileName)
		return None
	textFilePath = '"' + os.path.normpath(suffixFileName) + '"' # " to send in file name with spaces
	shellCommand = textProgram + ' ' + textFilePath
	print('Sending the shell command:')
	print(shellCommand)
	commandResult = os.system(shellCommand)
	if commandResult != 0:
		print('It may be that the system could not find the %s program.' % textProgram )
		print('If so, try installing the %s program or look for another one, like Open Office which can be found at:' % textProgram )
		print('http://www.openoffice.org/')
		print('Open office writer can then be started from the command line with the command "soffice -writer".')
Example #27
0
def writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText=''):
	"""Write statistics for a skeinforge gcode file, if 'Write Statistics File for Skeinforge Chain' is selected."""
	repository = settings.getReadRepository( StatisticRepository() )
	if gcodeText == '':
		gcodeText = archive.getFileText( fileNameSuffix )
	if repository.activateStatistic.value:
		getWindowAnalyzeFileGivenText( fileNameSuffix, gcodeText, repository )
Example #28
0
def writeOutput( fileName, gcodeText = '' ):
	"Write statistics for a skeinforge gcode file, if 'Write Statistics File for Skeinforge Chain' is selected."
	repository = settings.getReadRepository( StatisticRepository() )
	if gcodeText == '':
		gcodeText = gcodec.getFileText( fileName )
	if repository.activateStatistic.value:
		analyzeFileGivenText( fileName, gcodeText, repository )
Example #29
0
def analyzeFileGivenText( fileName, gcodeText, repository = None ):
	"Display a gcode file in a skeinview window given the text."
	if gcodeText == '':
		return
	if repository == None:
		repository = settings.getReadRepository( SkeinviewRepository() )
	skeinWindow = getWindowGivenTextRepository( fileName, gcodeText, repository )
	skeinWindow.updateDeiconify()
Example #30
0
	def writeOutput( self, fileName = ''):
		"Cleave a GNU Triangulated Surface file.  If no fileName is specified, cleave the first GNU Triangulated Surface file in this folder."
		startTime = time.time()
		print('File ' + gcodec.getSummarizedFileName(fileName) + ' is being cleaved.')
		repository = CleaveRepository()
		settings.getReadRepository(repository)
		cleaveGcode = self.getCraftedText( fileName, '', repository )
		if cleaveGcode == '':
			return
		suffixFileName = fileName[ : fileName.rfind('.') ] + '_cleave.svg'
		suffixDirectoryName = os.path.dirname(suffixFileName)
		suffixReplacedBaseName = os.path.basename(suffixFileName).replace(' ', '_')
		suffixFileName = os.path.join( suffixDirectoryName, suffixReplacedBaseName )
		gcodec.writeFileText( suffixFileName, cleaveGcode )
		print('The cleaved file is saved as ' + gcodec.getSummarizedFileName(suffixFileName) )
		print('It took %s to cleave the file.' % euclidean.getDurationString( time.time() - startTime ) )
		settings.openSVGPage( suffixFileName, repository.svgViewer.value )
Example #31
0
def getCraftedTextFromText( gcodeText, hopRepository = None ):
	"Hop a gcode linear move text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'hop' ):
		return gcodeText
	if hopRepository == None:
		hopRepository = settings.getReadRepository( HopRepository() )
	if not hopRepository.activateHop.value:
		return gcodeText
	return HopSkein().getCraftedGcode( gcodeText, hopRepository )
Example #32
0
def getCraftedTextFromText(gcodeText, repository=None):
    "Outset the preface gcode text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'outset'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(OutsetRepository())
    if not repository.activateOutset.value:
        return gcodeText
    return OutsetSkein().getCraftedGcode(gcodeText, repository)
Example #33
0
def writeOutput(fileName, shouldAnalyze=True):
	"Cleave a GNU Triangulated Surface file."
	startTime = time.time()
	print('File ' + archive.getSummarizedFileName(fileName) + ' is being cleaved.')
	repository = CleaveRepository()
	settings.getReadRepository(repository)
	cleaveGcode = getCraftedText( fileName, '', repository )
	if cleaveGcode == '':
		return
	suffixFileName = fileName[ : fileName.rfind('.') ] + '_cleave.svg'
	suffixDirectoryName = os.path.dirname(suffixFileName)
	suffixReplacedBaseName = os.path.basename(suffixFileName).replace(' ', '_')
	suffixFileName = os.path.join( suffixDirectoryName, suffixReplacedBaseName )
	archive.writeFileText( suffixFileName, cleaveGcode )
	print('The cleaved file is saved as ' + archive.getSummarizedFileName(suffixFileName) )
	print('It took %s to cleave the file.' % euclidean.getDurationString( time.time() - startTime ) )
	if shouldAnalyze:
		settings.openSVGPage( suffixFileName, repository.svgViewer.value )
Example #34
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Limit a gcode text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'limit'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(LimitRepository())
    if not repository.activateLimit.value:
        return gcodeText
    return LimitSkein().getCraftedGcode(gcodeText, repository)
Example #35
0
def getCraftedTextFromText( gcodeText, liftRepository = None ):
	"Lift the preface gcode text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'lift'):
		return gcodeText
	if liftRepository == None:
		liftRepository = settings.getReadRepository( LiftRepository() )
	if not liftRepository.activateLift.value:
		return gcodeText
	return LiftSkein().getCraftedGcode( liftRepository, gcodeText )
Example #36
0
def getCraftedTextFromText( gcodeText, towerRepository = None ):
	"Tower a gcode linear move text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'tower'):
		return gcodeText
	if towerRepository == None:
		towerRepository = settings.getReadRepository( TowerRepository() )
	if not towerRepository.activateTower.value:
		return gcodeText
	return TowerSkein().getCraftedGcode( gcodeText, towerRepository )
Example #37
0
def getCraftedTextFromText( gcodeText, splodgeRepository = None ):
	"Splodge a gcode linear move text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'splodge'):
		return gcodeText
	if splodgeRepository == None:
		splodgeRepository = settings.getReadRepository( SplodgeRepository() )
	if not splodgeRepository.activateSplodge.value:
		return gcodeText
	return SplodgeSkein().getCraftedGcode( gcodeText, splodgeRepository )
Example #38
0
def getCraftedTextFromText(fileName, svgText, repository=None):
    "Bottom and convert an svgText."
    if gcodec.isProcedureDoneOrFileIsEmpty(svgText, 'bottom'):
        return svgText
    if repository == None:
        repository = settings.getReadRepository(BottomRepository())
    if not repository.activateBottom.value:
        return svgText
    return BottomSkein().getCraftedGcode(fileName, repository, svgText)
Example #39
0
def getCraftedTextFromText(gcodeText, whittleRepository=None):
    "Whittle the preface gcode text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'whittle'):
        return gcodeText
    if whittleRepository == None:
        whittleRepository = settings.getReadRepository(WhittleRepository())
    if not whittleRepository.activateWhittle.value:
        return gcodeText
    return WhittleSkein().getCraftedGcode(whittleRepository, gcodeText)
Example #40
0
def getCraftedTextFromText(gcodeText, repository=None):
    "Unpause a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'unpause'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(UnpauseRepository())
    if not repository.activateUnpause.value:
        return gcodeText
    return UnpauseSkein().getCraftedGcode(gcodeText, repository)
Example #41
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Skirt the fill text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'skirt'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(SkirtRepository())
    if repository.skirtLineCount.value < 1:
        return gcodeText
    return SkirtSkein().getCraftedGcode(gcodeText, repository)
Example #42
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Dimension a gcode text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'dimension'):
        return gcodeText
    if repository is None:
        repository = settings.getReadRepository(DimensionRepository())
    if not repository.activateDimension.value:
        return gcodeText
    return DimensionSkein().getCraftedGcode(gcodeText, repository)
Example #43
0
def getCraftedTextFromText(fileName, svgText, repository=None):
    "Scale and convert an svgText."
    if gcodec.isProcedureDoneOrFileIsEmpty(svgText, 'scale'):
        return svgText
    if repository == None:
        repository = settings.getReadRepository(ScaleRepository())
    if repository.activateScale.value:
        return ScaleSkein().getCraftedGcode(fileName, repository, svgText)
    return svgText
Example #44
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Mill a gcode linear move gcodeText.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'mill'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(MillRepository())
    if not repository.activateMill.value:
        return gcodeText
    return MillSkein().getCraftedGcode(gcodeText, repository)
Example #45
0
def getCraftedTextFromText(gcodeText, repository=None):
    "Home a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'home'):
        return gcodeText
    if repository is None:
        repository = settings.getReadRepository(HomeRepository())
    if not repository.activateHome.value:
        return gcodeText
    return HomeSkein().getCraftedGcode(gcodeText, repository)
Example #46
0
def getCraftedTextFromText(gcodeText, stretchRepository=None):
    "Stretch a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'stretch'):
        return gcodeText
    if stretchRepository == None:
        stretchRepository = settings.getReadRepository(StretchRepository())
    if not stretchRepository.activateStretch.value:
        return gcodeText
    return StretchSkein().getCraftedGcode(gcodeText, stretchRepository)
Example #47
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Multiply the fill text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'multiply'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(MultiplyRepository())
    if not repository.activateMultiply.value:
        return gcodeText
    return MultiplySkein().getCraftedGcode(gcodeText, repository)
Example #48
0
def getCraftedTextFromText(gcodeText, repository=None):
    "Clip a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'clip'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(ClipRepository())
    if not repository.activateClip.value:
        return gcodeText
    return ClipSkein().getCraftedGcode(gcodeText, repository)
Example #49
0
def getCraftedTextFromText( gcodeText, oozebaneRepository = None ):
	"Oozebane a gcode linear move text."
	if gcodec.isProcedureDoneOrFileIsEmpty( gcodeText, 'oozebane'):
		return gcodeText
	if oozebaneRepository is None:
		oozebaneRepository = settings.getReadRepository( OozebaneRepository() )
	if not oozebaneRepository.activateOozebane.value:
		return gcodeText
	return OozebaneSkein().getCraftedGcode( gcodeText, oozebaneRepository )
Example #50
0
def getCraftedTextFromText(gcodeText, repository=None):
    "Alternate shell text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'altshell'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(AltshellRepository())
    if not repository.activateAltshell.value:
        return gcodeText
    return AltshellSkein().getCraftedGcode(gcodeText, repository)
Example #51
0
def getCraftedTextFromText(gcodeText, repository=None):
	"Feed a gcode linear move text."
	if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'feed'):
		return gcodeText
	if repository == None:
		repository = settings.getReadRepository(FeedRepository())
	if not repository.activateFeed.value:
		return gcodeText
	return FeedSkein().getCraftedGcode(gcodeText, repository)
Example #52
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Widen the preface gcode text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'widen'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(WidenRepository())
    if not repository.activateWiden.value:
        return gcodeText
    return WidenSkein().getCraftedGcode(gcodeText, repository)
Example #53
0
def getCraftedTextFromText(gcodeText, repository=None):
	'Dwindle a gcode linear move text.'
	if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'dwindle'):
		return gcodeText
	if repository == None:
		repository = settings.getReadRepository(DwindleRepository())
	if not repository.activateDwindle.value:
		return gcodeText
	return DwindleSkein().getCraftedGcode(gcodeText, repository)
Example #54
0
def getCraftedTextFromText(gcodeText, combRepository=None):
    "Comb a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'comb'):
        return gcodeText
    if combRepository == None:
        combRepository = settings.getReadRepository(CombRepository())
    if not combRepository.activateComb.value:
        return gcodeText
    return CombSkein().getCraftedGcode(combRepository, gcodeText)
Example #55
0
def getCraftedTextFromText(gcodeText, reversalRepository=None):
    "Reversal a gcode linear move text."
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'reversal'):
        return gcodeText
    if reversalRepository == None:
        reversalRepository = settings.getReadRepository(ReversalRepository())
    if not reversalRepository.activateReversal.value:
        return gcodeText
    return ReversalSkein().getCraftedGcode(gcodeText, reversalRepository)
Example #56
0
def getCraftedTextFromText(gcodeText, jitterRepository=None):
    'Jitter a gcode linear move text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'jitter'):
        return gcodeText
    if jitterRepository is None:
        jitterRepository = settings.getReadRepository(JitterRepository())
    if not jitterRepository.activateJitter.value:
        return gcodeText
    return JitterSkein().getCraftedGcode(jitterRepository, gcodeText)
Example #57
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Export a gcode linear move text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'export'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(ExportRepository())
    if not repository.activateExport.value:
        return gcodeText
    return ExportSkein().getCraftedGcode(repository, gcodeText)
Example #58
0
def getWindowAnalyzeFileGivenText(fileName, gcodeText, repository=None):
    "Display a gcode file in a skeinlayer window given the text."
    if gcodeText == '':
        return None
    if repository == None:
        repository = settings.getReadRepository(SkeinlayerRepository())
    skeinWindow = getWindowGivenTextRepository(fileName, gcodeText, repository)
    skeinWindow.updateDeiconify()
    return skeinWindow
Example #59
0
def getCraftedTextFromText(gcodeText, repository=None):
    'Skin a gcode linear move text.'
    if gcodec.isProcedureDoneOrFileIsEmpty(gcodeText, 'skin'):
        return gcodeText
    if repository == None:
        repository = settings.getReadRepository(SkinRepository())
    if not repository.activateSkin.value:
        return gcodeText
    return SkinSkein().getCraftedGcode(gcodeText, repository)
Example #60
0
def writeOutput(fileName,
                fileNamePenultimate,
                fileNameSuffix,
                filePenultimateWritten,
                gcodeText=''):
    "Write file interpretation, if activate interpret is selected."
    repository = settings.getReadRepository(getNewRepository())
    if repository.activateInterpret.value:
        fabmetheus_interpret.getWindowAnalyzeFile(fileName)