CAD 二次开发(C#)
云游的二狗
java猿。
展开
-
AutoCAD二次开发之属性操作(1) 写属性
对CAD二次开发的程序员来说,实现操作实体XData属性的方法想必已经烂熟于心了。不过,本人在这里在赘述一下。晒晒自己的代码,如果大家有更好的方法和逻辑,请大家提出来,让我这个新手也学习一下,本人将不胜感激。方法一如下: #region "写属性" /// /// 对一个实体进行写属性。 /// /// 实体的I原创 2013-09-17 17:38:35 · 8035 阅读 · 0 评论 -
向图档插入外部DWG图片 auto CAD .NET二次开发
处理方法:读取指定文件路径的dwg图。核心代码: db.ReadDwgFile(fileName, FileOpenMode.OpenForReadAndReadShare, true, null); ObjectId id = doc.Database.Insert(blockName, db, false)原创 2013-09-22 16:10:45 · 3784 阅读 · 2 评论 -
设置透明度(2)auto CAD .NET二次开发
设置透明度的方法2.核心代码同上文。 public bool SetDiaphaneity(double Mdiaphaneity, ObjectId[] EntityId) { bool setBool = false; Editor ed = Autodesk原创 2013-09-22 15:38:54 · 1898 阅读 · 0 评论 -
透明度设置(1) Auto CAD .NET二次开发
这次来点儿重口味的。设置实体透明度的方法。通过本方法可以实现控制实体显示时的材质。也可以用来突出显示某一实体,或者某一组实体。核心代码: MaterialOpacityComponent oc = new MaterialOpacityComponent(percentage, matMap);原创 2013-09-22 15:12:23 · 2744 阅读 · 0 评论 -
AutoCAD二次开发之视图操作(2)通过指定点设置视图。
接续上文。本方法适用于三维图档中的任一三维点进行展示图档。输入参数:观察点返回值:是否设置成功。与上文方法的操作类似:1、获得当前视图2、设置观察点3、设置视图具体方法如下: /// /// 任意视点进行观看 /// /// 观看点坐标 /// True,正常进行设置,False设置失败原创 2013-09-22 14:17:07 · 3457 阅读 · 0 评论 -
auto CAD .NET二次开发 之 视图操作(1)通过视图类型改变视图
本文中的视图操作指,图档视角的操作。实现操作视图的流程为:1、获得当前视图 ViewTableRecord vtr = ed.GetCurrentView();2、设置观察点 vtr.SetViewDirection(ov);3、设置视图 ed.SetCurrentView(vtr);方法如下: public bool ViewChanged(Orthog原创 2013-09-22 14:09:14 · 4260 阅读 · 0 评论 -
auto CAD .NET二次开发 之 交互操作
选择实体操作过于常见,几乎随时都在使用。因此只贴出代码。不再赘述选择一个实体:/// /// 提示选择实体 /// /// 实体ID /// true:取得成功 false:取得失败 public bool GetEntityId(out ObjectId id) {原创 2013-09-22 13:48:24 · 5660 阅读 · 0 评论 -
实体定位 autoCAD 二次开发
对于cad二次开发的程序员来说,定位功能可谓是常用操作。下面介绍一种定位方式。 /// /// 定位 /// /// public void Orientate(ObjectId[] oid) { ObjectIdCollection oic = new Objec原创 2013-09-22 16:37:41 · 2966 阅读 · 2 评论 -
AutoCAD二次开发之属性操作(2) 读属性
接续上文。通过上一篇文章,您可以实现对一个实体属性的添加。下面就跟大家聊聊读取属性的实现。就像世间没有两片相同的叶子,读取实体属性的方式也各种各样,公司或者个人也彰显出了自己的编码风格以及特点。刚开始读写属性的时候比较茫然,各种分割ResulteBuffer。之后才知道有方法可以直接获取。初始时的代码: #region 拆分实体的属性名称和值 ///原创 2013-09-18 14:32:44 · 3868 阅读 · 0 评论 -
AutoCAD二次开发之视图操作(3)指定视图大小和中心点来设置视图
此方法实现通过指定三维点和视图长宽,设置视图。注:该方法显示的是俯视视角设置视图vtr.CenterPoint = new Point2d(vp.X, vp.Y);如果直接使用,请注意。因核心处理代码相似。所以方法的说明请见上文。 /// /// 给定观察点与边界值,进行视图显示 /// /// 观察点原创 2013-09-22 14:28:38 · 4208 阅读 · 0 评论 -
auto CAD .NET二次开发之 添加,删除实体(entity)
个人感觉添加删除实体这个方法比较水。只要是操作过CAD的.NET程序员都是小菜一碟。不过在这里还是赘述一下。呵呵添加实体的核心代码只有两句: objId = btr.AppendEntity(entity); trans.AddNewlyCreatedDBObje原创 2013-09-22 13:30:56 · 10969 阅读 · 2 评论 -
CAD 二次开发 图层操作(2)获取所有图层名称
接续上文。如果添加图层的方法读懂之后,实现获取所有图层名称就变得轻而易举了。仅需遍历图层表LayerRecord,取出记录存储即可。具体方法如下: #region "取得当前所有图层名称" /// /// 取得当前所有图层名称 /// /// 图层名称集合 public ArrayList Get原创 2013-09-17 16:51:58 · 9740 阅读 · 1 评论 -
CAD 二次开发 图层操作(1)创建图层
CAD二次开发的资料比较少,除了李冠亿先生的《深居浅出AutoCAD二次开发》这本书之外,目前没有找到合适的参考资料。现将自己工作中用的的一些方法贴出来。方便各位网友快速入门。 #region 添加图层 /// /// 添加图层/// /// /// private ObjectId AddLayer(s原创 2013-09-17 16:41:12 · 7369 阅读 · 1 评论 -
CAD 二次开发 图层操作(3)取得指定图层下的所有对象id
对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作。下面的方法,即可实现获取指定图层名称下的所有实体ID。输入参数为图层名称;返回值为:对象主键集合说明:该方法中用到了 一下集中类型:选择结果【PromptSelectionResult】,用来存储选择后的结果;类型数组【TypedValue[]】,用来填装过滤条件;过滤器 【原创 2013-09-17 17:06:50 · 15404 阅读 · 0 评论 -
AutoCAD二次开发之属性操作(3) 删除属性
以往的工作过程中,没有使用过删除属性的操作。上周一,遇到了这个问题。在网友的帮助下,终于解决。代码很简单,只是想不到啊。。。正解代码为: ResultBuffer rbDel = new ResultBuffer( new TypedValue((int)DxfCode.ExtendedDataRegAppName, strAppName));原创 2013-09-25 17:25:45 · 4113 阅读 · 0 评论