chiark / gitweb /
Fixed some floating point rounding errors
authordaid <daid303@gmail.com>
Fri, 24 Feb 2012 18:25:55 +0000 (19:25 +0100)
committerdaid <daid303@gmail.com>
Fri, 24 Feb 2012 18:25:55 +0000 (19:25 +0100)
SkeinPyPy_NewUI/fabmetheus_utilities/settings.py

index b3040ec03224ea630f9a50ce544f33adddde298b..ccae2dca793d4f4791141dbfe0156dc87d6678cc 100644 (file)
@@ -9,7 +9,7 @@ import __init__
 
 import ConfigParser
 import os, sys
-import types
+import types, math
 
 from fabmetheus_utilities import archive
 
@@ -43,7 +43,7 @@ def calculateShells(setting):
        if wallThickness < nozzleSize:
                return wallThickness
 
-       lineCount = int(wallThickness / nozzleSize)
+       lineCount = int(wallThickness / nozzleSize + 0.0001)
        lineWidth = wallThickness / lineCount
        lineWidthAlt = wallThickness / (lineCount + 1)
        if lineWidth > nozzleSize * 1.5:
@@ -53,7 +53,9 @@ def calculateShells(setting):
 def calculateSolidLayerCount(setting):
        layerHeight = float(getSetting('layer_height'))
        solidThickness = float(getSetting('solid_layer_thickness'))
-       return int(solidThickness / layerHeight)
+       ret = int(math.ceil(solidThickness / layerHeight))
+       print "calculateSolidLayerCount: " + str(ret) + " " + str(solidThickness / layerHeight)
+       return ret
 
 def getSkeinPyPyProfileInformation():
        return {