C#操作CAD-调用winform

个人认为用命令操作cad会比较便捷,但是鉴于好多人喜欢通过鼠标点击的方式操作cad,在此讲一下如何调用winform。前期准备请看上篇文章。

1、在新建好项目并引用接口dll的前提下,新建一个winform或者用户控件。

直接调用winform会在电脑上直接生成一个独立于cad的窗体,我感觉很不舒服,所以我直接讲解生成PaletteSet(内嵌入cad窗口)的方法流程。

2、调用过程其实就是执行一个函数而已,而函数的调用需要用户输入命令(当然也可以让调用自动执行),设计好用户控件后,我们在任意一个类里面写入以下代码:

public class Main : IExtensionApplication
    {
        [CommandMethod("show")]
        public void Initialize()
        {
            UserControl1 control1 = new UserControl1();
            PaletteSet ps = new PaletteSet("面板1");
            ps.Size = new System.Drawing.Size(120, 100);
            ps.Style = PaletteSetStyles.ShowCloseButton;
            ps.Add("用户控件", control1);
            ps.Visible = true;
        }
        public void Terminate()
        { }
    }

3、和执行一个普通命令一样,在cad命令窗口里面输入show就会在cad窗口左边生成一个内嵌入cad的panel,上面的按钮都可以正常使用。

附上一个button事件:

private void mi1_Click(object sender, EventArgs e)
        {
            Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
            doc.SendStringToExecute("Line ", true, false, true);//line后面有空格表示确定
        }

以上代码和在命令行输入line的效果一模一样,调用的是cad内部命名。