1、创建一个图形对象的步骤如下见上一篇博客(三)
2、添加删除实体的工具函数见上一篇博客(四)
3、添加圆的例子(完整源代码请加云幽学院免费课yunyun.ke.qq.com)
[CommandMethod("MKCircle")]
public void MKCircle()
{
//(1)获取当前活动图形数据库
Database db = HostApplicationServices.WorkingDatabase;
//(2)新建一个circle对象
Point3d cenPt = new Point3d(0, 100, 0); //圆心
Circle cir= new Circle(cenPt, Vector3d.ZAxis, 100);
//(3)定义一个指向当前数据库的事务处理,以添加直线
using (Transaction trans = db.TransactionManager.StartTransaction())
{
//(3-1)以读方式打开块表..
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
//(3-2)以写方式打开模型空间块表记录
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
//(3-3)将图形对象的信息添加到块表记录中,并返回ObjectId对象.
btr.AppendEntity(cir);
//(3-4)把对象添加到事务处理中.
trans.AddNewlyCreatedDBObject(cir, true);
//(3-5)提交事务处理
trans.Commit();
}
}
这个例子非常简单,想学习AutoCAD二次开发(c#、C++等语言)、BIM软件二次开发、Java、python等在线课程的同学,请关注云幽学院的视频课程yunyou.ke.qq.com。
原文地址:https://www.cnblogs.com/cjm123/p/8696121.html