中望CAD二次开发(一)——开发环境配置

本次开发环境我们选择

  • 中望CAD2023
  • Visual studio 2022
  • 开发语言C#

创建一个项目

添加引用

  • 在解决方案资源管理器中右键点击引用然后点击添加引用...
  • 切换到"浏览"界面并点击浏览按钮,在ZWCAD安装目录下选中ZwManaged.dll和ZwDatabaseMgd.dll。添加后如下图所示:.

编写第一个程序

新建一个Main.cs文件,写入以下代码

C# 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using ZwSoft.ZwCAD.ApplicationServices;
using ZwSoft.ZwCAD.DatabaseServices;
using ZwSoft.ZwCAD.EditorInput;
using ZwSoft.ZwCAD.Geometry;
using ZwSoft.ZwCAD.Runtime;
namespace WebCAD1
{
    public class Main
    {
        [CommandMethod("AddCircle")]
        public void AddCircle()
        {
            Document zcDoc = ZwSoft.ZwCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
            Database zcDB = zcDoc.Database;
            Transaction ZcTran = zcDoc.TransactionManager.StartTransaction();
            using (ZcTran)
            {
                BlockTable zcBLT = (BlockTable)ZcTran.GetObject(zcDB.BlockTableId, OpenMode.ForRead);
                BlockTableRecord zcBLTR = (BlockTableRecord)ZcTran.GetObject(zcBLT[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
                Circle zcCircle = new Circle();
                zcCircle.Center = new Point3d(2, 3, 0);
                zcCircle.Radius = 10;
                zcCircle.ColorIndex = 1;
                zcBLTR.AppendEntity(zcCircle);
                ZcTran.AddNewlyCreatedDBObject(zcCircle, true);
                ZcTran.Commit();
            }
            zcDoc.SendStringToExecute("_ZOOM E ", false, false, false);
        }
    }
}

测试

设置启动外部程序,选择ZWCAD.exe

点击播放盒绿色三角形启动

启动后在命令行输入netload

选择项目路径下Debug文件夹中的编译好的.dll文件

输入AddCircle回车

屏幕中心出现一个圆

恭喜你,环境配置成功!

相关推荐
习明然14 小时前
我的本地化AI项目(三)
人工智能·python·electron·c#·avalonia
遨游DATA16 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
IT_陈寒16 小时前
Java线程池这个坑我算是踩明白了
前端·人工智能·后端
掉头发的王富贵16 小时前
我来入职新公司两个月了,为什么只写了100行代码?
后端·ai编程
从零开始的代码生活_17 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端
315356691317 小时前
Superpowers:GPT-5.6 时代下的流程毒瘤
前端·后端
神奇小汤圆18 小时前
2026 Java岗面试题库(已收录GitHub),覆盖所有考点
后端
ArixBit19 小时前
用 Go 手撸 Agent 框架 #4:工具定义与契约——让 Agent 学会调用多工具
后端
枕星而眠19 小时前
【数据结构】红黑树入门指南
运维·数据结构·c++·后端
神奇小汤圆19 小时前
JDK 8 → 17 → 21 → 25:一次性讲清四代版本的关键跃迁
后端