From 4c5a11c8656fba03dfb5384b0f96bf01e86fecce Mon Sep 17 00:00:00 2001 From: AJ Date: Fri, 7 May 2021 14:23:35 -0400 Subject: [PATCH] Display only parts --- PepLib/IO/PlateReader.cs | 74 ++++++++++++++++++++++++---------------- PepLib/Part.cs | 2 ++ PepLib/PepLib.csproj | 7 ++-- PepLib/packages.config | 4 --- 4 files changed, 50 insertions(+), 37 deletions(-) delete mode 100644 PepLib/packages.config diff --git a/PepLib/IO/PlateReader.cs b/PepLib/IO/PlateReader.cs index b8244d3..53bae97 100644 --- a/PepLib/IO/PlateReader.cs +++ b/PepLib/IO/PlateReader.cs @@ -25,46 +25,62 @@ namespace PepLib.IO Plate.Name = name; - foreach (var code in pgm) + for (int i = 0; i < pgm.Count; i++) { - switch (code.CodeType()) + var block = pgm[i]; + + switch (block.CodeType()) { case CodeType.CircularMove: - { - var arc = (CircularMove)code; - pos = arc.EndPoint; - break; - } + { + var arc = (CircularMove)block; + pos = arc.EndPoint; + break; + } case CodeType.LinearMove: - { - var line = (LinearMove)code; - pos = line.EndPoint; - break; - } + { + var line = (LinearMove)block; + pos = line.EndPoint; + break; + } case CodeType.RapidMove: - { - var rapid = (RapidMove)code; - pos = rapid.EndPoint; - break; - } + { + var rapid = (RapidMove)block; + pos = rapid.EndPoint; + break; + } case CodeType.Comment: - { - var comment = (Comment)code; - LoadInfo(comment.Value); - break; - } + { + var comment = (Comment)block; + LoadInfo(comment.Value); + break; + } case CodeType.SubProgramCall: - { - var subpgm = (SubProgramCall)code; - var loop = nest.GetLoop(subpgm.LoopId); - var part = Part.Create(loop, pos, AngleConverter.ToRadians(subpgm.Rotation)); - Plate.Parts.Add(part); - break; - } + { + var subpgm = (SubProgramCall)block; + var loop = nest.GetLoop(subpgm.LoopId); + var part = Part.Create(loop, pos, AngleConverter.ToRadians(subpgm.Rotation)); + + var nextBlock = pgm[i + 1]; + + if (nextBlock.CodeType() == CodeType.Comment) + { + var comment = nextBlock as Comment; + + if (comment.Value == "DISPLAY ONLY") + { + part.IsDisplayOnly = true; + i++; + } + } + + Plate.Parts.Add(part); + break; + } } } } diff --git a/PepLib/Part.cs b/PepLib/Part.cs index 670eb88..4dc10ee 100644 --- a/PepLib/Part.cs +++ b/PepLib/Part.cs @@ -71,6 +71,8 @@ namespace PepLib get { return baseLoop.Rotation; } } + public bool IsDisplayOnly { get; set; } = false; + public void Rotate(double angle) { baseLoop.Rotate(angle); diff --git a/PepLib/PepLib.csproj b/PepLib/PepLib.csproj index 719ed4a..c942240 100644 --- a/PepLib/PepLib.csproj +++ b/PepLib/PepLib.csproj @@ -33,9 +33,6 @@ false - - ..\..\packages\DotNetZip.1.13.3\lib\net40\DotNetZip.dll - @@ -99,7 +96,9 @@ - + + 1.13.3 +