ポリラインを描画するためのCADパラメータ(COMインターフェース)

一緒に描かれても知らポリラインポリラインは、複合オブジェクトを表す一緒に接続されている、直鎖状であってもよいし、円弧状であってもよく、それらは、異なる幅を追加することができます。

機能の主な用途:

_DMxDrawX :: PathLineTo

指定された位置への経路のポイント。詳細は以下のとおりです。

パラメータ 説明

DOUBLEのdX

X点の座標

DOUBLE量dY

Yは、点の座標

_DMxDrawX :: DrawPathToPolyline

パスがポリラインになります。

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

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

private void DrawPolyline()

{

    //Polyline 又称多义线,就是可以绘制多条首尾相连的线,也可以是圆弧相连,同是可以制定线的开始和结束宽

    //把颜色改回成黑白色

    axMxDrawX1.DrawCADColorIndex = 0;

  

    //把线型改成实线

    axMxDrawX1.LineType = "";

  

    //设置线宽 4

    axMxDrawX1.LineWidth = 4;

  

    //创建一个图层,名为"PolylineLayer"

    axMxDrawX1.AddLayer("PolylineLayer");

  

    //设置当前图层为"PolylineLayer"

    axMxDrawX1.LayerName = ("PolylineLayer");

  

    /*--------------------------------------------------*/

    //用Polyline显示绘制矩形框

  

    //定义下一个路径的开始点

    axMxDrawX1.PathMoveTo(0, 300);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(100, 300);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(100, 400);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(0, 400);

  

    //把路径设置成闭合

    axMxDrawX1.PathMakeClosed();

  

    //把路径闭合,生成一个举行框

    axMxDrawX1.DrawPathToPolyline();

  

    /*--------------------------------------------------*/

    //绘制一个有宽度,带线型的矩形框

    //定义一个路径的开始点

    axMxDrawX1.PathMoveTo(200, 300);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(300, 300);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(300, 400);

  

    //路径的下一个点

    axMxDrawX1.PathLineTo(200, 400);

        

    axMxDrawX1.AddLinetype("MyLineType3""30, -10");

  

    axMxDrawX1.LineType = "MyLineType3";

  

    axMxDrawX1.DrawCADColorIndex = 255;

  

    axMxDrawX1.LineWidth = 5;

  

    //把路径设置成闭合

    axMxDrawX1.PathMakeClosed();

    //把路径闭合,生成一个举行框

    axMxDrawX1.DrawPathToPolyline();

  

    /*--------------------------------------------------*/

    //绘制一个有宽度的矩形框

    //定义路径的开始点

    axMxDrawX1.PathMoveTo(400, 300);

    //定义路径的下一个点

    axMxDrawX1.PathLineTo(500, 300);

    //定义路径的下一个点

    axMxDrawX1.PathLineTo(500, 400);

    //定义路径的下一个点

    axMxDrawX1.PathLineTo(400, 400);

    //把路径设置成闭合

    axMxDrawX1.PathMakeClosed();

    //修改颜色

    axMxDrawX1.DrawCADColor = 65280;

    //把线型设置成实线

    axMxDrawX1.LineType = "";

    //设置线宽

    axMxDrawX1.LineWidth = 4;

    //把闭合路径设置成一个矩形框

    axMxDrawX1.DrawPathToPolyline();

  

    /*--------------------------------------------------*/

    //绘制一个有宽度的,不闭合的矩形框

    //定义一个路径的起始点

    axMxDrawX1.PathMoveTo(600, 300);

    //定义下一个点

    axMxDrawX1.PathLineTo(700, 300);

    //定义下一个点

    axMxDrawX1.PathLineTo(700, 400);

    //定义下一个点

    axMxDrawX1.PathLineTo(600, 400);

    //设置线的颜色

    axMxDrawX1.DrawCADColor = 255;

    //设置线型为实线

    axMxDrawX1.LineType = "";

    //设置线宽10

    axMxDrawX1.LineWidth = 10;

    //把闭合路径设置成一个矩形框

    axMxDrawX1.DrawPathToPolyline();

    /*--------------------------------------------------*/

    //绘制一个有宽度的三角形

    //定义路径的起始点

    axMxDrawX1.PathMoveTo(800, 300);

    //定义下一个点

    axMxDrawX1.PathLineTo(900, 300);

    //定义下一个点

    axMxDrawX1.PathLineTo(900, 400);

    //闭合路径

    axMxDrawX1.PathMakeClosed();

    //设置线的颜色

    axMxDrawX1.DrawCADColor = 62580;

    //设置线型为实线

    axMxDrawX1.LineType = "";

    //设置线宽10

    axMxDrawX1.LineWidth = 5;

    //闭合路径,把闭合路径设置成一个三角形

    axMxDrawX1.DrawPathToPolyline();

    /*--------------------------------------------------*/

    //绘制一个箭头

    axMxDrawX1.PathMoveToEx(1000, 300, 10, 10, 0);

    //设置路径下一点

    axMxDrawX1.PathLineToEx(1000, 500, 30, 0, 0);

    //设置路径下一点

    axMxDrawX1.PathLineTo(1000, 530);

    //闭合路径,把闭合路径设置成一个箭头

    axMxDrawX1.DrawPathToPolyline();

  

    /*--------------------------------------------------*/

    //绘制一个虚线箭头

    axMxDrawX1.PathMoveToEx(1100, 300, 10, 10, 0);

    //设置路径下一点

    axMxDrawX1.PathLineToEx(1100, 500, 30, 0, 0);

    //设置路径下一点

    axMxDrawX1.PathLineTo(1100, 580);

    //设置线型为实线“MyLineType3”

    axMxDrawX1.LineType = "MyLineType3";

    //闭合路径,把闭合路径设置成一个虚线箭头

    axMxDrawX1.DrawPathToPolyline();

  

    /*--------------------------------------------------*/

    //绘制一个圆弧箭头

    axMxDrawX1.PathMoveToEx(1200, 300, 10, 10, -0.34);

    //设置路径下一点

    axMxDrawX1.PathLineToEx(1200, 500, 30, 0, 0.34);

    //设置路径下一点

    axMxDrawX1.PathLineTo(1200, 600);

    //设置线的颜色

    axMxDrawX1.DrawCADColor = 255;

    //设置线型为实线“MyLineType3”

    axMxDrawX1.LineType = "MyLineType3";

    //闭合路径,把闭合路径设置成一个圆弧箭头

    axMxDrawX1.DrawPathToPolyline();

  

    //把所有实体都放到当前显示视区

    axMxDrawX1.ZoomAll();

  

    //更新视区显示

    axMxDrawX1.UpdateDisplay();

}

結果は:

DrawPolyline()イベントをトリガし、ボタンをクリックしてポリラインを描画し、ユーザーは、CADビューポートのために必要なポリラインコントロールを描画することができます。下図のように:

C#のdrawpl.png

おすすめ

転載: blog.csdn.net/u013725001/article/details/92978394
おすすめ