zoukankan      html  css  js  c++  java
  • 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(120100);
                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 "truefalsetrue);//line后面有空格表示确定
            }

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

    身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
  • 相关阅读:
    Don’t Cross 32 GB!
    Kafka 是如何保证数据可靠性和一致性
    水塘抽样(Reservoir Sampling)问题
    实际场景HBase读写设计与实践
    Spark2.3整合kafka010手动管理offset
    周期性清除Spark Streaming流状态的方法
    Spark状态管理State的应用
    Effective C++
    马尔科夫链模型
    非线性规划
  • 原文地址:https://www.cnblogs.com/birdofparadise/p/6919373.html
Copyright © 2011-2022 走看看