個人認為用命令操作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內部命名。