C#cad二次开发复制对象,可用于同一数据库内的块复制
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二次开发复制对象,可用于同一数据库内的块复制相关推荐
- cad二次开发--添加对象到模型空间中
通过实体名来将实体加入到模型空间 AcDbObjectId PostToModelSpace(AcDbEntity *pEnt) { //打开块表 AcDbBlockTable *pBlockTabl ...
- CAD 二次开发 图层操作(3)取得指定图层下的所有对象id
对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...
- C#之CAD二次开发 (11) 文本对象
# 0. 前言 在CAD中文本对象的处理算是一个很重要的内容了,实际工作中也会遇到很多需要批量处理CAD中文本对象的情况 之前就遇到一个批量一对一替换文本的情况,那个实例代码后面也会贴出来,一个小小的 ...
- C# Cad二次开发新手入门系列教程(二)Line对象
目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...
- cad 二次开发 插入图片_C#之CAD二次开发(2) 直线对象创建及添加
0. 前言 从本文开始就正式登上开往CAD二次开发幼儿园的大巴车了!你准备好了吗?车门已经焊死! 还有,本系列笔记是默认大家都有C#的基础的了.这个系列笔记是我自己学习CAD二次开发的一些记录,可能存 ...
- CAD二次开发(C#)第三节
前言 这是最后一部分代码,往后若有时间,对其中的代码详细讲解.初心不变,以便日后查看.特别感谢作者孙成波译作<AutoCAD .NET 开发指南 2012 版>.三部分代码里面有些许失误, ...
- c#CAD二次开发全套视频目录
本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...
- CAD二次开发(C#) 第一节
前言 由于工作需要,最近在学习二次开发,将其记录于此,以便日后查看. 语法 涉及"特性","进程"知识点,需要有所了解 #region CAD二次开发--第一节 ...
- CAD二次开发--0.开发环境搭建及CAD层次结构
本文章用于CAD二次开发学习工作总结,参考李冠艺著编的<深入浅出AutoCAD.NET二次开发>. 一.开发前准备: 首先开发前默认有一定的C#编程经验. 对CAD有一定的了解. 安装好V ...
最新文章
- Matplotlib三维绘图,这一篇就够了
- 以安装PyTorch为例说明Anaconda在Windows/Linux上的使用
- jquery mobile开发笔记之Ajax提交数据
- 搭建H1ve-ctfd以及如何部署题目
- 【数据结构与算法】之栈与队列的应用和操作
- tomcat(10)安全性
- 深入理解 gRPC 协议--理解protobuf/.proto/http2
- 原来awt是可以设置多个frame
- 5G卡位未来? 万物互联的畅想还是忧伤
- python 报了错TypeError: sequence item 0: expected str instance, int found
- xp系统dns服务器有问题,xp系统dns错误的恢复方法
- SecureCRT 连接ubuntu操作系统(解决Ubuntu密钥交换失败的问题)
- 自媒体学习教程 新手怎么开始学习自媒体
- 接收灵敏度dbm与W
- 菜鸟好文推荐(七)——他改了密码,姑娘说了“Yes, I do”
- 三菱FX系列PLC教学课程---一个从基础讲起的电梯控制实例
- [论文阅读]LDSA:Learning Dynamic Subtask Assignment in Cooperative Multi-Agent Reinforcement Learning
- UE4学习笔记:学习UE4中的UMG(图形UI设计器)工具(一): Widget Blueprint控件蓝图
- 利用ptython中的tutle画了一个表情包——2020冲冲冲!!
- 《第十一堂棒球课》:MLB棒球创造营·棒球名人堂