Cleanup GetEtchLines

This commit is contained in:
AJ
2019-10-01 20:06:04 -04:00
parent d6b000ee51
commit bf8568f2cf
2 changed files with 17 additions and 46 deletions

View File

@@ -57,25 +57,13 @@ namespace EtchBendLines
{ {
var lines = new List<Line>(); var lines = new List<Line>();
var etchLayer = new Layer("ETCH")
{
Color = AciColor.Green,
};
var startPoint = new Vector2(Line.StartPoint.X, Line.StartPoint.Y); var startPoint = new Vector2(Line.StartPoint.X, Line.StartPoint.Y);
var endPoint = new Vector2(Line.EndPoint.X, Line.EndPoint.Y); var endPoint = new Vector2(Line.EndPoint.X, Line.EndPoint.Y);
var bendLength = startPoint.DistanceTo(endPoint); var bendLength = startPoint.DistanceTo(endPoint);
if (bendLength < (etchLength * 3.0)) if (bendLength < (etchLength * 3.0))
{ {
var fullLengthLine = new Line(Line.StartPoint, Line.EndPoint) lines.Add(new Line(Line.StartPoint, Line.EndPoint));
{
Layer = etchLayer
};
lines.Add(fullLengthLine);
return lines;
} }
else else
{ {
@@ -85,33 +73,19 @@ namespace EtchBendLines
{ {
var x = Line.StartPoint.X; var x = Line.StartPoint.X;
var bottomY1 = Line.StartPoint.Y < Line.EndPoint.Y ? Line.StartPoint.Y : Line.EndPoint.Y; var bottomY1 = Math.Min(startPoint.Y, endPoint.Y);
var bottomY2 = bottomY1 + etchLength; var bottomY2 = bottomY1 + etchLength;
var topY1 = Line.StartPoint.Y > Line.EndPoint.Y ? Line.StartPoint.Y : Line.EndPoint.Y; var topY1 = Math.Max(startPoint.Y, endPoint.Y);
var topY2 = topY1 - etchLength; var topY2 = topY1 - etchLength;
var p1 = new Vector2(x, bottomY1); var p1 = new Vector2(x, bottomY1);
var p2 = new Vector2(x, bottomY2); var p2 = new Vector2(x, bottomY2);
var p3 = new Vector2(x, topY1); var p3 = new Vector2(x, topY1);
var p4 = new Vector2(x, topY2); var p4 = new Vector2(x, topY2);
var bottomPoint = Line.StartPoint.Y < Line.EndPoint.Y ? Line.StartPoint : Line.EndPoint; lines.Add(new Line(p1, p2));
var bottomOffsetPoint = new Vector2(bottomPoint.X, bottomPoint.Y + etchLength); lines.Add(new Line(p3, p4));
var line1 = new Line(p1, p2)
{
Layer = etchLayer
};
var line2 = new Line(p3, p4)
{
Layer = etchLayer
};
lines.Add(line1);
lines.Add(line2);
} }
else else
{ {
@@ -123,25 +97,24 @@ namespace EtchBendLines
var p1 = new Vector2(start.X, start.Y); var p1 = new Vector2(start.X, start.Y);
var p2 = new Vector2(start.X + x1, start.Y + y1); var p2 = new Vector2(start.X + x1, start.Y + y1);
var p3 = new Vector2(end.X, end.Y); var p3 = new Vector2(end.X, end.Y);
var p4 = new Vector2(end.X - x1, end.Y - y1); var p4 = new Vector2(end.X - x1, end.Y - y1);
var line1 = new Line(p1, p2) lines.Add(new Line(p1, p2));
{ lines.Add(new Line(p3, p4));
Layer = etchLayer
};
var line2 = new Line(p3, p4)
{
Layer = etchLayer
};
lines.Add(line1);
lines.Add(line2);
} }
} }
var etchLayer = new Layer("ETCH")
{
Color = AciColor.Green,
};
foreach (var line in lines)
{
line.Layer = etchLayer;
}
return lines; return lines;
} }

View File

@@ -18,8 +18,6 @@ namespace EtchBendLines
Color = AciColor.Yellow Color = AciColor.Yellow
}; };
static Regex bendNoteRegex = new Regex(@"(?<direction>UP|DOWN|DN)\s*(?<angle>\d*(\.\d*)?)°\s*R\s*(?<radius>\d*(\.\d*)?)");
static void Main(string[] args) static void Main(string[] args)
{ {
var path = AppDomain.CurrentDomain.BaseDirectory; var path = AppDomain.CurrentDomain.BaseDirectory;