Example #1
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.extrusionPerimeterWidthOverThickness = preferences.FloatPreference(
     ).getFromValue('Extrusion Perimeter Width over Thickness (ratio):',
                    1.8)
     self.archive.append(self.extrusionPerimeterWidthOverThickness)
     self.fileNameInput = preferences.Filename().getFromFilename(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File to be Insetted', '')
     self.archive.append(self.fileNameInput)
     self.infillPerimeterOverlap = preferences.FloatPreference(
     ).getFromValue('Infill Perimeter Overlap (ratio):', 0.05)
     self.archive.append(self.infillPerimeterOverlap)
     self.infillPerimeterOverlapMethodOfCalculationLabel = preferences.LabelDisplay(
     ).getFromName('Infill Perimeter Overlap Method of Calculation: ')
     self.archive.append(
         self.infillPerimeterOverlapMethodOfCalculationLabel)
     infillRadio = []
     self.perimeterInfillPreference = preferences.Radio().getFromRadio(
         'Calculate Overlap from Perimeter and Infill', infillRadio, True)
     self.archive.append(self.perimeterInfillPreference)
     self.perimeterPreference = preferences.Radio().getFromRadio(
         'Calculate Overlap from Perimeter Only', infillRadio, False)
     self.archive.append(self.perimeterPreference)
     self.startAtHome = preferences.BooleanPreference().getFromValue(
         'Start at Home', False)
     self.archive.append(self.startAtHome)
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.executeTitle = 'Inset'
     self.saveTitle = 'Save Preferences'
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge_tools.inset.html')
Example #2
0
	def __init__( self ):
		"Set the default preferences, execute title & preferences fileName."
		#Set the default preferences.
		self.archive = []
		self.activateFillet = preferences.BooleanPreference().getFromValue( 'Activate Fillet', True )
		self.archive.append( self.activateFillet )
		self.filletProcedureChoiceLabel = preferences.LabelDisplay().getFromName( 'Fillet Procedure Choice: ' )
		self.archive.append( self.filletProcedureChoiceLabel )
		filletRadio = []
		self.arcPoint = preferences.Radio().getFromRadio( 'Arc Point', filletRadio, False )
		self.archive.append( self.arcPoint )
		self.arcRadius = preferences.Radio().getFromRadio( 'Arc Radius', filletRadio, False )
		self.archive.append( self.arcRadius )
		self.arcSegment = preferences.Radio().getFromRadio( 'Arc Segment', filletRadio, False )
		self.archive.append( self.arcSegment )
		self.bevel = preferences.Radio().getFromRadio( 'Bevel', filletRadio, True )
		self.archive.append( self.bevel )
		self.cornerFeedrateOverOperatingFeedrate = preferences.FloatPreference().getFromValue( 'Corner Feedrate over Operating Feedrate (ratio):', 1.0 )
		self.archive.append( self.cornerFeedrateOverOperatingFeedrate )
		self.filletRadiusOverExtrusionWidth = preferences.FloatPreference().getFromValue( 'Fillet Radius over Extrusion Width (ratio):', 0.35 )
		self.archive.append( self.filletRadiusOverExtrusionWidth )
		self.fileNameInput = preferences.Filename().getFromFilename( interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File to be Filleted', '' )
		self.archive.append( self.fileNameInput )
		self.reversalSlowdownDistanceOverExtrusionWidth = preferences.FloatPreference().getFromValue( 'Reversal Slowdown Distance over Extrusion Width (ratio):', 0.5 )
		self.archive.append( self.reversalSlowdownDistanceOverExtrusionWidth )
		self.useIntermediateFeedrateInCorners = preferences.BooleanPreference().getFromValue( 'Use Intermediate Feedrate in Corners', True )
		self.archive.append( self.useIntermediateFeedrateInCorners )
		#Create the archive, title of the execute button, title of the dialog & preferences fileName.
		self.executeTitle = 'Fillet'
		self.saveTitle = 'Save Preferences'
		preferences.setHelpPreferencesFileNameTitleWindowPosition( self, 'skeinforge_tools.fillet.html' )
Example #3
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     self.activateSpeed = preferences.BooleanPreference().getFromValue(
         'Activate Speed:', True)
     self.archive.append(self.activateSpeed)
     self.bridgeFeedrateMultiplier = preferences.FloatPreference(
     ).getFromValue('Bridge Feedrate Multiplier (ratio):', 1.0)
     self.archive.append(self.bridgeFeedrateMultiplier)
     self.extrusionDiameterOverThickness = preferences.FloatPreference(
     ).getFromValue('Extrusion Diameter over Thickness (ratio):', 1.25)
     self.archive.append(self.extrusionDiameterOverThickness)
     self.feedratePerSecond = preferences.FloatPreference().getFromValue(
         'Feedrate (mm/s):', 16.0)
     self.archive.append(self.feedratePerSecond)
     self.fileNameInput = preferences.Filename().getFromFilename(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File to be Speeded', '')
     self.archive.append(self.fileNameInput)
     flowrateRadio = []
     self.flowrateChoiceLabel = preferences.LabelDisplay().getFromName(
         'Flowrate Choice: ')
     self.archive.append(self.flowrateChoiceLabel)
     self.flowrateDoNotAddFlowratePreference = preferences.Radio(
     ).getFromRadio('Do Not Add Flowrate', flowrateRadio, False)
     self.archive.append(self.flowrateDoNotAddFlowratePreference)
     self.flowrateMetricPreference = preferences.Radio().getFromRadio(
         'Metric', flowrateRadio, False)
     self.archive.append(self.flowrateMetricPreference)
     self.flowratePWMPreference = preferences.Radio().getFromRadio(
         'PWM Setting', flowrateRadio, True)
     self.archive.append(self.flowratePWMPreference)
     self.flowratePWMSetting = preferences.FloatPreference().getFromValue(
         'Flowrate PWM Setting (if PWM Setting is Chosen):', 210.0)
     self.archive.append(self.flowratePWMSetting)
     self.orbitalFeedrateOverOperatingFeedrate = preferences.FloatPreference(
     ).getFromValue('Orbital Feedrate over Operating Feedrate (ratio):',
                    0.5)
     self.archive.append(self.orbitalFeedrateOverOperatingFeedrate)
     self.perimeterFeedrateOverOperatingFeedrate = preferences.FloatPreference(
     ).getFromValue('Perimeter Feedrate over Operating Feedrate (ratio):',
                    1.0)
     self.archive.append(self.perimeterFeedrateOverOperatingFeedrate)
     self.perimeterFlowrateOverOperatingFlowrate = preferences.FloatPreference(
     ).getFromValue('Perimeter Flowrate over Operating Flowrate (ratio):',
                    1.0)
     self.archive.append(self.perimeterFlowrateOverOperatingFlowrate)
     self.supportFlowrateOverOperatingFlowrate = preferences.FloatPreference(
     ).getFromValue('Support Flowrate over Operating Flowrate (ratio):',
                    1.0)
     self.archive.append(self.supportFlowrateOverOperatingFlowrate)
     self.travelFeedratePerSecond = preferences.FloatPreference(
     ).getFromValue('Travel Feedrate (mm/s):', 30.0)
     self.archive.append(self.travelFeedratePerSecond)
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.executeTitle = 'Speed'
     self.saveTitle = 'Save Preferences'
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge_tools.speed.html')
Example #4
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     self.skeinforgeLabel = preferences.LabelDisplay().getFromName(
         'Open Preferences: ')
     self.archive.append(self.skeinforgeLabel)
     skeinforgePluginFilenames = getSkeinforgeToolFilenames()
     self.skeinforgeDisplayToolButtons = []
     for skeinforgePluginFilename in skeinforgePluginFilenames:
         skeinforgeDisplayToolButton = preferences.DisplayToolButton(
         ).getFromFolderName('skeinforge_tools', __file__,
                             skeinforgePluginFilename)
         self.skeinforgeDisplayToolButtons.append(
             skeinforgeDisplayToolButton)
     self.archive += self.skeinforgeDisplayToolButtons
     self.fileNameInput = preferences.Filename().getFromFilename(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File to be Skeinforged', '')
     self.archive.append(self.fileNameInput)
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.executeTitle = 'Skeinforge'
     self.saveTitle = None
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge.html')
Example #5
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     self.activateExport = preferences.BooleanPreference().getFromValue(
         'Activate Export', True)
     self.archive.append(self.activateExport)
     self.alsoSendOutputTo = preferences.StringPreference().getFromValue(
         'Also Send Output To:', '')
     self.archive.append(self.alsoSendOutputTo)
     self.deleteComments = preferences.BooleanPreference().getFromValue(
         'Delete Comments', True)
     self.archive.append(self.deleteComments)
     self.deleteM110GcodeLine = preferences.BooleanPreference(
     ).getFromValue('Delete M110 Gcode Line', True)
     self.archive.append(self.deleteM110GcodeLine)
     exportPluginFilenames = gcodec.getPluginFilenames(
         'export_plugins', __file__)
     self.exportLabel = preferences.LabelDisplay().getFromName(
         'Export Operations: ')
     self.archive.append(self.exportLabel)
     self.exportOperations = []
     self.exportPlugins = []
     exportRadio = []
     self.doNotChangeOutput = preferences.RadioCapitalized().getFromRadio(
         'Do Not Change Output', exportRadio, True)
     for exportPluginFilename in exportPluginFilenames:
         exportPlugin = preferences.RadioCapitalized().getFromRadio(
             exportPluginFilename, exportRadio, False)
         self.exportPlugins.append(exportPlugin)
     self.exportOperations = [self.doNotChangeOutput]
     self.exportOperations += self.exportPlugins
     self.exportOperations.sort(
         key=preferences.RadioCapitalized.getLowerName)
     self.exportOperationsButtons = []
     for exportOperation in self.exportOperations:
         self.exportOperationsButtons.append(exportOperation)
         if exportOperation != self.doNotChangeOutput:
             pluginModule = gcodec.getModule(exportOperation.name,
                                             'export_plugins', __file__)
             if pluginModule != None:
                 if pluginModule.isArchivable():
                     displayToolButtonBesidePrevious = preferences.DisplayToolButtonBesidePrevious(
                     ).getFromFolderName('export_plugins', __file__,
                                         exportOperation.name)
                     self.exportOperationsButtons.append(
                         displayToolButtonBesidePrevious)
     self.archive += self.exportOperationsButtons
     self.fileExtension = preferences.StringPreference().getFromValue(
         'File Extension:', 'gcode')
     self.archive.append(self.fileExtension)
     self.fileNameInput = preferences.Filename().getFromFilename(
         interpret.getGNUTranslatorGcodeFileTypeTuples(),
         'Open File to be Exported', '')
     self.archive.append(self.fileNameInput)
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.executeTitle = 'Export'
     self.saveTitle = 'Save Preferences'
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge_tools.export.html')
Example #6
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     self.extrusionWidthOverThickness = preferences.FloatPreference(
     ).getFromValue('Extrusion Width over Thickness (ratio):', 1.5)
     self.archive.append(self.extrusionWidthOverThickness)
     self.fileNameInput = preferences.Filename().getFromFilename(
         interpret.getTranslatorFileTypeTuples(), 'Open File to be Carved',
         '')
     self.archive.append(self.fileNameInput)
     self.importCoarseness = preferences.FloatPreference().getFromValue(
         'Import Coarseness (ratio):', 1.0)
     self.archive.append(self.importCoarseness)
     self.meshTypeLabel = preferences.LabelDisplay().getFromName(
         'Mesh Type: ')
     self.archive.append(self.meshTypeLabel)
     importRadio = []
     self.correctMesh = preferences.Radio().getFromRadio(
         'Correct Mesh', importRadio, True)
     self.archive.append(self.correctMesh)
     self.unprovenMesh = preferences.Radio().getFromRadio(
         'Unproven Mesh', importRadio, False)
     self.archive.append(self.unprovenMesh)
     self.infillBridgeThicknessOverLayerThickness = preferences.FloatPreference(
     ).getFromValue('Infill Bridge Thickness over Layer Thickness (ratio):',
                    1.0)
     self.archive.append(self.infillBridgeThicknessOverLayerThickness)
     self.infillBridgeWidthOverExtrusionWidth = preferences.FloatPreference(
     ).getFromValue('Infill Bridge Width over Extrusion Width (ratio):',
                    1.0)
     self.archive.append(self.infillBridgeWidthOverExtrusionWidth)
     self.infillDirectionBridge = preferences.BooleanPreference(
     ).getFromValue('Infill in Direction of Bridges', True)
     self.archive.append(self.infillDirectionBridge)
     self.layerThickness = preferences.FloatPreference().getFromValue(
         'Layer Thickness (mm):', 0.4)
     self.archive.append(self.layerThickness)
     self.layerThicknessOverPrecision = preferences.FloatPreference(
     ).getFromValue('Layer Thickness over Precision (ratio):', 10.0)
     self.archive.append(self.layerThicknessOverPrecision)
     #Create the archive, title of the execute button, title of the dialog & preferences fileName.
     self.executeTitle = 'Carve'
     self.saveTitle = 'Save Preferences'
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge_tools.carve.html')
Example #7
0
	def __init__( self ):
		"Set the default preferences, execute title & preferences fileName."
		#Set the default preferences.
		self.archive = []
		self.analyzeLabel = preferences.LabelDisplay().getFromName( 'Open Preferences: ' )
		self.archive.append( self.analyzeLabel )
		analyzePluginFilenames = getAnalyzePluginFilenames()
		self.analyzePlugins = []
		for analyzePluginFilename in analyzePluginFilenames:
			analyzePlugin = preferences.DisplayToolButton().getFromFolderName( 'analyze_plugins', __file__, analyzePluginFilename )
			self.analyzePlugins.append( analyzePlugin )
#		self.analyzePlugins.sort( key = preferences.RadioCapitalized.getLowerName )
		self.archive += self.analyzePlugins
		self.fileNameInput = preferences.Filename().getFromFilename( [ ( 'Gcode text files', '*.gcode' ) ], 'Open File to be Analyzed', '' )
		self.archive.append( self.fileNameInput )
		#Create the archive, title of the execute button, title of the dialog & preferences fileName.
		self.executeTitle = 'Analyze'
		self.saveTitle = None
		preferences.setHelpPreferencesFileNameTitleWindowPosition( self, 'skeinforge_tools.analyze.html' )
Example #8
0
 def __init__(self):
     "Set the default preferences, execute title & preferences fileName."
     #Set the default preferences.
     self.archive = []
     self.directoryOrFileChoiceLabel = preferences.LabelDisplay(
     ).getFromName('Directory or File Choice: ')
     self.archive.append(self.directoryOrFileChoiceLabel)
     directoryRadio = []
     self.directoryPreference = preferences.Radio().getFromRadio(
         'Execute All Unmodified Files in a Directory', directoryRadio,
         False)
     self.archive.append(self.directoryPreference)
     self.filePreference = preferences.Radio().getFromRadio(
         'Execute File', directoryRadio, True)
     self.archive.append(self.filePreference)
     #Create the archive, title of the dialog & preferences fileName.
     self.executeTitle = None
     self.saveTitle = 'Save Preferences'
     preferences.setHelpPreferencesFileNameTitleWindowPosition(
         self, 'skeinforge_tools.polyfile.html')
Example #9
0
	def __init__( self ):
		"Set the default preferences, execute title & preferences fileName."
		materialName = material.getSelectedMaterial()
		#Set the default preferences.
		self.archive = []
		self.activateRaft = preferences.BooleanPreference().getFromValue( 'Activate Raft:', True )
		self.archive.append( self.activateRaft )
		self.addRaftElevateNozzleOrbitSetAltitude = preferences.BooleanPreference().getFromValue( 'Add Raft, Elevate Nozzle, Orbit and Set Altitude:', True )
		self.archive.append( self.addRaftElevateNozzleOrbitSetAltitude )
		self.baseInfillDensity = preferences.FloatPreference().getFromValue( 'Base Infill Density (ratio):', 0.5 )
		self.archive.append( self.baseInfillDensity )
		self.baseLayerThicknessOverLayerThickness = preferences.FloatPreference().getFromValue( 'Base Layer Thickness over Layer Thickness:', 2.0 )
		self.archive.append( self.baseLayerThicknessOverLayerThickness )
		self.baseLayers = preferences.IntPreference().getFromValue( 'Base Layers (integer):', 1 )
		self.archive.append( self.baseLayers )
		self.baseNozzleLiftOverHalfBaseLayerThickness = preferences.FloatPreference().getFromValue( 'Base Nozzle Lift over Half Base Layer Thickness (ratio):', 0.75 )
		self.archive.append( self.baseNozzleLiftOverHalfBaseLayerThickness )
		self.bottomAltitude = preferences.FloatPreference().getFromValue( 'Bottom Altitude:', 0.0 )
		self.archive.append( self.bottomAltitude )
		self.fileNameInput = preferences.Filename().getFromFilename( interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File to be Rafted', '' )
		self.archive.append( self.fileNameInput )
		self.infillOverhang = preferences.FloatPreference().getFromValue( 'Infill Overhang (ratio):', 0.1 )
		self.archive.append( self.infillOverhang )
		self.interfaceInfillDensity = preferences.FloatPreference().getFromValue( 'Interface Infill Density (ratio):', 0.5 )
		self.archive.append( self.interfaceInfillDensity )
		self.interfaceLayerThicknessOverLayerThickness = preferences.FloatPreference().getFromValue( 'Interface Layer Thickness over Layer Thickness:', 1.0 )
		self.archive.append( self.interfaceLayerThicknessOverLayerThickness )
		self.interfaceLayers = preferences.IntPreference().getFromValue( 'Interface Layers (integer):', 2 )
		self.archive.append( self.interfaceLayers )
		self.interfaceNozzleLiftOverHalfInterfaceLayerThickness = preferences.FloatPreference().getFromValue( 'Interface Nozzle Lift over Half Interface Layer Thickness (ratio):', 1.0 )
		self.archive.append( self.interfaceNozzleLiftOverHalfInterfaceLayerThickness )
		self.material = preferences.LabelDisplay().getFromName( 'Material: ' + materialName )
		self.archive.append( self.material )
		self.operatingNozzleLiftOverHalfLayerThickness = preferences.FloatPreference().getFromValue( 'Operating Nozzle Lift over Half Layer Thickness (ratio):', 1.0 )
		self.archive.append( self.operatingNozzleLiftOverHalfLayerThickness )
		self.raftOutsetRadiusOverExtrusionWidth = preferences.FloatPreference().getFromValue( 'Raft Outset Radius over Extrusion Width (ratio):', 15.0 )
		self.archive.append( self.raftOutsetRadiusOverExtrusionWidth )
		self.supportInsetOverPerimeterExtrusionWidth = preferences.FloatPreference().getFromValue( 'Support Inset over Perimeter Extrusion Width (ratio):', 0.0 )
		self.archive.append( self.supportInsetOverPerimeterExtrusionWidth )
		supportRadio = []
		self.supportChoiceLabel = preferences.LabelDisplay().getFromName( 'Support Material Choice: ' )
		self.archive.append( self.supportChoiceLabel )
		self.supportChoiceNoSupportMaterial = preferences.Radio().getFromRadio( 'No Support Material', supportRadio, True )
		self.archive.append( self.supportChoiceNoSupportMaterial )
		self.supportChoiceSupportMateriaEverywhere = preferences.Radio().getFromRadio( 'Support Material Everywhere', supportRadio, False )
		self.archive.append( self.supportChoiceSupportMateriaEverywhere )
		self.supportChoiceSupportMaterialOnExteriorOnly = preferences.Radio().getFromRadio( 'Support Material on Exterior Only', supportRadio, False )
		self.archive.append( self.supportChoiceSupportMaterialOnExteriorOnly )
		self.supportMinimumAngle = preferences.FloatPreference().getFromValue( 'Support Minimum Angle (degrees):', 60.0 )
		self.archive.append( self.supportMinimumAngle )
		self.temperatureChangeBeforeTimeRaft = preferences.FloatPreference().getFromValue( 'Temperature Change Time Before Raft (seconds):', 120.0 )
		self.archive.append( self.temperatureChangeBeforeTimeRaft )
		self.temperatureChangeTimeBeforeFirstLayerOutline = preferences.FloatPreference().getFromValue( 'Temperature Change Time Before First Layer Outline (seconds):', 120.0 )
		self.archive.append( self.temperatureChangeTimeBeforeFirstLayerOutline )
		self.temperatureChangeTimeBeforeNextThreads = preferences.FloatPreference().getFromValue( 'Temperature Change Time Before Next Threads (seconds):', 120.0 )
		self.archive.append( self.temperatureChangeTimeBeforeNextThreads )
		self.temperatureChangeTimeBeforeSupportLayers = preferences.FloatPreference().getFromValue( 'Temperature Change Time Before Support Layers (seconds):', 120.0 )
		self.archive.append( self.temperatureChangeTimeBeforeSupportLayers )
		self.temperatureChangeTimeBeforeSupportedLayers = preferences.FloatPreference().getFromValue( 'Temperature Change Time Before Supported Layers (seconds):', 120.0 )
		self.archive.append( self.temperatureChangeTimeBeforeSupportedLayers )
		self.temperatureRaft = preferences.FloatPreference().getFromValue( 'Temperature of Raft (Celcius):', 200.0 )
		self.archive.append( self.temperatureRaft )
		self.temperatureShapeFirstLayerOutline = preferences.FloatPreference().getFromValue( 'Temperature of Shape First Layer Outline (Celcius):', 220.0 )
		self.archive.append( self.temperatureShapeFirstLayerOutline )
		self.temperatureShapeFirstLayerWithin = preferences.FloatPreference().getFromValue( 'Temperature of Shape First Layer Within (Celcius):', 195.0 )
		self.archive.append( self.temperatureShapeFirstLayerWithin )
		self.temperatureShapeNextLayers = preferences.FloatPreference().getFromValue( 'Temperature of Shape Next Layers (Celcius):', 230.0 )
		self.archive.append( self.temperatureShapeNextLayers )
		self.temperatureShapeSupportLayers = preferences.FloatPreference().getFromValue( 'Temperature of Support Layers (Celcius):', 200.0 )
		self.archive.append( self.temperatureShapeSupportLayers )
		self.temperatureShapeSupportedLayers = preferences.FloatPreference().getFromValue( 'Temperature of Supported Layers (Celcius):', 230.0 )
		self.archive.append( self.temperatureShapeSupportedLayers )
		self.windowPositionRaftPreferences = preferences.WindowPosition().getFromValue( 'windowPositionRaft Preferences', '0+0' )
		self.archive.append( self.windowPositionRaftPreferences )
		#Create the archive, title of the execute button, title of the dialog & preferences fileName.
		self.executeTitle = 'Raft'
		self.fileNamePreferences = preferences.getPreferencesFilePath( 'raft_' + materialName + '.csv' )
		self.fileNameHelp = 'skeinforge_tools.raft.html'
		self.saveTitle = 'Save Preferences'
		self.title = 'Raft Preferences'