个人认为用命令操作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内部命名。
时间: 2024-12-19 15:00:20