zoukankan      html  css  js  c++  java
  • AutoCAD.Net/C#.Net QQ群:193522571 绘制椭圆及椭圆弧

    这个椭圆好坑。

            /// <summary>
            /// 绘制椭圆及椭圆弧,注意当dX>dY时以X轴正方向为起始角,当dX<dY时以Y轴正方向为起始角
            /// </summary>
            /// <param name="db"></param>
            /// <param name="pt">椭圆中心点</param>
            /// <param name="dX">X轴轴长</param>
            /// <param name="dY">Y轴轴长</param>
            /// <param name="dStartAng">起始角(当dX>dY时以X轴正方向为起始角,当dX<dY时以Y轴正方向为起始角)</param>
            /// <param name="dEndAng">终止角(当dX>dY时以X轴正方向为起始角,当dX<dY时以Y轴正方向为起始角,注意方向为逆时针)</param>
            /// <returns></returns>
            public static ObjectId DrawEllipse(this Database db, Point3d pt,
                     double dX, double dY, double dStartAng = 0, double dEndAng = 360)
            {
                double dAngStart = dStartAng.DegreeToRadian();
                double dAngEnd = dEndAng.DegreeToRadian();
    
                //这个有点坑,长轴短轴要搞清楚
                Vector3d majorAxis = dX > dY ? new Vector3d(dX, 0, 0) : new Vector3d(0, dY, 0);
                //这个radio要弄清楚,必须小于1,不然就会出问题
                Ellipse ellipseArc = new Ellipse(pt, Vector3d.ZAxis, majorAxis, dX > dY ? dY / dX : dX / dY, dAngStart, dAngEnd);
    
                return db.AddToCurrentSpace(ellipseArc);
            }
  • 相关阅读:
    前端3
    前端-1
    第三十七章 MYSQL(二)
    第三十六章 MYSQL语句(一)
    第三十五 MYSQL 语句
    数字转换成中文大小写、金额大小写
    NPOI随笔——图片在单元格等比缩放且居中显示
    NPOI随笔——单元格样式CellStyle问题
    C++、C#、VB各语言日志代码
    .NET认识与理论总结
  • 原文地址:https://www.cnblogs.com/swtool/p/14975345.html
Copyright © 2011-2022 走看看