CAD参数绘制圆弧(com接口)

家住魔仙堡 提交于 2020-03-08 06:07:41

在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧。


主要用到函数说明:


_DMxDrawX::DrawArc2


由圆弧上的三点绘制一个圆弧。详细说明如下:


参数 说明

DOUBLE dStartPointX

开始点X坐标

DOUBLE dStartPointY

开始点Y坐标

DOUBLE dMidPointX

圆弧上的一点X坐标

DOUBLE dMidPointY

圆弧上的一点Y坐标

DOUBLE dEndPointX

结束点X坐标

DOUBLE dEndPointY

结束点Y坐标


C#中实现代码说明:


private void DrawArc()
{
    //清空当前显示内容
    axMxDrawX1.NewFile();
    //把颜色改回黑白色
    axMxDrawX1.DrawCADColorIndex = 0;
    //把线型改成实线
    axMxDrawX1.LineType = "";
    //设置线宽 4
    axMxDrawX1.LineWidth = 0;
    //创建一个图层,名为"ArcLayer"
    axMxDrawX1.AddLayer("ArcLayer");
    //设置当前图层为"ArcLayer"
    axMxDrawX1.LayerName = ("ArcLayer");
    //------------------------------------------------------------------------------------------------------------
    //绘制一个实线黑色的圆弧
    axMxDrawX1.DrawArc1(0, 1000, 100, 30, 200);
    //--------------------------------------------------------------------------------------------------------------
    //绘制一个虚线线的圆弧
    axMxDrawX1.AddLinetype("ArcLineType", "30,-5,7,-7");
    //设计当前线型为"ArcLineType"
    axMxDrawX1.LineType = "ArcLineType";
    axMxDrawX1.DrawCADColor = 435322;
    axMxDrawX1.DrawArc1(300, 1000, 100, 30, 200);
    //---------------------------------------------------------------------------------------------------------------
    //绘制一个有宽度的虚线线的圆弧
    axMxDrawX1.LineWidth = 15;
    axMxDrawX1.DrawCADColor = 6335;
    axMxDrawX1.DrawArc1(600, 1000, 100, 30, 200);
    //-----------------------------------------------------------------------------------------------------------------
    //由圆弧上三个点绘制圆弧
    axMxDrawX1.DrawArc2(800, 1000, 900, 1200, 1000, 900);
    //---------------------------------------------------------------------------------------------------------------
    //由圆弧上的开始点,结束度和凸度会圆弧
    axMxDrawX1.LineType = "";
    axMxDrawX1.LineWidth = 40;
    axMxDrawX1.DrawCADColor = 65280;
    axMxDrawX1.DrawArc3(1200, 1000, 1400, 1000, 0.6);
    //把所有的实体都放到当前显示视区
    axMxDrawX1.ZoomAll();
    //更新视区显示
    axMxDrawX1.UpdateDisplay();
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!