CAD .NET系列问题解答连载旨在为大家提供更多可学习的参考资料。若是已经入手或者正准备入手CAD .NET的朋友千万别错过该系列教程哦。
![]() |
![]() |
![]() |
产品详情 | 试用版下载 | 相关活动 |
接下来我们将以问答形式为大家解决在使用CAD .NET时所遇到的一些问题,该系列连载希望可以给大家一些帮助和参考。
一:在容器中添加折线
问:我需要在同一个容器中添加4条折线,而当我选中了它们,它们都无法单独移动/p>
答:你可以使用CADBlock对象作为折线的容器,并将块实例(CADInsert)放在模型布局上以允许用户移动折线。
问:你能帮我举个例子吗/p>
答:可以在AddEntities演示项目中找到创建新CADBlock和CADInsert对象的代码示例:查看Form1.cs 中的AddInsert()方法。要将折线(CADPolyLine或CADLWPolyLine)添加到块中,应使用CADBlock.AddEntity()方法。
二:AutoCAD Color Index问题
问:在实现过程中,我遇到了颜色索引的问题。以下代码用于从实体中正确检索颜色索引,并且通过正确处理包含的块,它可以完美地处理16个不同的索引值。但是,由于某种原因,代码255返回为0而代码10返回为1(在两种情况下,Color_type都是“ByValue”,因此不能将错误的块作为参数提供)。
int GetColorCode(CADEntity cadEnt, CADBlock block) { int res = -1; var objEntity = new ObjEntities(new CADEntityCollection() { cadEnt }); if (objEntity != null) { switch (objEntity.Color_type) { case "ByLayer": res = CADImport.Export.SimpleCADtoDXF.DXFExport.ColorToDXF(cadEnt.Layer.Color); break; case "ByBlock": if (block == null) { return -1; } res = CADImport.Export.SimpleCADtoDXF.DXFExport.ColorToDXF(block.Color); break; default: res = CADImport.Export.SimpleCADtoDXF.DXFExport.ColorToDXF(cadEnt.Color); break; } } return res; }
此问题最初是使用版本11.2(.NET 2.0)发现的,但只发生在代码10返回为1,当更改为版本12.2(.NET 2.0和4.0)之后,代码255上又出现了此类问题。请问是什么地方出现了问题吗/p>
答:似乎无法区分具有相同RGB等效值的AutoCAD Color Index(ACI)托盘颜色。例如: ACI#1和ACI#10 = RGB(255,0,0) – 红色, ACI#2和ACI#50 = RGB(255,255,0) – 黄色。 对于索引为255的颜色,可以是白色或灰色,具体取决于背景颜色。该ColorToDXF功能与给定的颜色也是在以前的版本不正确地工作。此问题的修复程序将在下一个版本中提供。
三:(下方)尺寸线上的附加文字
问:是否可以在尺寸线上添加其他文字希望在线上方显示测量尺寸,并在下面添加其他文字。似乎AutoCAD支持这一点,但我不清楚是否CAD .NET也有该功能/p>
答:AutoCAD允许通过使用Text覆盖属性和部分<> X 在尺寸线下添加文本:

“<> X”之后的文本显示在尺寸线下方:

CAD .NET也支持维度的文本覆盖属性(CADDimension.TextOverride),但它在开头不识别“<> X”,只是用“<> XNotes dimline”替换现有文本。
未完待续~
热门活动推荐
*点击图片查看活动详情*

标签:CADCAD浏览
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!