internal static SvgPath GetSvgPath(this DxfArc arc) { var startAngle = arc.StartAngle * Math.PI / 180.0; var endAngle = arc.EndAngle * Math.PI / 180.0; return(SvgPath.FromEllipse(arc.Center.X, arc.Center.Y, arc.Radius, 0.0, 1.0, startAngle, endAngle)); }
public static XElement ToXElement(this DxfHatch hatch) { List <SvgPathSegment> segments = new List <SvgPathSegment>(); // TODO: support/check all HatchStyle if (hatch.HatchStyle == DxfHatchStyle.OddParity) { return(null); } foreach (var bp in hatch.BoundaryPaths) { var s = GetSvgPathSegments(bp); if (s != null) { segments.AddRange(s); } } var path = new SvgPath(segments); return(new XElement(DxfToSvgConverter.Xmlns + "path", new XAttribute("d", path.ToString()), new XAttribute("fill-opacity", hatch.Transparency < 100 ? 100 - hatch.Transparency: 100), new XAttribute("fill", hatch.Color.ToRGBString())) .AddVectorEffect()); }
internal static SvgPath GetSvgPath(this DxfEllipse ellipse) { return(SvgPath.FromEllipse(ellipse.Center.X, ellipse.Center.Y, ellipse.MajorAxis.X, ellipse.MajorAxis.Y, ellipse.MinorAxisRatio, ellipse.StartParameter, ellipse.EndParameter)); }