https://blog.csdn.net/u011170962/article/details/37755201
要创建一个图形对象,需要遵循下面的步骤:
1.得到创建对象的图形数据库;
2.在内存中创建实体类的一个对象;
3.定义一个指向当前数据库的事务处理;
4.打开图形数据库的块表;
5.打开一个存储实体的块表记录(通常绘图都在模型空间中进行),所有模型空间的实体都存储在块表“模型空间”记录中;
6.将该对象添加到块表记录中;
7.把对象添加到事务处理中;
8.提交事务处理。
[CommandMethod("FirstLine")] public void FirstLine() { //获取当前活动图形数据库 Database db = HostApplicationServices.WorkingDatabase; //新建一个直线对象 Point3d startPoint = new Point3d(0, 100, 0); //直线起点 Point3d endPoint = new Point3d(100, 100, 0); //直线终点 Line line = new Line(startPoint, endPoint); //定义一个指向当前数据库的事务处理,以添加直线 using (Transaction trans = db.TransactionManager.StartTransaction()) { //以读方式打开块表.. BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); //以写方式打开模型空间块表记录 BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); //将图形对象的信息添加到块表记录中,并返回ObjectId对象. btr.AppendEntity(line); //把对象添加到事务处理中. trans.AddNewlyCreatedDBObject(line, true); //提交事务处理 trans.Commit(); } }