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());
        }

 

 

posted on 2006-11-19 17:14  maleesky  阅读(705)  评论(0编辑  收藏  举报