c# cad中插入另一个dwg的图块
1.在cad2012环境下:
须引用objectarx开发包
PromptPointResult ppr = ed.GetPoint("请选择插入点:");
Point3d pt = ppr.Value; //这里获得插入点
utility.WriteToEditor(pt.ToString());
blockPath = "b_sample.dwg";
using (Database blkDb = new Database(false, true))
{
//read drawing
blkDb.ReadDwgFile(blockPath , System.IO.FileShare.Read, true, null);
blkDb.CloseInput(true);
using (DocumentLock docLock = doc.LockDocument())//多文档要先这样,否则报至命错误
{
using (Transaction t = doc.TransactionManager.StartTransaction())
{
string name=“aa”;//aa是不与blockPath文件中的任何块重名的字符串
//insert it as a new block
ObjectId idBTR = doc.Database.Insert(aa, blkDb, false);
//create a ref to the block
BlockTable bt = (BlockTable)t.GetObject(doc.Database.BlockTableId, OpenMode.ForRead);
BlockTableRecord btr = (BlockTableRecord)t.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
using (BlockReference bref = new BlockReference(pt, idBTR)) //pt是一个Point3D坐标,这里是插入进当前dwg文件中
{
btr.AppendEntity(bref);
t.AddNewlyCreatedDBObject(bref, true);
}
t.Commit(); 就是这样 谢谢
}
}
}
2.脱离CAD环境下
需引用TDWGNET开发包
using (new Services())
{
using (Database db = new Database(true, true))
{
using (Transaction ts = db.TransactionManager.StartTransaction())
{
using (BlockTable bt = ts.GetObject(db.BlockTableId,OpenMode.ForWrite) as BlockTable)
{
BlockTableRecord btr1 = new BlockTableRecord();
Database odb = new Database(false, false);
odb.ReadDwgFile("aaa.dwg", FileOpenMode.OpenForReadAndAllShare, true, null);
odb.CloseInput(true);
ObjectId objid = db.Insert("aa", odb, false);//这里插入进当前的dwg文件了
BlockTableRecord btr = new BlockTableRecord();//这里是插入另一个块
btr.Name = "000";
Circle c = new Circle(new Point3d(0, 0, 0), Vector3d.ZAxis, 100);
btr.AppendEntity(c);
ts.AddNewlyCreatedDBObject(c, true);
bt.Add(btr);
ts.AddNewlyCreatedDBObject(btr, true);
}
ts.Commit();
}
//using (Transaction ts = db.TransactionManager.StartTransaction())
//{
// using (BlockTable bt = (BlockTable)ts.GetObject(db.BlockTableId, OpenMode.ForRead))
// {
// BlockTableRecord btr=ts.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
// BlockReference br = new BlockReference(new Point3d(0, 0, 0), bt["aa"]);//这里是插入块于当前的dwg中
// btr.AppendEntity(br);
// ts.AddNewlyCreatedDBObject(br, true);
// }
// ts.Commit();
//}
db.SaveAs(path + "\\test.dwg", DwgVersion.Current);//保存文件
}
}
}
c# cad中插入另一个dwg的图块相关推荐
- winform界面嵌入dwg图纸_c# cad中插入另一个dwg的图块
1.在cad2012环境下: 须引用objectarx开发包 PromptPointResult ppr = ed.GetPoint("请选择插入点:"); Point3d pt ...
- C#实现在CAD图纸中插入另一个DWG图块的代码
C#实现在CAD图纸中插入另一个DWG图块的代码PromptPointResult ppr = ed.GetPoint("请选择插入点:"); Point3d pt = ppr.V ...
- CAD中如何把一个DWG文件里的块插入到另一个DWG中
今天来给大家聊聊AutoCAD中如何把一个DWG文件里的块插入到另一个DWG文件中. 在CAD中提供了多种方法插入图块,最常用的方法是插入(I),可以插入当前图中的图块或者某个DWG文件作为图块,如果 ...
- CAD中插入外部参照字体会变繁体_知道这些技巧-轻松攻克CAD所有困难
28.如何使图形只能看而不能修改? 要是自己的图把它全部图层锁定就行了,打开不会变的:如果以后不想用了,就把里面所有东西都炸碎也可以:还有一种方法是用lisp语言写个加密程序,一旦运行后,图就只能看, ...
- ai中如何插入签名_怎么将CAD中插入图片的多余部分抠掉?如何设置透明效果?...
下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: CAD安装卸载 异常.退出 文件及输入输出 基本操作技巧 各种设置及相关问题 界面和显示相关问题 快捷键 视图设置和调整 ...
- CAD中插入外部参照字体会变繁体_CAD插入外部参照失败?
cad也疯狂 这几天在群里看到有人问这样的问题 在CAD里插入一个文件作为外部参照的时候会失败.或者什么提示都没有,有时候命令行会提示:"** 错误: "XXX"已经是当 ...
- CAD中插入外部参照字体会变繁体_为什么CAD插入外部参照时会提示错误无效?
本公众号文章分类索引,点击可打开分类文章列表: 安装 文件 异常.退出 复制粘贴 基本操作 快捷键 设置 界面 捕捉 视图 坐标定位 选择.组 图层 颜色 表格 线型 二维绘图 多段线 填充 图块 标 ...
- CAD中插入外部参照字体会变繁体_为什么CAD图纸作为外部参照插入后有些文字消失?...
下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载 异常.退出 文件及输入输出 基本操作技巧 设置及相关问题 界面和显示 快捷键 视图设置 选择及组 坐标输入.定位 ...
- tfw文件如何导入cad_基于TFW影像坐标信息在CAD中插入正射影像的方法探讨
基于 TFW 影像坐标信息在 CAD 中插入正射影像的方法探 讨 詹艳春 * [摘 要] 数字正射影像的应用越来越广泛和频繁,本文介绍了以 LISP 设计制 作一个批量加载正射影像程序,该程序能自动把 ...
最新文章
- 模型裁剪--Rethinking the Value of Network Pruning
- express登录例子
- ubuntu 文件管理器死机
- linux 正则查找email_Linux--正则表达式--详解
- java基础—Properties集合
- python正则表达式模块_Python正则表达式模块re
- python实现将文件夹/子文件夹中内容清空
- C++利用opencv 按顺序遍历文件夹图片
- 威斯敏斯特教堂 名言_新教堂徽标设计师的视角分析
- java xml用word打开乱码,word打开是乱码的5种方法
- 招商银行信用卡中心18秋招题解
- 浴室预约微信小程序的设计与实现
- CCC认证费用是多少?
- 知乎ajax采集,胖鼠采集WordPress插件教程-WP自动采集和发布简书,微信公众号,知乎等任意网站...
- 货代的具体工作是什么?
- FL studio 20中那些“花里胡哨”的效果器(三)
- 解决 idea 启动报错: Failed to create JVM.JVM.Path XXXXXXX\jbr\
- Qt学习 第21节:窗口初始化EVENT
- 局域网有几台电脑频繁断网_一张地图肝了17年,曾经宿舍10点前要断网,但这游戏却能开黑通宵...
- 虚拟机解决了什么问题
热门文章
- 如何制作WAV Audio DVD、AC3 Audio DVD、DTS Audio DVD封面音乐碟片?
- c语言题目翻译,c语言专业词汇表达带翻译
- linux下启动nginx报错libpcre.so.0 = not found
- 嵌入式 linux下proc目录下的文件详解
- 申报深圳高新企业认定除了补贴,还有哪些好处?
- 企业应用上云有捷径?“五段式”方法论来引路
- iOS 图片编辑——涂鸦——随手指移动随意画线
- USNEWS美国大学计算机工程,想从事编程?2019年USNews美国大学计算机工程专业排名值得一看...
- 42-表格表单和简单CSS引用
- VMware虚拟机连接外网