中望CAD下C#开发独立运行EXE程序教程

中望CAD的C#二次开发资料非常的匮乏,反正我在官方基本上找不到资料,在CAD软件中输入HELP弹出的帮助窗口,例子全是VBA的,都什么年代了,谁还用VBA啊。
相对于AUTOCAD,中望CAD还支持一种不同的开发方式,可以开发一个独立的EXE程序,但是前提仍然是依赖本机已经安装了中望CAD。

1.新建工程

正常新建一个C#的Console Applicaiton即可。

2.依赖

C#依赖库就在已经安装的中望CAD目录下,加入以下几个DLL即可。

ZWCAD.exe
ZwDatabaseMgd.dll
ZwManaged.dll

3.示例代码

整个逻辑跟用一个普通库一样,底层通信完全屏蔽掉了。
在实际测试中发现,该种方式在试用版(或者你懂得版本)使用时,迭代所有实例对象会出现崩溃,但是正版没问题。说实话,如果把这个当一个DWG读写库来用,还不如几百美元买一个ODA两年的最便宜的授权,远比这种模式好用多了。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;
using ZWCAD;
using CommandLine;

namespace ZWCADStartup
{
    internal class Program
    {
        public class Options
        {
            [Option('f', "file", Required = true, HelpText = "DWG File")]
            public string File { get; set; }
        }

        private static void Main(string[] args)
        {
            Parser.Default.ParseArguments<Options>(args).WithParsed(Run);
        }

        private static void Run(Options option)
        {
            //参数校验
            if (!File.Exists(option.File))
            {
                return;
            }

            ZcadApplication app = new ZcadApplication();
            app.Visible = false;//不显示窗口

            //打开文档,或者新建文档,此处第二个参数表示只读模式打开
            ZcadDocument zdocument = app.Documents.Open(option.File, true);
            if (zdocument != null)
            {
                //数据库
                ZcadDatabase zdatabase = zdocument.Database;
                //模型空间,有何种方便添加对象的函数。
                ZcadModelSpace modelSpace = zdocument.ModelSpace;
                //遍历所有实体
                for (int i = 0; i < modelSpace.Count; ++i)
                {
                    Console.WriteLine(modelSpace.Item(i).Handle);
                }
                
                //如果数据有修改,需要调用ZcadDocument .Save
                zdocument.Close(false, null);
            }

            //关闭ZWCAD
            app.Quit();
        }
    }
}
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空