chiark / gitweb /
Updated patch, added defaults that match the ultimaker.
authordaid <daid303@gmail.com>
Tue, 13 Dec 2011 15:31:40 +0000 (16:31 +0100)
committerdaid <daid303@gmail.com>
Tue, 13 Dec 2011 15:31:40 +0000 (16:31 +0100)
README
patches/41

diff --git a/README b/README
index 3b5e1bf63ee83ccbfb1bd73faac1a2fc7290707e..20a4ece79d02f79cf52b4573e700463472a39e80 100644 (file)
--- a/README
+++ b/README
@@ -6,12 +6,16 @@ The final result is a release package for Windows which should be ready to run w
 ====What is changed====
 * All: Do not show settings when ran from command line
 * All: Run PyPy to slice a model instead of normal python
+* All: Changing "Perimeter width over thickness (ratio)" into "Perimeter width".
+       With 5D machines this makes more sense, as you have good control over the width.
+* All: Save settings in .skeinforge_pypy to not mess up normal skeinforge profiles.
+* All: Default settings changed to match Ultimaker with dimension firmware (Marlin or Sprinter)
 * SF41: Dimensions patch against short pauses
 * SF41: Speedup patch in euclidean.py (Merged in mainline SF43)
 
 ====Bugs====
 The graphical analize plugins don't work (Skeinlayer and Skeiniso)
 
-====How does it work===
+====How does it work====
 The user interface still runs in normal python (as PyPy with TK is a bit hard to build, especially for windows), and when you slice it will run command line PyPy to slice the model.
 
index 5a93f592003bea6163d5f4864ca0385b78e33c5e..e27e50b54b0afc8123911be60ae84b4216c40867 100644 (file)
@@ -1,3 +1,15 @@
+diff -r -x'*.pyc' -u ori/41/fabmetheus_utilities/archive.py target/SF41/fabmetheus_utilities/archive.py
+--- ori/41/fabmetheus_utilities/archive.py     2011-04-12 00:32:25.000000000 +0200
++++ target/SF41/fabmetheus_utilities/archive.py        2011-12-13 15:52:55.000000000 +0100
+@@ -18,7 +18,7 @@
+ __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
+-globalTemporarySettingsPath = os.path.join(os.path.expanduser('~'), '.skeinforge')
++globalTemporarySettingsPath = os.path.join(os.path.expanduser('~'), '.skeinforge_pypy')
+ def addToNamePathDictionary(directoryPath, namePathDictionary):
 diff -r -x'*.pyc' -u ori/41/fabmetheus_utilities/euclidean.py target/SF41/fabmetheus_utilities/euclidean.py
 --- ori/41/fabmetheus_utilities/euclidean.py   2011-04-15 02:32:27.000000000 +0200
 +++ target/SF41/fabmetheus_utilities/euclidean.py      2011-12-13 15:35:53.000000000 +0100
@@ -110,9 +122,150 @@ diff -r -x'*.pyc' -u ori/41/fabmetheus_utilities/euclidean.py target/SF41/fabmet
                        if stepKey in pixelDictionary:
                                squareValues += pixelDictionary[ stepKey ]
        return squareValues
