public List <Bend> GetBendLines()
        {
            var bends     = new List <Bend>();
            var bendNotes = GetBendNotes();

            if (ReplaceSharpRadius)
            {
                FixSharpBends();
            }

            foreach (var line in DxfDocument.Lines)
            {
                if (line.Linetype.Name != "CENTERX2" && line.Layer.Name != "BEND")
                {
                    continue;
                }

                var bend = new Bend
                {
                    Line      = line,
                    Direction = BendDirection.Unknown
                };

                bends.Add(bend);
            }

            AssignBendDirections(bends, bendNotes);

            return(bends.Where(b => b.Radius <= MaxBendRadius).ToList());
        }
Example #2
0
        public bool IsCollinearTo(Bend bend)
        {
            if (bend.IsVertical || this.IsVertical)
            {
                return(bend.IsVertical && this.IsVertical && bend.YIntercept == this.YIntercept);
            }

            if (bend.YIntercept != this.YIntercept)
            {
                return(false);
            }

            return(bend.Slope == this.Slope);
        }
Example #3
0
 public bool IsPerpendicularTo(Bend bend)
 {
     return(Line.IsPerpendicularTo(bend.Line));
 }
Example #4
0
 public bool IsParallelTo(Bend bend)
 {
     return(Line.IsParallelTo(bend.Line));
 }