aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/EmbroideryImportViewVM.cs43
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs21
2 files changed, 54 insertions, 10 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/EmbroideryImportViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/EmbroideryImportViewVM.cs
index 530893535..eaffab9e5 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/EmbroideryImportViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/EmbroideryImportViewVM.cs
@@ -27,17 +27,50 @@ namespace Tango.MachineStudio.Developer.ViewModels
public ObservableCollection<EmbroideryPath> Paths { get; set; }
- private int _stitchLength;
+ public List<IEmbroideryMaterial> EmbroideryMaterials { get; set; }
- public int StitchLength
+ private IEmbroideryMaterial _selectedEmbroideryMaterial;
+ public IEmbroideryMaterial SelectedEmbroideryMaterial
{
- get { return _stitchLength; }
- set { _stitchLength = value; RaisePropertyChangedAuto(); }
+ get { return _selectedEmbroideryMaterial; }
+ set { _selectedEmbroideryMaterial = value; RaisePropertyChangedAuto(); }
+ }
+
+ private IEmbroideryMaterial _selectedStabilizer;
+ public IEmbroideryMaterial SelectedStabilizer
+ {
+ get { return _selectedStabilizer; }
+ set { _selectedStabilizer = value; RaisePropertyChangedAuto(); }
+ }
+
+ private double _embroideryMaterialThickness;
+ public double EmbroideryMaterialThickness
+ {
+ get { return _embroideryMaterialThickness; }
+ set { _embroideryMaterialThickness = value; RaisePropertyChangedAuto(); }
+ }
+
+ private double _stabilizerThickness;
+ public double StabilizerThickness
+ {
+ get { return _stabilizerThickness; }
+ set { _stabilizerThickness = value; RaisePropertyChangedAuto(); }
+ }
+
+ private bool _hasStabilizer;
+ public bool HasStabilizer
+ {
+ get { return _hasStabilizer; }
+ set { _hasStabilizer = value; RaisePropertyChangedAuto(); }
}
public EmbroideryImportViewVM() : base()
{
- StitchLength = 6;
+ EmbroideryMaterials = EmbroideryMaterialsHelper.GetAvailableEmbroideryMaterials();
+ SelectedEmbroideryMaterial = EmbroideryMaterials.FirstOrDefault();
+ SelectedStabilizer = EmbroideryMaterials.FirstOrDefault();
+ EmbroideryMaterialThickness = 1;
+ StabilizerThickness = 1;
ImportCommand = new RelayCommand(Import);
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index 218733819..566dc7a16 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -1639,7 +1639,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (jobName != null)
{
- AddJobFromEmbroideryFile(jobName, vm.Paths.ToList(), vm.StitchLength, vm.EmbroideryFile, dlg.FileName, view.EmbroideryImageBytes);
+ AddJobFromEmbroideryFile(jobName, vm, dlg.FileName, view.EmbroideryImageBytes);
}
},
() =>
@@ -1649,7 +1649,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
}
}
- private async void AddJobFromEmbroideryFile(String jobName, List<EmbroideryPath> paths, int stitchLength, EmbroideryFile embroideryFile, String fileName, byte[] imageBytes)
+ private async void AddJobFromEmbroideryFile(String jobName, EmbroideryImportViewVM vm, String fileName, byte[] imageBytes)
{
LogManager.Log(String.Format("Adding new job from embroidery file {0}...", jobName));
@@ -1668,12 +1668,23 @@ namespace Tango.MachineStudio.Developer.ViewModels
job.EmbroideryJpeg = imageBytes;
job.HasEmbroideryFile = true;
- foreach (var path in paths.Skip(1))
+ foreach (var path in vm.Paths.Skip(1))
{
Segment segment = new Segment();
- segment.Length = (path.Length / 1000d) * 2d;
+
+ double baseLength = path.Length / 1000d;
+ double embThicknessLength = (vm.EmbroideryMaterialThickness * path.StitchCount) / 1000d;
+ double stabilizerThicknessLength = (vm.StabilizerThickness * path.StitchCount) / 1000d;
+ double totalLength = (baseLength + embThicknessLength) * vm.SelectedEmbroideryMaterial.Coefficient;
+
+ if (vm.HasStabilizer)
+ {
+ totalLength += (stabilizerThicknessLength * vm.SelectedStabilizer.Coefficient);
+ }
+
+ segment.Length = totalLength;
segment.Name = "Embroidery Segment";
- segment.SegmentIndex = paths.IndexOf(path) + 2;
+ segment.SegmentIndex = vm.Paths.IndexOf(path) + 2;
if (path.Brush is SolidColorBrush)
{