用户可以在CAD控件视区任意位置绘制直线。
主要用到函数说明:
_DMxDrawX::DrawLine
绘制一个直线。详细说明如下:
参数 | 说明 |
DOUBLE dX1 | 直线的开始点x坐标 |
DOUBLE dY1 | 直线的开始点y坐标 |
DOUBLE dX2 | 直线的结束点x坐标 |
DOUBLE dY2 | 直线的结束点y坐标 |
js中实现代码说明:
function DrawLine() { //清空当前显示内容 mxOcx.NewFile(); //把颜色改回黑白色 mxOcx.DrawCADColorIndex = 0; //把线型改成实线 mxOcx.LineType = ""; //设置线宽 4 mxOcx.LineWidth = 0; //创建一个图层,名为"LineLayer" mxOcx.AddLayer("LineLayer"); //设置当前图层为"LineLayer" mxOcx.LayerName = "LineLayer"; // 直接绘制一个实线 // 参数一直线的开始点x坐标,参数二直线的开始点y坐标,参数三直线的结束点x坐标,参数四直线的结束点y坐标 mxOcx.DrawLine(0, 0, 100, 0); // 绘制一个实斜线 mxOcx.DrawLine(200, 0, 300, 100); //---------------------------------------------------------------------------------------------------------- //绘制一个虚线 //定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。 mxOcx.AddLinetype("MyLineType", "6,-10"); //设计当前线型为"MyLineType" mxOcx.LineType = "MyLineType"; // 绘制一个虚线 mxOcx.DrawLine(0, 30, 100, 30); // 绘制一个斜虚线 mxOcx.DrawLine(200, 30, 300, 130); //--------------------------------------------------------------------------------------------------------- // 修改绘线的颜色为 16711680(蓝色), 16711680转成16进制是0xFF 00 00,其中,FF是蓝色,00是绿色,第个二00是红色。 mxOcx.DrawCADColor = 16711680; // 绘制一个蓝色的虚线 mxOcx.DrawLine(0, 60, 100, 60); // 绘制一个蓝色的斜虚线 mxOcx.DrawLine(200, 60, 300, 160); //--------------------------------------------------------------------------------------------------------- //把颜色改回黑白色 mxOcx.DrawCADColorIndex = 0; //把线型改成实线 mxOcx.LineType = ""; //设置线宽 4 mxOcx.LineWidth = 4; //绘制一个带宽度的直线。 mxOcx.DrawLine(0, 90, 100, 90); // 绘制一个带宽度的斜线 mxOcx.DrawLine(200, 90, 300, 190); //--------------------------------------------------------------------------------------------------------- //绘制一个点划线虚线 mxOcx.AddLinetype("MyLineType2", "10,-2,3,-2"); //把线型改点划线 mxOcx.LineType = "MyLineType2"; // 修改绘线的颜色为 255(红色), 255转成16进制是0x00 00 FF,其中,00是蓝色,第个二00是绿色,FF是红色。 mxOcx.DrawCADColor = 255; //绘制一个带宽度的红色点划线。 mxOcx.DrawLine(0, 120, 100, 120); // 绘制一个带宽度红色点划斜线 mxOcx.DrawLine(200, 120, 300, 220); //--------------------------------------------------------------------------------------------------------- //增加一个带有形的线型 mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1); mxOcx.AddLinetypeEx("MyLineType3", "(12.7,(\"T=MxDraw\",\"S=2.54\",\"L=-5.08\",\"R=0.0\",\"X=-2.54\",\"Y=-1.27\"),-10.08)", "MyLineTypeTextStyle"); mxOcx.LineType = "MyLineType3"; mxOcx.LineWidth = 0; //绘制一个带宽度的红色点划线。 mxOcx.DrawLine(350, 120, 600, 120); //--------------------------------------------------------------------------------------------------------- //增加一个带有形的线型 //把颜色改回黑白色 mxOcx.DrawCADColorIndex = 0; mxOcx.LineType = "FENCELINE1"; mxOcx.LineWidth = 0; //绘制一个带宽度的红色点划线。 mxOcx.DrawLine(350, 220, 600, 220); //把所有的实体都放到当前显示视区 mxOcx.ZoomAll(); //更新视区显示 mxOcx.UpdateDisplay(); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。