[CommandMethod("InsertBlock")]//插入外面的块文件

public voidInsertBlock()

{

Editor ed=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;

Document doc=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;

PromptPointResult ppr= ed.GetPoint("选择插入点");

Point3d pt= ppr.Value;//获取到插入点//utility.WriteToEditor(pt.ToString());

string blockPath = @"C:\Users\Administrator\Desktop\变压器.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())//多文档要先这样,否则报至命错误

{//新建图层id

ObjectId layerId =ObjectId.Null;using (Transaction t =doc.TransactionManager.StartTransaction())

{string name = "变压器";//aa是不与blockPath文件中的任何块重名的字符串//insert it as a new block

ObjectId idBTR= doc.Database.Insert(name, 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);//新建图层

LayerTable lt =(LayerTable)t.GetObject(doc.Database.LayerTableId, OpenMode.ForWrite);if (!lt.Has("图层4"))

{

LayerTableRecord ltr= newLayerTableRecord();

ltr.Name= "图层4";

layerId=lt.Add(ltr);

t.AddNewlyCreatedDBObject(ltr,true);

}//t.Commit();

btr.LayoutId=layerId;using (BlockReference bref = new BlockReference(pt, idBTR)) //pt是一个Point3D坐标,这里是插入进当前dwg文件中

{

bref.LayerId=layerId;

btr.AppendEntity(bref);

t.AddNewlyCreatedDBObject(bref,true);

}

t.Commit();

}

}

}

}

cad 二次开发 插入图片_CAD 二次开发 引用外部DWG并放到对应图层上相关推荐

  1. cad 二次开发 插入图片_CAD如何加载二次开发程序?

    CAD给我们设计师提供了众多的绘图修改命令,满足了我们一般的绘图应用,但是有时候这些命令应用起来有时候并不太方便,为了使我们的绘图命令更加方便快捷,有时候我们需要加载二次开发程序;例如:lisp.VB ...

  2. latex 图片大小_用LaTeX写作业——插入图片(二)

    方法 subfigure可以横向排列一组图片,会自动编号abcd.在一个 subfigure内使用minipage插入图片,通过控制图片大小实现换行效果 # 效果 代码 usepackage{sub ...

  3. 网页生成二维码 把二维码变成图片 下载二维码

    目录 网页生成二维码 1 将二维码变成图片 2 1效果:二维码变成了图片 2 下载二维码 2 1全部代码 3 网页生成二维码 导入生成二维码需要的js文件(https://github.com/lrs ...

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

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

  5. python cad二次开发文档_cad二次开发

    源代码: #导入模块 from pyautocad import Autocad, APoint #创建cad实例 acad = Autocad(create_if_not_exists=True) ...

  6. Word之宏命令统一插入图片尺寸(二)

    1.前言 每次从外部copy到word内部的图片,格式和尺寸都不一样,如果需要一键设置所有统一格式和尺寸呢? 答案:使用word宏命令. 2.word宏命令设置(word2010) <1> ...

  7. 二维图画法入门_CAD二维零件图画法教程

    1.本课作业具体如图所示. 2.选择[绘图]构造线,绘制中心线,选择[圆]圆心直径,在原点分别绘制直径13.19.30的圆. 3.选择[直线]绘制一条52的线,选择[圆],圆心直径,绘制5.9的两个圆 ...

  8. 动图怎么做二维码?怎么将gif格式图片生成二维码?

    如何将gif动图做成二维码呢?相信很多小伙伴经常会扫描好友制作的二维码图片后,会出现图片.视频等内容,那么静态图片生成二维码的方法相信很多小伙伴都知道,那么gif动图怎么做成二维码来展示呢?下面教大家 ...

  9. LaTeX技巧008:并排插入图片以及去掉图片编号

      使用LaTex并排插入图片的时候,会给每一个图片编号,有时我们并不需要自动编号,所以这次就是去掉图片的编号. 效果展示   第一张图片就是带编号,而第二张图片就去掉了编号.这里使用的是captio ...

最新文章

  1. php 管理服务器内存,解决PHP-FPM进程导致的服务器内存占用
  2. Ubuntu 14.04 LTS, 64bit, cuda 7, Caffe环境配置编译和安装
  3. JPA和CMT –为什么捕获持久性异常不够?
  4. android按钮固定尺寸,如何在android中保持按钮的固定宽高比
  5. PureMVC在Unity游戏开发中的应用
  6. 组播、IGMP、IGMP Snooping
  7. python通用数据库连接_python 连接数据库pg
  8. 服务器win7internet协议议,主编细说win7系统internet协议在哪、添加TCPIP协议的操作方法...
  9. 周鸿祎:网络安全面前 没有国家可以袖手旁观
  10. Akka的Actor生命周期《Eight》译
  11. unity connect mysql_unity连接mysql
  12. 手把手教你设计数字钟(基于protues8.6)
  13. 【算力网络白皮书学习】
  14. stream流倒序排序_Stream流排序
  15. 对话镕铭微电子CEO朱照远:未来几年视频处理芯片将成为一个万亿级的市场
  16. 欧拉定理和费马小定理
  17. 数字漫画行业繁花似锦,国漫扎根本土文化“向外生长”?
  18. 程序人生 - 为了避免惹上官司,你可以在这些免版权图片网站里寻找素材
  19. nginx-----部署集群
  20. 安卓使用opengles显示深度点云图或深度3D效果图

热门文章

  1. python数字类型运算练习题
  2. 看乾鸣国际信息产业园如何引领“一体化”战略
  3. 【Mathematica】 Mathematica 的安装
  4. Simulink 双馈风力发电机并网控制系统
  5. Python毕业设计基于django的就业系统项目(含源码)
  6. matlab计算空间坐标,通过matlab计算卫星位置
  7. matlab 滤波器设计 coe_现代雷达系统分析与设计
  8. python文献检索_那个发了好几篇SCI的师姐,教你如何搞定文献检索和科研图片!...
  9. 重阳节计算机培训,重阳节
  10. antv L7地图报错:context lost at Funciton