CAD参数绘制直线(com接口)
Posted lihao2014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAD参数绘制直线(com接口)相关的知识,希望对你有一定的参考价值。
用户可以在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#中设置好的直线。如下图所示:
以上是关于CAD参数绘制直线(com接口)的主要内容,如果未能解决你的问题,请参考以下文章