目录
1、开发环境搭建
软件平台:AutoCAD2015 + Microsoft visual studio2015
库:accoremgd.dll、acdbmgd.dll、acmgd.dll、Adwindows.dll、DotNetARX.dll
Net版本:.Net Framework 4.5
调试:启动外部程序(在CAD文件夹中找到acad.exe)
2、CAD开发逻辑
CAD包括9种符号表,分别是:块表(BlockTable)、图层(LayerTable)、文字样式表(TextStyleTable)、线型表(LinetypeStyle)、视图表(ViewTable)、UCS表(UCSTable)、视口表(ViewportTable)、注册应用程序表(RegAppTable)、标注样式表(DimStyleTable)。
主要逻辑关系如下:
每个表中可包含多个记录,记录的信息就是对CAD的操作。CAD中块表存储CAD实体(Entity)对象记录的集合,实体只要包括所有因绘图和标注产生的对象。
开发流程:
(1)打开图形数据库:
Database db = HostApplicationServices.WorkingDatabase;
(2)打开事务处理:
using (Transaction trans = db.TransactionManager.StartTransaction())
{
操作内容
trans.Commit();//提交事务处理
}
3、CAD入门功能
(1)绘制直线
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using Autodesk.Windows;
using DotNetARX;
using System;
public class Test
{
[CommandMethod("Draw")]//注册一个命令
public static void Draw()
{
Database db = HostApplicationServices.WorkingDatabase;
Line L1 = new Line(Point3d.Origin, new Point3d(100, 100, 0));
db.AddToModelSpace(L1);//载入到模型空间
}
}
(2)绘制圆弧
绘图看创建对象方法中需要的参数。
[CommandMethod("LsArc")]
public static void LsArc()
{
Database db = HostApplicationServices.WorkingDatabase;
Circle C1 = new Circle(Point3d.Origin, new Vector3d(0, 0, 1),100);
db.AddToModelSpace(C1);
}
(3)其它entity对象
创建的方式与直线相同,主要包括以下类:
https://help.autodesk.com/view/OARX/2019/ENU/?guid=OREFNET-Autodesk_AutoCAD_DatabaseServices_Entity
参考:
本文参考了《AutoCAD VBA&VB.NET开发基础与实例教程》
CAD2019开发者文档
声明:如有转载请注明出处。