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

屏幕中心出现一个圆

恭喜你,环境配置成功!

相关推荐
生锈的键盘12 分钟前
深入理解 Socket 与 epoll:从内核数据结构到用户态回调的全链路解析
后端
Sam_Deep_Thinking13 分钟前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
李高钢25 分钟前
C# WinForms 架构与项目实战:多窗体通信、三层架构、数据库、日志与配置
架构·c#·winforms
程序员爱钓鱼34 分钟前
Rust const泛型详解:让常量也成为泛型参数
后端·面试·rust
evans在进步1 小时前
Spring Boot 工程化核心详解:Parent、Starter、热部署、事务与多数据源
spring boot·后端·python
宫水三叶的刷题日记2 小时前
馋猫外卖:AI 让字节式试错没有天花板
后端
SomeB1oody2 小时前
【RustyML入门】7.4. 按需裁剪与模块化集成
开发语言·后端·机器学习·rust·教程
罗超驿2 小时前
SpringBoot 快速入门
java·spring boot·后端
卷无止境3 小时前
除了开发api,FastAPI其实也可以配合jinja2模板写页面
后端·python·fastapi
newerp3 小时前
Redis 操作与缓存策略
后端·程序员·go