返回介绍

绘制直线

发布于 2023-08-09 23:10:34 字数 4565 浏览 0 评论 0 收藏 0

用户可以在CAD控件视区任意位置绘制直线。

主要用到函数说明:

函数名:_DMxDrawX::DrawLine

绘制一个直线。详细说明如下:

参数说明
DOUBLE dX1直线的开始点x坐标
DOUBLE dY1直线的开始点y坐标
DOUBLE dX2直线的结束点x坐标
DOUBLE dY2直线的结束点y坐标

C#中实现代码说明:

private void Drawline()
{
            
    //把颜色改回黑白色
    axMxDrawX1.DrawCADColorIndex = 0;
 
    //把线型改成实线
    axMxDrawX1.LineType = "";
 
    //设置线宽4
    axMxDrawX1.LineWidth = 0;
 
    //创建一个图层,名为“LineLayer”
    axMxDrawX1.AddLayer("LineLayer");
 
    //绘制一个实线
    axMxDrawX1.DrawLine(0, 0, 100, 0);
 
    //绘制一个虚线
    //定义虚线数据,“MyLineType”是线型名,“6, -8”是虚线的一个单位定义,6是实线长,-8是空格长度。
    axMxDrawX1.AddLinetype("MyLinetype", "6, -8");
 
    //设计当前线型为“MyLineType”
    axMxDrawX1.LineType = "MyLineType";
 
    //绘制一个虚线
    axMxDrawX1.DrawLine(0, 30, 100, 30);
 
    //绘制一个斜虚线
    axMxDrawX1.DrawLine(200, 30, 300, 130);
 
    /*---------------------------------------------------------------------*/
    //修改线的颜色为16711680(蓝色),16711680转换成16精致是0xFF 00 00,其中FF是蓝色,00是绿色,第二个00是红色。
    axMxDrawX1.DrawCADColor = 16711680;
 
    //绘制一个蓝色的虚线
    axMxDrawX1.DrawLine(0, 60, 100, 60);
 
    //绘制一个蓝色的斜虚线
    axMxDrawX1.DrawLine(200, 60, 300, 160);
 
 
    /*--------------------------------------------------------------------*/
    //把线颜色改回黑色
    axMxDrawX1.DrawCADColor = 0;
 
    //线型改成实线
    axMxDrawX1.LineType = "";
 
    //设置线宽为4
    axMxDrawX1.LineWidth = 4;
 
    //绘制一个带宽度的直线
    axMxDrawX1.DrawLine(0, 90, 100, 90);
 
    //绘制一个带宽度的斜直线
    axMxDrawX1.DrawLine(200, 90, 300, 90);
 
    /*-------------------------------------------------------------------*/
    //绘制一个点划线虚线
    axMxDrawX1.AddLinetype("MyLinetype2", "10, -2, 3, -4");
 
    //把线型改成点划线
    axMxDrawX1.LineType = "MyLinetype2";
 
    //修改绘线的颜色为255(红色),255转成16进制是0x00 00,其中00是蓝色,第二个00是绿色,FF是红色。
    axMxDrawX1.DrawCADColor = 255;
 
    //绘制一个带宽度的红色点划线
    axMxDrawX1.DrawLine(0, 120, 100, 120);
 
    //绘制一个宽度红色点划斜线
    axMxDrawX1.DrawLine(200, 120, 300, 220);
 
    /*----------------------------------------------------------------*/
    //增加一个带有形的线型
    axMxDrawX1.AddTextStyle1("MyLineTextStyle", "txt.shx", "hztxt.shx", 1);
    axMxDrawX1.AddLinetypeEx("MyLineType3", "12.7, (\"T=MxDraw\", \"s=2.54\", \"L=-5.08\", \"R=0.0\",\"X=-2.54\",\"Y=-1.27\"), -10.08)", "MyLineTypeTextStyle");
 
    axMxDrawX1.LineType = "MyLineType3";
 
    axMxDrawX1.LineWidth = 0;
 
    //绘制一个带宽度的红色点划线
    axMxDrawX1.DrawLine(300, 120, 600, 120);
 
    //绘制一个带宽度红色点划斜线
    axMxDrawX1.DrawLine(400, 120, 600, 220);
 
    //把所有实体都放到当前显示视区
    axMxDrawX1.ZoomAll();
 
    //更新视区显示
    axMxDrawX1.UpdateDisplay();
}

效果展示:

通过点击绘制直线按钮,触发DrawLine()事件,CAD控件视区将显示在c#中设置好的直线。如下图所示:

C#drawline.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文