+diff -r -x'*.pyc' -u ori/41/fabmetheus_utilities/settings.py target/SF41/fabmetheus_utilities/settings.py
+--- ori/41/fabmetheus_utilities/settings.py    2011-04-26 10:32:32.000000000 +0200
++++ target/SF41/fabmetheus_utilities/settings.py       2011-12-13 15:54:21.000000000 +0100
+@@ -271,7 +271,7 @@
+               if repository.baseNameSynonym != None:
+                       text = archive.getFileText(archive.getProfilesPath(getProfileBaseNameSynonym(repository)), False)
+       if text == '':
+-              print('The default %s will be written in the .skeinforge folder in the home directory.' % repository.title.lower() )
++              print('The default %s will be written in the .skeinforge_pypy folder in the home directory.' % repository.title.lower() )
+               text = archive.getFileText(getProfilesDirectoryInAboveDirectory(getProfileBaseName(repository)), False)
+               if text != '':
+                       readSettingsFromText(repository, text)
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeiniso.py target/SF41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeiniso.py
+--- ori/41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeiniso.py       2011-04-14 06:57:37.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeiniso.py  2011-12-13 16:24:22.000000000 +0100
+@@ -297,7 +297,7 @@
+               self.baseNameSynonym = 'behold.csv'
+               self.fileNameInput = settings.FileNameInput().getFromFileName( [ ('Gcode text files', '*.gcode') ], 'Open File for Skeiniso', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Skeiniso')
+-              self.activateSkeiniso = settings.BooleanSetting().getFromValue('Activate Skeiniso', self, True )
++              self.activateSkeiniso = settings.BooleanSetting().getFromValue('Activate Skeiniso', self, False )
+               self.addAnimation()
+               self.axisRulings = settings.BooleanSetting().getFromValue('Axis Rulings', self, True )
+               settings.LabelSeparator().getFromRepository(self)
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeinlayer.py target/SF41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeinlayer.py
+--- ori/41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeinlayer.py     2011-04-14 06:57:37.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/analyze_plugins/skeinlayer.py        2011-12-13 16:24:11.000000000 +0100
+@@ -195,7 +195,7 @@
+               self.baseNameSynonym = 'skeinview.csv'
+               self.fileNameInput = settings.FileNameInput().getFromFileName( [ ('Gcode text files', '*.gcode') ], 'Open File for Skeinlayer', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Skeinlayer')
+-              self.activateSkeinlayer = settings.BooleanSetting().getFromValue('Activate Skeinlayer', self, True )
++              self.activateSkeinlayer = settings.BooleanSetting().getFromValue('Activate Skeinlayer', self, False )
+               self.addAnimation()
+               self.drawArrows = settings.BooleanSetting().getFromValue('Draw Arrows', self, True )
+               self.goAroundExtruderOffTravel = settings.BooleanSetting().getFromValue('Go Around Extruder Off Travel', self, False )
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py    2011-04-08 10:20:48.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py       2011-12-13 15:49:52.000000000 +0100
+@@ -157,7 +157,7 @@
+               self.extraDecimalPlaces = settings.FloatSpin().getFromValue(0.0, 'Extra Decimal Places (float):', self, 3.0, 2.0)
+               self.importCoarseness = settings.FloatSpin().getFromValue( 0.5, 'Import Coarseness (ratio):', self, 2.0, 1.0 )
+               self.infillInDirectionOfBridge = settings.BooleanSetting().getFromValue('Infill in Direction of Bridge', self, True )
+-              self.layerThickness = settings.FloatSpin().getFromValue( 0.1, 'Layer Thickness (mm):', self, 1.0, 0.4 )
++              self.layerThickness = settings.FloatSpin().getFromValue( 0.1, 'Layer Thickness (mm):', self, 1.0, 0.2 )
+               settings.LabelSeparator().getFromRepository(self)
+               settings.LabelDisplay().getFromName('- Layers -', self )
+               self.layersFrom = settings.IntSpin().getFromValue( 0, 'Layers From (index):', self, 20, 0 )
+@@ -167,7 +167,7 @@
+               importLatentStringVar = settings.LatentStringVar()
+               self.correctMesh = settings.Radio().getFromRadio( importLatentStringVar, 'Correct Mesh', self, True )
+               self.unprovenMesh = settings.Radio().getFromRadio( importLatentStringVar, 'Unproven Mesh', self, False )
+-              self.perimeterWidthOverThickness = settings.FloatSpin().getFromValue( 1.4, 'Perimeter Width over Thickness (ratio):', self, 2.2, 1.8 )
++              self.perimeterWidth = settings.FloatSpin().getFromValue( 0.1, 'Perimeter Width:', self, 2.2, 0.4 )
+               self.svgViewer = settings.StringSetting().getFromValue('SVG Viewer:', self, 'webbrowser')
+               settings.LabelSeparator().getFromRepository(self)
+               self.executeTitle = 'Carve'
+@@ -184,7 +184,7 @@
+       def getCarvedSVG(self, carving, fileName, repository):
+               "Parse gnu triangulated surface text and store the carved gcode."
+               layerThickness = repository.layerThickness.value
+-              perimeterWidth = repository.perimeterWidthOverThickness.value * layerThickness
++              perimeterWidth = repository.perimeterWidth.value
+               carving.setCarveInfillInDirectionOfBridge(repository.infillInDirectionOfBridge.value)
+               carving.setCarveLayerThickness(layerThickness)
+               importRadius = 0.5 * repository.importCoarseness.value * abs(perimeterWidth)
+@@ -196,7 +196,7 @@
+                       return ''
+               layerThickness = carving.getCarveLayerThickness()
+               decimalPlacesCarried = euclidean.getDecimalPlacesCarried(repository.extraDecimalPlaces.value, layerThickness)
+-              perimeterWidth = repository.perimeterWidthOverThickness.value * layerThickness
++              perimeterWidth = repository.perimeterWidth.value
+               svgWriter = svg_writer.SVGWriter(
+                       repository.addLayerTemplateToSVG.value,
+                       carving.getCarveCornerMaximum(),
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py  2011-02-09 08:31:34.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py     2011-12-13 16:03:23.000000000 +0100
+@@ -166,7 +166,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.chamber.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Chamber', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Chamber')
+-              self.activateChamber = settings.BooleanSetting().getFromValue('Activate Chamber:', self, True )
++              self.activateChamber = settings.BooleanSetting().getFromValue('Activate Chamber:', self, False )
+               self.bedTemperature = settings.FloatSpin().getFromValue( 20.0, 'Bed Temperature (Celcius):', self, 90.0, 60.0 )
+               self.chamberTemperature = settings.FloatSpin().getFromValue( 20.0, 'Chamber Temperature (Celcius):', self, 90.0, 30.0 )
+               self.holdingForce = settings.FloatSpin().getFromValue( 0.0, 'Holding Force (bar):', self, 100.0, 0.0 )
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py     2011-02-22 08:41:38.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py        2011-12-13 16:03:34.000000000 +0100
+@@ -86,7 +86,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.clip.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Clip', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Clip')
+-              self.activateClip = settings.BooleanSetting().getFromValue('Activate Clip', self, True )
++              self.activateClip = settings.BooleanSetting().getFromValue('Activate Clip', self, False )
+               self.clipOverPerimeterWidth = settings.FloatSpin().getFromValue( 0.1, 'Clip Over Perimeter Width (ratio):', self, 0.8, 0.5 )
+               self.maximumConnectionDistanceOverPerimeterWidth = settings.FloatSpin().getFromValue( 1.0, 'Maximum Connection Distance Over Perimeter Width (ratio):', self, 20.0, 10.0 )
+               self.executeTitle = 'Clip'
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py     2011-02-22 08:41:38.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py        2011-12-13 16:21:08.000000000 +0100
+@@ -126,7 +126,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.comb.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Comb', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Comb')
+-              self.activateComb = settings.BooleanSetting().getFromValue('Activate Comb', self, False )
++              self.activateComb = settings.BooleanSetting().getFromValue('Activate Comb', self, True )
+               self.executeTitle = 'Comb'
+       def execute(self):
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py     2011-03-08 08:30:18.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py        2011-12-13 16:21:33.000000000 +0100
+@@ -142,7 +142,7 @@
+               self.orbit = settings.MenuRadio().getFromMenuButtonDisplay(self.coolType, 'Orbit', self, False)
+               self.slowDown = settings.MenuRadio().getFromMenuButtonDisplay(self.coolType, 'Slow Down', self, True)
+               self.maximumCool = settings.FloatSpin().getFromValue(0.0, 'Maximum Cool (Celcius):', self, 10.0, 2.0)
+-              self.minimumLayerTime = settings.FloatSpin().getFromValue(0.0, 'Minimum Layer Time (seconds):', self, 120.0, 60.0)
++              self.minimumLayerTime = settings.FloatSpin().getFromValue(0.0, 'Minimum Layer Time (seconds):', self, 120.0, 10.0)
+               self.minimumOrbitalRadius = settings.FloatSpin().getFromValue(
+                       0.0, 'Minimum Orbital Radius (millimeters):', self, 20.0, 10.0)
+               settings.LabelSeparator().getFromRepository(self)
 diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py
 --- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py        2011-03-22 21:08:23.000000000 +0100
