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

http://www.mxdraw.com/下载控件安装包。


123.png

注册控件

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

新建一个工程

运行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值不能重复。

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


  •         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

MxDraw
MxDraw是由梦想凯德基于AutoDesk CAD平台开发的软件,拥有完全自主的核心技术和知识产权。MxDraw致力于为各企业提供最优秀的CAD平台整体解决方案。
技术服务
TEL:400-888-5703
185-8173-1060
QQ:827867134,6884123
产品购买
TEL:400-888-5703
185-8173-1060
QQ:827867134,6884123
用户交流
QQ群1:827867134
QQ群2:827867134
QQ群3:827867134