- 博客(465)
- 收藏
- 关注
原创 dll混淆加密——防止dll反编译
通过以上步骤,你可以快速实现 C# DLL 的基础防护。如果需要更专业的方案,可考虑商业混淆器(如 Dotfuscator、MaxtoCode),但免费工具已能满足基础需求。:没有绝对安全的方案,但此方案可使反编译成本远高于收益。实现,但需注意:完全防止反编译几乎不可能,只能增加逆向成本。使用不同的陷阱触发方式(异常/日志/延迟破坏)点击"Protect"生成加固后的DLL。定期更新混淆配置(不同版本使用不同预设)防止反编译的核心是增加逆向难度,主要通过。的实际值(调试模式获取)
2025-06-18 15:07:53
717
原创 激光加工数字铭牌镂空字生成方案——cad c#二次开发
插入点</param>/// <param name="textHeight">文本高度</param>/// <param name="btr">当前块表记录
2025-06-16 23:35:57
667
原创 SaveAs函数 ——cad c#另存版本
SaveAsDwgVersionParametersParametersNotesdxf:DxfOutDwgVersionParametersParameters。
2025-06-15 16:46:14
185
原创 插入点(position) 和对齐点(AlignmentPoint)详解——CAD c#二次开发
在 AutoCAD 中,文本对象的位置由和共同控制,两者的关系取决于文本的对齐方式。
2025-06-14 19:07:56
1093
原创 共享项目中使用Wpf和Winform——c# CAD二次开发
在共享项目中手动编码创建 UI(如通过代码逐个初始化控件)的优缺点可简单汇总如下:项目结构如下:下面无dispose窗体winform:下面无 dispose:
2025-06-14 11:34:52
712
原创 替换属性块的两种方案:顺序匹配和tag匹配
ed.WriteMessage($"\n操作出错: {ex.Message}\n{ex.StackTrace}");_ed.WriteMessage($"\n操作出错: {ex.Message}\n{ex.StackTrace}");_ed.WriteMessage($"\n{spaceName} 替换失败: {ex.Message}");_ed.WriteMessage($"\n{spaceName} 替换失败: {ex.Message}");// 正确使用原始插入点。
2025-06-12 00:20:03
904
原创 EPPLUS——CAD c#读写EXCEL的第三方库
成为工程数据报表生成、批量参数导入导出的理想选择。尤其在需要适配不同 CAD 版本、避免环境依赖、处理大量工程数据的场景下,其优势更为突出,可显著提升插件的稳定性和开发效率。在 CAD C# 二次开发中,EPPLUS 凭借。EPPLUS(可支持NET35)
2025-06-07 22:55:32
889
原创 CAD 文字生成二维码——CAD c#插件实现
摘要:该AutoCAD插件可实现动态生成二维码功能,支持两种方式:1)选择CAD图纸中的文字对象(包括单行/多行文字)自动转换为二维码;2)手动输入文本生成。二维码具备Jig动态跟随效果,可预览定位后点击插入。核心功能通过.NET开发,调用ewm命令启动,要求AutoCAD 2018-2024版本,需用netload加载DLL插件。代码示例展示了文字选择、二维码绘制及图层控制等功能。该插件不提供免费下载。(149字)
2025-06-07 22:31:36
601
原创 事件监听 ——CAD C#二次开发
ed.WriteMessage($"\n实体{entity.GetType().Name}颜色已更新为索引{entity.ColorIndex}");// 修改ColorIndex。// 生成1-255的随机索引(ColorIndex范围:0=随层,1-255为具体颜色)ed.WriteMessage("\n已启用ColorIndex变色功能(避免3号绿色)");
2025-06-06 22:57:31
893
原创 Cad 反应器 cad c#二次开发
它属于 AutoCAD .NET API 的事件处理机制,本质上是一种**反应器(Reactor)模式**的实现,用于响应文档生命周期事件(如创建、激活、销毁文档等)。- **必须显式取消订阅**:否则导致内存泄漏(在 `Terminate()` 或 `Dispose()` 中处理)- **线程安全**:事件在 AutoCAD 主线程触发,可直接操作 UI。"\n文档事件反应器已启动");- **多文档协同**:在文档切换时更新全局变量。- **许可控制**:限制特定文档的功能访问。
2025-06-05 22:47:14
522
原创 NPOI操作EXCEL文件 ——CAD C# 二次开发
若预算有限,迁移到NPOI是明智选择,尽管可能需要调整部分高级功能实现方式。报表导出、数据导入导出、简单格式操作等基础需求。:不依赖Office,适合服务器端使用。格式转换(PDF/HTML/CSV等):完全免费,Apache 2.0许可。:支持从Excel 97到最新格式。:完美支持xls/xlsx格式。:官方文档较简略,依赖社区示例。:100% Excel功能兼容。:NuGet包仅5-10MB。完美支持数据透视表、高级图表。:内存操作,处理速度快。:可直接转换VBA代码。:优化的大数据量处理。
2025-06-04 18:10:59
742
原创 批量导出CAD属性块信息生成到excel——CAD C#二次开发(插件实现)
摘要:本插件支持批量导出CAD图纸(DWG文件)中指定块的属性信息至Excel表格。使用步骤:1) 获取DLL插件;2)在AutoCAD 2018-2024中输入NETLOAD加载插件;3)输入K2E命令,按界面提示选择目标块名和DWG文件即可生成Excel。插件可自动提取块属性标签,创建带有序号和属性字段的表格,支持包含空格的块名输入。核心功能包括块属性识别、Excel自动生成和数据导出,开发采用AutoCAD .NET API和Excel互操作技术。获取方式见文末箭头提示。
2025-06-01 11:21:41
422
原创 在 CAD C# 二次开发中,Clipper2、CGAL 和 NTS(NetTopologySuite)对比
Clipper2:功能专注于多边形布尔运算和偏移,C# 适配性好,性能高,适合 CAD 图形处理、游戏开发和地图绘制等场景。CGAL:功能丰富,涵盖多种几何算法和数据结构,支持自定义几何内核,但 C# 适配性一般,性能卓越,适合计算机辅助设计、计算机图形学和机器人学等高精度几何计算场景。:专注于空间数据操作和关系判断,与 GIS 集成良好,C# 适配优秀,性能较好,适合地理信息系统、空间数据库和物流规划等空间数据处理场景。
2025-05-28 17:43:14
863
1
原创 计算逆时针夹角(有向角度)——CAD c# 实现两条线(向量)的逆时针夹角
【代码】计算逆时针夹角(有向角度)——CAD c# 实现两条线(向量)的逆时针夹角。
2025-05-28 11:01:59
393
原创 HashSet的基本概念
ed.WriteMessage($"\n处理对象: {objId}, 类型: {tr.GetObject(objId, OpenMode.ForRead).GetType().Name}");"成功" : "失败,已存在重复元素")}");// 与i=1时的圆位置相同。| 查找元素 | O(1) | O(n) | O(1) || 删除元素 | O(1) | O(n) | O(1) |
2025-05-27 13:37:48
366
原创 Teigha应用——解析CAD文件(DWG格式)Teigha在CAD C#二次开发中的基本应用
Teigha是一款专为开发者设计的工具,其核心技术在于强大的API和丰富的功能集,提供了一系列工具和方法,使开发者能够轻松地读取、解析和操作DWG文件。它支持多种操作系统,能在处理大型DWG文件时保持高效性能,还可用于构建数据转换工具,将DWG文件转换为其他格式,或进行反向转换。此外,Teigha能与BIM软件集成,支持DWG文件的导入和导出,提升BIM模型的数据兼容性。Teigha可以解析CAD的DWG文件。
2025-05-27 13:31:32
328
1
原创 闲时处理技术---CAD C#二次开发
如果你的闲时处理代码会访问或修改CAD的对象模型,需要注意线程安全。因为 Idle 事件可能在不同的线程中触发,而CAD的对象模型通常不是线程安全的。在 Idle 事件的处理方法中,编写你需要在闲时执行的代码。如果你的闲时处理代码需要定期执行,而不是每次 Idle 事件触发都执行,可以使用一个计数器或定时器来控制执行的频率。CAD提供了一些事件,如 Idle 事件,当CAD应用程序处于空闲状态时会触发该事件。在你的C#代码中,找到CAD应用程序对象,并订阅其 Idle 事件。// 执行闲时处理代码。
2025-05-20 07:25:29
531
原创 Graphics——基于.NET 的 CAD 图形预览技术研究与实现——CAD c#二次开发
cad thumbnail .net、dwg rendering system.drawing
2025-05-18 22:23:26
606
2
原创 自定义类、元组、字典和结构体对比——AutoCAD C# 开发中建立不同对象之间的联系
本文对比了四种常见的数据结构:自定义类、元组、字典和结构体,分析了它们的优劣势及适用场景。自定义类适合封装复杂行为和共享状态,支持继承和多态;元组语法简洁,适合临时数据和多返回值;字典基于哈希表,适合快速查找和动态映射;结构体是值类型,适合轻量级数据和不可变对象。在AutoCAD开发中,合理选择数据结构可以提升代码的可读性、性能和可维护性。复杂关系建议使用类,临时数据用元组,索引关系用字典,轻量数据用结构体。
2025-05-17 10:06:16
865
原创 CAD 显示Express Tools
如果cad没安装Express Tools ,需要首先安装。然后找到CAD安装文件路径的express文件夹。
2025-05-15 10:29:07
279
原创 启动窗体自动输入上次内容——CAD c#二次开发
窗体项目最好不要把doc ed db等做成静态函数,因为用户可能换个dwg文件继续执行窗体,这时候代码中的doc还是老dwg,容易造成bug、致命错误、闪退等。
2025-05-14 19:55:31
330
原创 linq中 List<T>.ForEach() 与 的 Select() 方法区别——CAD c#二次开发
List<T>.ForEach 和 Enumerable.Select 是 C# 中用于处理集合的两种不同方法,各有其适用场景。ForEach 用于对集合中的每个元素执行操作(如修改属性),无返回值且立即执行,适合直接修改原集合。Select 则用于将集合中的元素映射为新值,生成一个新的序列,返回 IEnumerable<TResult> 并延迟执行,适合生成新集合或与其他 LINQ 方法组合使用。ForEach 更简洁,适合简单副作用操作,而 Select 更适合需要生成新集合或进
2025-05-13 09:47:18
596
原创 CAD属性图框值与Excel联动(CAD块属性导出Excel、excel更新CAD块属性)——CAD c#二次开发
该CAD插件通过加载DLL文件,实现了块属性值与Excel表格的互动。用户可以通过命令行输入netload加载插件,运行特定命令即可将CAD中的块属性值导出到Excel,或根据Excel中的数据更新CAD中的块属性值。插件的核心代码通过事务管理确保数据更新的安全性,遍历CAD中的块参照并与Excel数据进行匹配,按需更新属性值。更新过程中,插件会以写模式重新打开块参照和属性对象,确保修改生效。最终,插件会记录并反馈成功更新的属性值数量,若更新失败则回滚事务并提示错误信息。该插件显著提升了CAD与Excel之
2025-05-10 20:26:50
554
原创 OLE(对象链接与嵌入)剪贴板内容插入到 CAD 图形中——CAD c# 二次开发
在AutoCAD的C#二次开发中,使用OLE(对象链接与嵌入)技术将剪贴板内容插入到CAD图形中是一种有效的方法。OLE技术允许不同应用程序之间的数据共享与交互,主要分为链接对象和嵌入对象两种应用场景。链接对象保持与源应用程序的关联,而嵌入对象则完全复制到CAD中,与源应用程序断开联系。实现这一功能的关键步骤包括引用必要的命名空间、检查剪贴板中的OLE对象、选择插入点、创建OLE2Frame对象、处理不同格式的数据以及事务管理。代码中还包括剪贴板检查、插入点选择、OLE对象创建、数据处理和事务管理等功能。需
2025-05-10 11:54:51
629
原创 获取多段线的点到点集合 ——GetStretchPoints
Point3dCollection acircletoplpt = new Point3dCollection(); acircletopl.GetStretchPoints(acircletoplpt);//获取多段线的点
2025-04-28 23:36:36
133
原创 Cad求多段线中心点(顶点平均值) C#
当输入的polyline为null时抛出顶点坐标平均值的Point3d对象(顶点数为0时返回原点(0,0,0))目标多段线对象
2025-04-27 10:35:01
401
原创 窗交选择(跳过自己本身)——c#
在 AutoCAD 的 .NET API 中, SelectCrossingPolygon 方法属于 Editor 类(位于 Autodesk.AutoCAD.EditorInput 命名空间),其选择逻辑 完全基于实体的几何坐标,与当前视图范围(显示区域)无关。- 交叉多边形的顶点坐标使用 当前空间的坐标系(模型空间为世界坐标系,图纸空间为图纸坐标系),需确保顶点坐标与实体坐标在同一空间中计算。- 定义一个交叉多边形,使其几何区域包含实体 B 的坐标(即使实体 B 不在当前屏幕显示范围内)。
2025-04-26 07:43:22
371
批量复制文件夹下所有文件到指定路径-山水办公助手轻松实现
2024-11-28
Cad vba 如何实现xdata扩展数据的录入与导出
2023-12-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人