C# AutoCAD NetApi xclip 删除 边界
不说了,直接上代码,参照kean的博客吗,这是添加边界的代码 https://www.keanw.com/2012/10/querying-for-xclip-information-inside-autocad-using-net.html
1 using Autodesk.AutoCAD.ApplicationServices.Core; 2 using Autodesk.AutoCAD.DatabaseServices; 3 using Autodesk.AutoCAD.DatabaseServices.Filters; 4 using Autodesk.AutoCAD.EditorInput; 5 using Autodesk.AutoCAD.Runtime; 6 using System; 7 using System.Collections.Generic; 8 using System.Linq; 9 using System.Text; 10 using System.Threading.Tasks; 11 12 namespace ClassLibrary1 13 { 14 public class Class1 15 { 16 const string filterDictName = "ACAD_FILTER"; 17 const string spatialName = "SPATIAL"; 18 [CommandMethod("DXC")] 19 static public void DetectXClip() 20 { 21 var doc = Application.DocumentManager.MdiActiveDocument; 22 var ed = doc.Editor; 23 // Ask for an xclipped xref to be selected 24 var peo =new PromptEntityOptions( "\nSelect xclipped block or xref" ); 25 peo.SetRejectMessage("Must be a block or xref."); 26 peo.AddAllowedClass(typeof(BlockReference), false); 27 var per = ed.GetEntity(peo); 28 if (per.Status != PromptStatus.OK)return; 29 var tr = doc.TransactionManager.StartTransaction(); 30 using (tr) 31 { 32 // Open the selected BlockReference 33 var br = tr.GetObject(per.ObjectId, OpenMode.ForRead) as BlockReference; 34 // To save multiple codepaths with the same message 35 // ("No clipping information found"), we'll use a flag to 36 // see whether we've found anything 37 // It should always be a block reference, but it might 38 // not have an extension dictionary 39 if ( br != null && br.ExtensionDictionary != ObjectId.Null) 40 { 41 // The extension dictionary needs to contain a nested 42 // dictionary called ACAD_FILTER 43 var extdict =tr.GetObject(br.ExtensionDictionary, OpenMode.ForRead) as DBDictionary; 44 if (extdict != null && extdict.Contains(filterDictName)) 45 { 46 var fildict =tr.GetObject(extdict.GetAt(filterDictName), OpenMode.ForWrite ) as DBDictionary; 47 if (fildict != null) fildict.Erase(); 48 } 49 } 50 tr.Commit(); 51 doc.Editor.Regen(); 52 } 53 54 } 55 56 } 57 }
执行前
执行后,相当于执行命令, xclip,选择外部参照,delete
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具