LOGO
帮助文档
旧版文档
获取控件注册控件新建一个工程引用控件组件增加控件到对话框上添加画线功能运行效果
获取控件

点击此处下载CAD控件安装包。


pc.png

注册控件

以管理员身份启动CAD控件 \Bin\vc100\RegistMxDrawX.exe ,以向系统注册梦想CAD控件。

新建一个工程

运行Visual Studio,点击左上角【文件(F)】->【新建(N)】->【项目(P)】,选择 Visual Basic ,使用Windows 窗体应用(.NET Framework)新建一个工程。


1.png

引用控件组件

在工具箱窗口单击右键,选择“ 选择项 ”,在弹出的“ 选择工具箱项 ”中点击“ COM组件 ”Tab页。 找到“ MxDrawX52 Control ”并勾选,点击确定添加。

增加控件到对话框上

在工具箱中找到 MxDrawX52 Control ,拖放至WinForm窗口,并适当调整大小,编译运行。 效果如下:


1.png

添加画线功能

增加交互绘直线功能。

在对话框上增加一个“ 绘制直线 ”按钮,并为它添加单击事件。 在时间内添加如下代码:


  •        AxMxDrawX1.DoCommand(1)


DoCommand 函数的功能是执行控件命令;所有与用户交互的函数必须在控件命令中执行,所以这里调用DoCommand执行控件命令。 这里传的参数“1”是命令ID号,这个ID号可以随意取值,有多个命令时,ID值不能重复。

增加CAD控件命令执行事件处理函数并添加如下代码:


  •         Dim app As MxDrawXLib.MxDrawApplication
            app = New MxDrawXLib.MxDrawApplication
            '绘制直线命令代码
            If e.iCommandId = 1 Then
                Dim curSpace2 As MxDrawXLib.MxDrawBlockTableRecord
                curSpace2 = app.WorkingDatabase.CurrentSpace
    
                Dim mxUtility As MxDrawXLib.MxDrawUtility
                mxUtility = New MxDrawXLib.MxDrawUtility
    
                Dim getPt1 As MxDrawXLib.MxDrawPoint
    
                getPt1 = mxUtility.GetPoint(getPt1, Chr(13) + Chr(10) + "点取第一点:")
    
                If (getPt1 Is Nothing) Then
                    MsgBox("用户取消..")
    
                    ' 释放非托管对象
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(curSpace2)
                    curSpace2 = Nothing
    
                    Exit Sub
                End If
    
                Dim getPt2 As MxDrawXLib.MxDrawPoint
    
                getPt2 = mxUtility.GetPoint(getPt1, Chr(13) + Chr(10) + "点取第二点:")
    
                If (getPt2 Is Nothing) Then
                    MsgBox("用户取消..")
    
                    ' 释放非托管对象
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(curSpace2)
                    curSpace2 = Nothing
    
                    Exit Sub
                End If
    
                Dim newLine As MxDrawXLib.MxDrawLine
                newLine = curSpace2.AddLine(getPt1.x, getPt1.y, getPt2.x, getPt2.y)
    
                newLine.colorIndex = MxDrawXLib.MCAD_COLOR.mcRed
    
                ' 释放非托管对象
                System.Runtime.InteropServices.Marshal.ReleaseComObject(curSpace2)
                curSpace2 = Nothing
    
                System.Runtime.InteropServices.Marshal.ReleaseComObject(newLine)
                newLine = Nothing
运行效果

1.png