From 24f0e5c4c034796d597c439802f6713bbac5a103 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Tue, 4 Feb 2014 11:29:57 -0800 Subject: [PATCH] Fixed the skirtminlength to map from slic3r to cura --- SliceConfiguration/CuraEnginMappings.cs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/SliceConfiguration/CuraEnginMappings.cs b/SliceConfiguration/CuraEnginMappings.cs index b11be8f30..d17ed2d65 100644 --- a/SliceConfiguration/CuraEnginMappings.cs +++ b/SliceConfiguration/CuraEnginMappings.cs @@ -40,7 +40,7 @@ namespace MatterHackers.MatterControl new MapItem("insetCount", "perimeters"), new MapItem("skirtLineCount", "skirts"), - new MapItem("skirtMinLenght", "min_skirt_length"), + new SkirtLengthMaping("skirtMinLength", "min_skirt_length"), new ScaledSingleNumber("skirtDistance", "skirt_distance", 1000), new MapItem("fanSpeedMin", "max_fan_speed"), @@ -405,6 +405,28 @@ enableOozeShield = 0; } } + public class SkirtLengthMaping : MapItem + { + public SkirtLengthMaping(string curaKey, string defaultKey) + : base(curaKey, defaultKey) + { + } + + public override string CuraValue + { + get + { + double lengthToExtrudeMm = double.Parse(base.CuraValue); + // we need to convert mm of filament to mm of extrusion path + double amountOfFilamentCubicMms = ActiveSliceSettings.Instance.FillamentDiameter * MathHelper.Tau * lengthToExtrudeMm; + double extrusionSquareSize = ActiveSliceSettings.Instance.FirstLayerHeight * ActiveSliceSettings.Instance.NozzleDiameter; + double lineLength = amountOfFilamentCubicMms / extrusionSquareSize; + + return (lineLength * 1000).ToString(); + } + } + } + public class ScaledSingleNumber : MapItem { internal double scale;