CAD参数绘制直线(com接口)

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

主要用到函数说明:

_DMxDrawX::DrawLine

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

参数说明

DOUBLE dX1

直线的开始点x坐标

DOUBLE dY1

直线的开始点y坐标

DOUBLE dX2

直线的结束点x坐标

DOUBLE dY2

直线的结束点y坐标

C#中实现代码说明:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值