DXF格式研究
public void WriteLine(PointD startPoint, PointD endPoint, String layer)
{
w.AppendLine("0");
w.AppendLine("LINE");
w.AppendLine("5");
w.AppendLine(DxfHandeCode.GetDxfHand());
w.AppendLine("100");
w.AppendLine("AcDbEntity");
w.AppendLine("8");
w.AppendLine(layer);
w.AppendLine("100");
w.AppendLine("AcDbLine");
w.AppendLine("10");
w.AppendLine(startPoint.X.ToString());
w.AppendLine("20");
w.AppendLine(startPoint.Y.ToString());
w.AppendLine("30");
w.AppendLine("0.0");
w.AppendLine("11");
w.AppendLine(endPoint.X.ToString());
w.AppendLine("21");
w.AppendLine(endPoint.Y.ToString());
w.AppendLine("31");
w.AppendLine("0.0");
}
public void WriteCircle(PointD centerPoint,double radius,String layer)
{
w.AppendLine("0");
w.AppendLine("CIRCLE");
w.AppendLine("5");
w.AppendLine(DxfHandeCode.GetDxfHand());
w.AppendLine("100");
w.AppendLine("AcDbEntity");
w.AppendLine("8");
w.AppendLine(layer);
w.AppendLine("100");
w.AppendLine("AcDbCircle");
w.AppendLine("10");
w.AppendLine(centerPoint.X.ToString());
w.AppendLine("20");
w.AppendLine(centerPoint.Y.ToString());
w.AppendLine("30");
w.AppendLine("0.0");
w.AppendLine("40");
w.AppendLine(radius.ToString());
}
public void WriteArc(PointD centerPoint, double radius,double startAngle,double endAngle, String layer)
{
//
//enDAngle 角度(0-3&0)
w.AppendLine("0");
w.AppendLine("ARC");
w.AppendLine("5");
w.AppendLine(DxfHandeCode.GetDxfHand());
w.AppendLine("100");
w.AppendLine("AcDbEntity");
w.AppendLine("8");
w.AppendLine(layer);
w.AppendLine("100");
w.AppendLine("AcDbCircle");
w.AppendLine("10");
w.AppendLine(centerPoint.X.ToString());
w.AppendLine("20");
w.AppendLine(centerPoint.Y.ToString());
w.AppendLine("30");
w.AppendLine("0.0");
w.AppendLine("40");
w.AppendLine(radius.ToString());
w.AppendLine("100");
w.AppendLine("AcDbArc");
w.AppendLine("50");
w.AppendLine(startAngle.ToString());
w.AppendLine("51");
w.AppendLine(endAngle.ToString());
}