以梦为马,不负韶华

搜索
查看: 1165|回复: 3
收起左侧

CAD参数绘制直线(网页版)

[复制链接]
发表于 2019-6-18 11:36:41 显示全部楼层 |阅读模式
用户可以在CAD控件视区任意位置绘制直线。

主要用到函数说明:

_DMxDrawX::DrawLine

绘制一个直线。详细说明如下:
参数 说明
DOUBLE dX1 直线的开始点x坐标
DOUBLE dY1 直线的开始点y坐标
DOUBLE dX2 直线的结束点x坐标
DOUBLE dY2 直线的结束点y坐标
js中实现代码说明:
  1. function DrawLine() {
  2.     //清空当前显示内容
  3.     mxOcx.NewFile();
  4.     //把颜色改回黑白色
  5.     mxOcx.DrawCADColorIndex = 0;
  6.     //把线型改成实线
  7.     mxOcx.LineType = "";
  8.     //设置线宽 4
  9.     mxOcx.LineWidth = 0;
  10.     //创建一个图层,名为"LineLayer"
  11.     mxOcx.AddLayer("LineLayer");
  12.     //设置当前图层为"LineLayer"
  13.     mxOcx.LayerName = "LineLayer";
  14.     // 直接绘制一个实线
  15.     // 参数一直线的开始点x坐标,参数二直线的开始点y坐标,参数三直线的结束点x坐标,参数四直线的结束点y坐标
  16.     mxOcx.DrawLine(0, 0, 100, 0);
  17.     // 绘制一个实斜线
  18.     mxOcx.DrawLine(200, 0, 300, 100);
  19.     //----------------------------------------------------------------------------------------------------------
  20.     //绘制一个虚线
  21.     //定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
  22.     mxOcx.AddLinetype("MyLineType", "6,-10");
  23.     //设计当前线型为"MyLineType"
  24.     mxOcx.LineType = "MyLineType";
  25.     // 绘制一个虚线
  26.     mxOcx.DrawLine(0, 30, 100, 30);
  27.     // 绘制一个斜虚线
  28.     mxOcx.DrawLine(200, 30, 300, 130);
  29.     //---------------------------------------------------------------------------------------------------------
  30.     // 修改绘线的颜色为 16711680(蓝色),  16711680转成16进制是0xFF 00 00,其中,FF是蓝色,00是绿色,第个二00是红色。
  31.     mxOcx.DrawCADColor = 16711680;
  32.     // 绘制一个蓝色的虚线
  33.     mxOcx.DrawLine(0, 60, 100, 60);
  34.     // 绘制一个蓝色的斜虚线
  35.     mxOcx.DrawLine(200, 60, 300, 160);
  36.     //---------------------------------------------------------------------------------------------------------
  37.     //把颜色改回黑白色
  38.     mxOcx.DrawCADColorIndex = 0;
  39.     //把线型改成实线
  40.     mxOcx.LineType = "";
  41.     //设置线宽 4
  42.     mxOcx.LineWidth = 4;
  43.     //绘制一个带宽度的直线。
  44.     mxOcx.DrawLine(0, 90, 100, 90);
  45.     // 绘制一个带宽度的斜线
  46.     mxOcx.DrawLine(200, 90, 300, 190);
  47.     //---------------------------------------------------------------------------------------------------------
  48.     //绘制一个点划线虚线
  49.     mxOcx.AddLinetype("MyLineType2", "10,-2,3,-2");
  50.     //把线型改点划线
  51.     mxOcx.LineType = "MyLineType2";
  52.     // 修改绘线的颜色为 255(红色),  255转成16进制是0x00 00 FF,其中,00是蓝色,第个二00是绿色,FF是红色。
  53.     mxOcx.DrawCADColor = 255;
  54.     //绘制一个带宽度的红色点划线。
  55.     mxOcx.DrawLine(0, 120, 100, 120);
  56.     // 绘制一个带宽度红色点划斜线
  57.     mxOcx.DrawLine(200, 120, 300, 220);
  58.     //---------------------------------------------------------------------------------------------------------
  59.     //增加一个带有形的线型
  60.     mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
  61.     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");
  62.     mxOcx.LineType = "MyLineType3";
  63.     mxOcx.LineWidth = 0;
  64.     //绘制一个带宽度的红色点划线。
  65.     mxOcx.DrawLine(350, 120, 600, 120);
  66.     //---------------------------------------------------------------------------------------------------------
  67.     //增加一个带有形的线型
  68.     //把颜色改回黑白色
  69.     mxOcx.DrawCADColorIndex = 0;
  70.     mxOcx.LineType = "FENCELINE1";
  71.     mxOcx.LineWidth = 0;
  72.     //绘制一个带宽度的红色点划线。
  73.     mxOcx.DrawLine(350, 220, 600, 220);
  74.     //把所有的实体都放到当前显示视区
  75.     mxOcx.ZoomAll();
  76.     //更新视区显示
  77.     mxOcx.UpdateDisplay();
  78. }
复制代码


 成长值: 47995

发表于 2019-6-18 11:36:41 显示全部楼层
请问下什么时候能用到“带有形的线型”?
回复 支持 反对

使用道具 举报

 成长值: 42690

发表于 2019-6-18 11:36:41 显示全部楼层
这是需要编程的节奏呀。
回复 支持 反对

使用道具 举报

发表于 2019-6-18 11:36:41 显示全部楼层
这么长的代码
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-7 17:10

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表