-+++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py   2011-12-13 15:18:15.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py   2011-12-13 15:57:55.000000000 +0100
+@@ -124,7 +124,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.dimension.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Dimension', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Dimension')
+-              self.activateDimension = settings.BooleanSetting().getFromValue('Activate Dimension', self, False )
++              self.activateDimension = settings.BooleanSetting().getFromValue('Activate Dimension', self, True )
+               extrusionDistanceFormatLatentStringVar = settings.LatentStringVar()
+               self.extrusionDistanceFormatChoiceLabel = settings.LabelDisplay().getFromName('Extrusion Distance Format Choice: ', self )
+               settings.Radio().getFromRadio( extrusionDistanceFormatLatentStringVar, 'Absolute Extrusion Distance', self, True )
+@@ -132,7 +132,7 @@
+               self.extruderRetractionSpeed = settings.FloatSpin().getFromValue( 4.0, 'Extruder Retraction Speed (mm/s):', self, 34.0, 13.3 )
+               settings.LabelSeparator().getFromRepository(self)
+               settings.LabelDisplay().getFromName('- Filament -', self )
+-              self.filamentDiameter = settings.FloatSpin().getFromValue(1.0, 'Filament Diameter (mm):', self, 6.0, 2.8)
++              self.filamentDiameter = settings.FloatSpin().getFromValue(1.0, 'Filament Diameter (mm):', self, 6.0, 2.89)
+               self.filamentPackingDensity = settings.FloatSpin().getFromValue(0.7, 'Filament Packing Density (ratio):', self, 1.0, 0.85)
+               settings.LabelSeparator().getFromRepository(self)
+               self.retractionDistance = settings.FloatSpin().getFromValue( 0.0, 'Retraction Distance (millimeters):', self, 100.0, 0.0 )
 @@ -160,9 +160,11 @@
  
        def addLinearMoveExtrusionDistanceLine( self, extrusionDistance ):
