diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-05 12:34:58 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-05 12:34:58 +0200 |
| commit | 628819a1787290f84c22ecc7cb747f649fd54468 (patch) | |
| tree | abc7aa70a02818bc0549e36f82564d278ec247c6 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels | |
| parent | 4a9f241ed8230586242621795f76aa0add9f6008 (diff) | |
| download | Tango-628819a1787290f84c22ecc7cb747f649fd54468.tar.gz Tango-628819a1787290f84c22ecc7cb747f649fd54468.zip | |
Added dynamic factoring for embroidery import thread length.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
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) { |
