中望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回车

屏幕中心出现一个圆

恭喜你,环境配置成功!

相关推荐
IT_陈寒19 小时前
Vue的响应式更新把我坑惨了,原来问题出在这里
前端·人工智能·后端
dLYG DUMS19 小时前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
刚子编程19 小时前
C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生
开发语言·c#·事务处理·trycatch
斯卡文计算机术士19 小时前
C#测试(二)
c#
manyikaimen19 小时前
博派智能-运动控制技术-C#环境的搭建
c#·环境搭建·运动控制器·运动控制卡·动态库调用
Honmaple19 小时前
2026 年做短视频,这 5 个 AI 技能插件我把每个都跑通了
后端
j_xxx404_19 小时前
用系统调用从零封装一个C语言标准I/O库 | 附源码
linux·c语言·开发语言·后端
覆东流19 小时前
第4天:Python输入与输出
后端·python·photoshop·输入与输出
倒霉蛋小马20 小时前
SpringBoot3中配置Knife4j
java·spring boot·后端
我叫黑大帅20 小时前
从零实现一个完整 RAG 系统:基于 Eino 框架的检索增强生成实战
后端·面试·go