usingAutodesk.AutoCAD.Runtime; 
using Autodesk. AutoCAD. ApplicationServices; 
usingAutodesk. AutoCAD. DatabaseServices; 
usingAutodesk.AutoCAD.Geometry; 
[CommandMethod(HSingleCopyH)] 
public static void SingleCopy() 
{
// 获取当前文档和数据库
Document acDoc = Application.DocumentManager. MdiActiveDocument; 
Database acCurDb = acDoc.Database; 
// 启动事务
using (Transaction acTrans =acCurDb. TransactionManager. StartTransaction()) 
// 以读模式打开 Block
BlockTable acBlkTbl; 
acBlkTbl =acTrans. GetObject(acCurDb.BlockTableld, 
OpenMode.Fo 
rRead) as BlockTable; 
// 以写模式打开块表记录模型空间
BlockTableRecord acBlkTblRec : 
acBlkTblRec = 
acTrans. GetObject(acBlkTbl[BlockTableRecord. ModelSpace ] , 
OpenM 
ode.ForWrite) as BlockTableRecord; 
// 创建圆,圆心 (2 3) 半径 4.25
Circle acCirc = new Circle() ; 
acCirc.Center = new Point3d(2, 3, 0); 
acCirc.Radius = 4. 25; 
// 将新对象添加到块表记录和事务
acBlkTblRec. AppendEntity(acCirc) ; 
acTrans. AddNewlyCreatedDBObject(acCirc, true) ; 
// 创建圆的拷贝,修改拷贝的半径
Circle acCircClone = acCirc.Clone() as Circle; 
acCircClone. Radius = 1; 
// 将拷贝的圆添加到块表记录和事务
acBlkTblRec. AppendEntity(acCircClone) ; 
acTrans.AddNewlyCreatedDBObject(acCircClone, true); 
// 保存新对象到数据库
acTrans. Commit() ; 
}

C#cad二次开发复制对象,可用于同一数据库内的块复制相关推荐

  1. cad二次开发--添加对象到模型空间中

    通过实体名来将实体加入到模型空间 AcDbObjectId PostToModelSpace(AcDbEntity *pEnt) { //打开块表 AcDbBlockTable *pBlockTabl ...

  2. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id

    对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...

  3. C#之CAD二次开发 (11) 文本对象

    # 0. 前言 在CAD中文本对象的处理算是一个很重要的内容了,实际工作中也会遇到很多需要批量处理CAD中文本对象的情况 之前就遇到一个批量一对一替换文本的情况,那个实例代码后面也会贴出来,一个小小的 ...

  4. C# Cad二次开发新手入门系列教程(二)Line对象

    目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...

  5. cad 二次开发 插入图片_C#之CAD二次开发(2) 直线对象创建及添加

    0. 前言 从本文开始就正式登上开往CAD二次开发幼儿园的大巴车了!你准备好了吗?车门已经焊死! 还有,本系列笔记是默认大家都有C#的基础的了.这个系列笔记是我自己学习CAD二次开发的一些记录,可能存 ...

  6. CAD二次开发(C#)第三节

    前言 这是最后一部分代码,往后若有时间,对其中的代码详细讲解.初心不变,以便日后查看.特别感谢作者孙成波译作<AutoCAD .NET 开发指南 2012 版>.三部分代码里面有些许失误, ...

  7. c#CAD二次开发全套视频目录

    本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...

  8. CAD二次开发(C#) 第一节

    前言 由于工作需要,最近在学习二次开发,将其记录于此,以便日后查看. 语法 涉及"特性","进程"知识点,需要有所了解 #region CAD二次开发--第一节 ...

  9. CAD二次开发--0.开发环境搭建及CAD层次结构

    本文章用于CAD二次开发学习工作总结,参考李冠艺著编的<深入浅出AutoCAD.NET二次开发>. 一.开发前准备: 首先开发前默认有一定的C#编程经验. 对CAD有一定的了解. 安装好V ...

最新文章

  1. Matplotlib三维绘图,这一篇就够了
  2. 以安装PyTorch为例说明Anaconda在Windows/Linux上的使用
  3. jquery mobile开发笔记之Ajax提交数据
  4. 搭建H1ve-ctfd以及如何部署题目
  5. 【数据结构与算法】之栈与队列的应用和操作
  6. tomcat(10)安全性
  7. 深入理解 gRPC 协议--理解protobuf/.proto/http2
  8. 原来awt是可以设置多个frame
  9. 5G卡位未来? 万物互联的畅想还是忧伤
  10. python 报了错TypeError: sequence item 0: expected str instance, int found
  11. xp系统dns服务器有问题,xp系统dns错误的恢复方法
  12. SecureCRT 连接ubuntu操作系统(解决Ubuntu密钥交换失败的问题)
  13. 自媒体学习教程 新手怎么开始学习自媒体
  14. 接收灵敏度dbm与W
  15. 菜鸟好文推荐(七)——他改了密码,姑娘说了“Yes, I do”
  16. 三菱FX系列PLC教学课程---一个从基础讲起的电梯控制实例
  17. [论文阅读]LDSA:Learning Dynamic Subtask Assignment in Cooperative Multi-Agent Reinforcement Learning
  18. UE4学习笔记:学习UE4中的UMG(图形UI设计器)工具(一): Widget Blueprint控件蓝图
  19. 利用ptython中的tutle画了一个表情包——2020冲冲冲!!
  20. 《第十一堂棒球课》:MLB棒球创造营·棒球名人堂

热门文章

  1. react 的 ref 按钮异步点击调用方法
  2. 在微型计算机中 svga的含义是,《计算机基础》1.在微型计算机中,SVGA的含义是( )...
  3. 十年内核开发者来告诉你,什么叫中断管理(rtthread)
  4. ADI汽车音频总线的完整诠释,一个系列让你彻底搞懂A2B(本人很懂,不谦虚)
  5. 朋友圈技术范儿装X指南-有向无环图
  6. mintUi底部选项卡切换
  7. Android动画案例(一) 帧动画
  8. Ubuntu系统安装QQ,微信,百度网盘
  9. css清除浮动clearfix
  10. pefc认证和fsc认证的区别