美文网首页
中望CAD下C#开发独立运行EXE程序

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

作者: qlaiaqu | 来源:发表于2021-08-25 10:20 被阅读0次

中望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();
        }
    }
}

相关文章

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

    中望CAD的C#二次开发资料非常的匮乏,反正我在官方基本上找不到资料,在CAD软件中输入HELP弹出的帮助窗口,例...

  • 中望CAD下C#开发插件

    相对于开发中望CAD独立的EXE,开发中望CAD的插件跟AUTOCAD几乎没有差别。 1.新建工程 正常新建一个C...

  • JDK目录介绍

    bin目录,包含一些用于开发java程序的工具,例如:编译工具(javac.exe)、运行工具(java.exe)...

  • win10等环境下配置汇编程序的运行环境

    实质就是在DOSBox下运行汇编的3个程序:TASM.EXE、LINK.EXE、DEBUG.EXE 下载工具(实验...

  • sublime下运行外部exe程序

    第一步:创建插件文件 runProject.py import sublimeimport sublime_plu...

  • CLR中的程序集

    在CLR中,程序集相当于“组件”。 程序集的产生过程:C# 源代码文件----->(经过编译器[CSC.exe]编...

  • C#中几种循环语法的比较

    循环操作在程序开发当中使用非常的广泛,当然循环也很容易成为整个 程序运行的性能瓶颈,所以理解C#中几种循环的用法,...

  • C#开发linux服务初探2

    承接上文《C#开发linux服务初探1》,本篇记录将c#程序,部署成linux服务程序。 1下载 anyexec ...

  • 工作岗位调研

    一、与C#有关的工作岗位: C#软件开发工程师 C#高级研发工程师 C#.NET软件工程师 CAD二次开发,C#程...

  • QQ连连看小外挂

    找到程序本身的 exe 去掉程序中的广告 写一个 QQ 连连看的外挂 先双击运行 qqllk.exe,出现一广告窗...

网友评论

      本文标题:中望CAD下C#开发独立运行EXE程序

      本文链接:https://www.haomeiwen.com/subject/wijsiltx.html