@@ -121,7 +274,7 @@ diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plug
 -              self.distanceFeedRate.output.write('G1%s\n' % self.getExtrusionDistanceStringFromExtrusionDistance( extrusionDistance ) )
 -              self.distanceFeedRate.output.write('G1 F%s\n' % self.distanceFeedRate.getRounded( self.feedRateMinute ) )
 +
-+              if self.repository.retractionDistance.value != 0.0: \r
++              if self.repository.retractionDistance.value != 0.0: 
 +                      self.distanceFeedRate.output.write('G1 F%s\n' % self.extruderRetractionSpeedMinuteString )
 +                      self.distanceFeedRate.output.write('G1%s\n' % self.getExtrusionDistanceStringFromExtrusionDistance( extrusionDistance ) )
 +                      self.distanceFeedRate.output.write('G1 F%s\n' % self.distanceFeedRate.getRounded( self.feedRateMinute ) )
@@ -144,9 +297,156 @@ diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plug
                        self.isExtruderActive = True
                elif firstWord == 'M103':
                        self.addLinearMoveExtrusionDistanceLine( - self.repository.retractionDistance.value )
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/export.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/export.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/export.py   2011-02-09 08:28:22.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/export.py      2011-12-13 16:10:59.000000000 +0100
+@@ -214,7 +214,7 @@
+               self.exportLabel = settings.LabelDisplay().getFromName('Export Operations: ', self)
+               self.exportPlugins = []
+               exportLatentStringVar = settings.LatentStringVar()
+-              self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, 'Do Not Change Output', self, True)
++              self.doNotChangeOutput = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, 'Do Not Change Output', self, False)
+               self.doNotChangeOutput.directoryPath = None
+               allExportPluginFileNames = exportPluginFileNames + exportStaticPluginFileNames
+               for exportPluginFileName in allExportPluginFileNames:
+@@ -224,7 +224,7 @@
+                               exportPlugin = settings.RadioCapitalizedButton().getFromPath(exportLatentStringVar, exportPluginFileName, path, self, False)
+                               exportPlugin.directoryPath = exportPluginsFolderPath
+                       else:
+-                              exportPlugin = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, exportPluginFileName, self, False)
++                              exportPlugin = settings.RadioCapitalized().getFromRadio(exportLatentStringVar, exportPluginFileName, self, True)
+                               exportPlugin.directoryPath = exportStaticDirectoryPath
+                       self.exportPlugins.append(exportPlugin)
+               self.fileExtension = settings.StringSetting().getFromValue('File Extension:', self, 'gcode')
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py     2011-03-29 22:07:15.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py        2011-12-13 16:02:11.000000000 +0100
+@@ -808,7 +808,7 @@
+               self.infillPatternLine = settings.Radio().getFromRadio( infillLatentStringVar, 'Line', self, True )
+               self.infillPerimeterOverlap = settings.FloatSpin().getFromValue( 0.0, 'Infill Perimeter Overlap (ratio):', self, 0.4, 0.15 )
+               self.infillSolidity = settings.FloatSpin().getFromValue( 0.04, 'Infill Solidity (ratio):', self, 0.3, 0.2 )
+-              self.infillWidthOverThickness = settings.FloatSpin().getFromValue( 1.3, 'Infill Width over Thickness (ratio):', self, 1.7, 1.5 )
++              self.infillWidth = settings.FloatSpin().getFromValue( 0.1, 'Infill Width:', self, 1.7, 0.4 )
+               settings.LabelSeparator().getFromRepository(self)
+               self.solidSurfaceThickness = settings.IntSpin().getFromValue( 0, 'Solid Surface Thickness (layers):', self, 5, 3 )
+               self.startFromChoice = settings.MenuButtonDisplay().getFromName('Start From Choice:', self)
+@@ -1273,7 +1273,7 @@
+                               self.bridgeWidthMultiplier = float(splitLine[1])
+                       elif firstWord == '(<layerThickness>':
+                               self.layerThickness = float(splitLine[1])
+-                              self.infillWidth = self.repository.infillWidthOverThickness.value * self.layerThickness
++                              self.infillWidth = self.repository.infillWidth.value
+                               self.distanceFeedRate.addTagRoundedLine('infillWidth', self.infillWidth)
+                       self.distanceFeedRate.addLine(line)
+  
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/home.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/home.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/home.py     2011-02-22 08:41:38.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/home.py        2011-12-13 16:04:12.000000000 +0100
+@@ -82,7 +82,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.home.html', self)
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Home', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_home')
+-              self.activateHome = settings.BooleanSetting().getFromValue('Activate Home', self, True )
++              self.activateHome = settings.BooleanSetting().getFromValue('Activate Home', self, False )
+               self.nameOfHomingFile = settings.StringSetting().getFromValue('Name of Homing File:', self, 'homing.gcode')
+               self.executeTitle = 'Home'
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py   2011-04-19 09:36:28.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py      2011-12-13 16:05:16.000000000 +0100
+@@ -113,7 +113,7 @@
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.jitter.html', self)
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Jitter', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Jitter')
+-              self.activateJitter = settings.BooleanSetting().getFromValue('Activate Jitter', self, True)
++              self.activateJitter = settings.BooleanSetting().getFromValue('Activate Jitter', self, False)
+               self.jitterOverPerimeterWidth = settings.FloatSpin().getFromValue(1.0, 'Jitter Over Perimeter Width (ratio):', self, 3.0, 2.0)
+               self.executeTitle = 'Jitter'
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py    2011-02-09 08:31:44.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py       2011-12-13 16:06:52.000000000 +0100
+@@ -88,7 +88,7 @@
+               'Set the default settings, execute title & settings fileName.'
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.limit.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Limit', self, '')
+-              self.activateLimit = settings.BooleanSetting().getFromValue('Activate Limit', self, True)
++              self.activateLimit = settings.BooleanSetting().getFromValue('Activate Limit', self, False)
+               self.maximumInitialFeedRate = settings.FloatSpin().getFromValue(0.5, 'Maximum Initial Feed Rate (mm/s):', self, 10.0, 1.0)
+               self.maximumZFeedRatePerSecond = settings.FloatSpin().getFromValue(0.5, 'Maximum Z Feed Rate (mm/s):', self, 10.0, 1.0)
+               self.executeTitle = 'Limit'
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py 2011-02-09 08:33:32.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py    2011-12-13 16:09:08.000000000 +0100
+@@ -105,7 +105,7 @@
+               self.fileNameInput = settings.FileNameInput().getFromFileName(
+                       fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Multiply', self, '')
+               self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Multiply')
+-              self.activateMultiply = settings.BooleanSetting().getFromValue('Activate Multiply:', self, False )
++              self.activateMultiply = settings.BooleanSetting().getFromValue('Activate Multiply:', self, True )
+               settings.LabelSeparator().getFromRepository(self)
+               settings.LabelDisplay().getFromName('- Center -', self )
+               self.centerX = settings.FloatSpin().getFromValue(-100.0, 'Center X (mm):', self, 100.0, 0.0)
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py     2011-04-23 09:44:37.000000000 +0200
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py        2011-12-13 16:12:12.000000000 +0100
+@@ -358,7 +358,7 @@
+               self.baseInfillDensity = settings.FloatSpin().getFromValue(0.3, 'Base Infill Density (ratio):', self, 0.9, 0.5)
+               self.baseLayerThicknessOverLayerThickness = settings.FloatSpin().getFromValue(
+                       1.0, 'Base Layer Thickness over Layer Thickness:', self, 3.0, 2.0)
+-              self.baseLayers = settings.IntSpin().getFromValue(0, 'Base Layers (integer):', self, 3, 1)
++              self.baseLayers = settings.IntSpin().getFromValue(0, 'Base Layers (integer):', self, 3, 0)
+               self.baseNozzleLiftOverBaseLayerThickness = settings.FloatSpin().getFromValue(
+                       0.2, 'Base Nozzle Lift over Base Layer Thickness (ratio):', self, 0.8, 0.4)
+               settings.LabelSeparator().getFromRepository(self)
+@@ -376,7 +376,7 @@
+               self.interfaceLayerThicknessOverLayerThickness = settings.FloatSpin().getFromValue(
+                       1.0, 'Interface Layer Thickness over Layer Thickness:', self, 3.0, 1.0)
+               self.interfaceLayers = settings.IntSpin().getFromValue(
+-                      0, 'Interface Layers (integer):', self, 3, 2)
++                      0, 'Interface Layers (integer):', self, 3, 0)
+               self.interfaceNozzleLiftOverInterfaceLayerThickness = settings.FloatSpin().getFromValue(
+                       0.25, 'Interface Nozzle Lift over Interface Layer Thickness (ratio):', self, 0.85, 0.45)
+               settings.LabelSeparator().getFromRepository(self)
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py    2011-02-22 08:41:38.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py       2011-12-13 16:08:40.000000000 +0100
+@@ -148,15 +148,15 @@
+               self.dutyCycleAtBeginning = settings.FloatSpin().getFromValue( 0.0, 'Duty Cyle at Beginning (portion):', self, 1.0, 1.0 )
+               self.dutyCycleAtEnding = settings.FloatSpin().getFromValue( 0.0, 'Duty Cyle at Ending (portion):', self, 1.0, 0.0 )
+               settings.LabelSeparator().getFromRepository(self)
+-              self.feedRatePerSecond = settings.FloatSpin().getFromValue( 2.0, 'Feed Rate (mm/s):', self, 50.0, 16.0 )
+-              self.flowRateSetting = settings.FloatSpin().getFromValue( 50.0, 'Flow Rate Setting (float):', self, 250.0, 210.0 )
++              self.feedRatePerSecond = settings.FloatSpin().getFromValue( 2.0, 'Feed Rate (mm/s):', self, 250.0, 50.0 )
++              self.flowRateSetting = settings.FloatSpin().getFromValue( 50.0, 'Flow Rate Setting (float):', self, 250.0, 50.0 )
+               self.orbitalFeedRateOverOperatingFeedRate = settings.FloatSpin().getFromValue( 0.1, 'Orbital Feed Rate over Operating Feed Rate (ratio):', self, 0.9, 0.5 )
+               settings.LabelSeparator().getFromRepository(self)
+               settings.LabelDisplay().getFromName('- Perimeter -', self )
+-              self.perimeterFeedRateOverOperatingFeedRate = settings.FloatSpin().getFromValue( 0.5, 'Perimeter Feed Rate over Operating Feed Rate (ratio):', self, 1.0, 1.0 )
+-              self.perimeterFlowRateOverOperatingFlowRate = settings.FloatSpin().getFromValue( 0.5, 'Perimeter Flow Rate over Operating Flow Rate (ratio):', self, 1.0, 1.0 )
++              self.perimeterFeedRateOverOperatingFeedRate = settings.FloatSpin().getFromValue( 0.5, 'Perimeter Feed Rate over Operating Feed Rate (ratio):', self, 1.0, 0.5 )
++              self.perimeterFlowRateOverOperatingFlowRate = settings.FloatSpin().getFromValue( 0.5, 'Perimeter Flow Rate over Operating Flow Rate (ratio):', self, 1.0, 0.5 )
+               settings.LabelSeparator().getFromRepository(self)
+-              self.travelFeedRatePerSecond = settings.FloatSpin().getFromValue( 2.0, 'Travel Feed Rate (mm/s):', self, 50.0, 16.0 )
++              self.travelFeedRatePerSecond = settings.FloatSpin().getFromValue( 2.0, 'Travel Feed Rate (mm/s):', self, 350.0, 250.0 )
+               self.executeTitle = 'Speed'
+       def execute(self):
+diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py
+--- ori/41/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py      2011-02-09 08:31:01.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py 2011-12-13 16:08:09.000000000 +0100
+@@ -122,7 +122,7 @@
+               "Set the default settings, execute title & settings fileName."
+               skeinforge_profile.addListsToCraftTypeRepository('skeinforge_application.skeinforge_plugins.craft_plugins.temperature.html', self )
+               self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Temperature', self, '')
+-              self.activateTemperature = settings.BooleanSetting().getFromValue('Activate Temperature:', self, True )
++              self.activateTemperature = settings.BooleanSetting().getFromValue('Activate Temperature:', self, False )
+               settings.LabelSeparator().getFromRepository(self)
+               settings.LabelDisplay().getFromName('- Rate -', self )
+               self.coolingRate = settings.FloatSpin().getFromValue( 1.0, 'Cooling Rate (Celcius/second):', self, 20.0, 3.0 )
 diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge.py target/SF41/skeinforge_application/skeinforge.py
 --- ori/41/skeinforge_application/skeinforge.py        2011-04-27 02:14:25.000000000 +0200
-+++ target/SF41/skeinforge_application/skeinforge.py   2011-12-13 15:18:15.000000000 +0100
++++ target/SF41/skeinforge_application/skeinforge.py   2011-12-13 16:31:35.000000000 +0100
 @@ -228,6 +228,7 @@
  from skeinforge_application.skeinforge_utilities import skeinforge_profile
  import os
@@ -183,3 +483,4 @@ diff -r -x'*.pyc' -u ori/41/skeinforge_application/skeinforge.py target/SF41/ske
  
        def save(self):
                'Profile has been saved and profile menu should be updated.'
+Only in target/SF41: test_export.gcode