- 博客(497)
- 收藏
- 关注
原创 二维矩形 套料排版——CAD c#二次开发
使用面积: 4639.0 / 5000.0。使用面积: 4785.3 / 5000.0。=== 排版统计 ===空间利用率: 92.8%=== 排版统计 ===空间利用率: 95.7%使用策略: 面积降序。使用策略: 面积降序。算法需求可联系↓↓↓。
2025-11-23 18:44:49
117
原创 field ——AUTOCAD设置字段
要创建一个属性块,其中包含一个字段,该字段显示该块所在布局(Layout)的名称,可以按照以下步骤操作: 创建属性定义: 使用ATTDEF命令来创建属性定义。在属性定义中插入字段: 在属性定义的“默认”值中,插入一个字段,该字段指向布局名称。点击“插入字段”按钮(在“默认”值输入框的右侧,有一个带有“...”的按钮,点击它会出现字段对话框)。回到“属性定义”对话框,现在“默认”值应该显示为<<CTAB>>(实际上会显示为当前布局的名称,但背后是字段)。当你在“布局2”中插入同一个块时,属性显示“布局2”。
2025-11-11 22:46:17
184
原创 多行文字 堆叠文字替换
MText.AlignChange 、 MText.StackStart 、 MText.TrackChange 是 CAD API(如 AutoCAD .NET API)中的常量。在 CAD 里,MText 的格式化信息(如对齐、堆叠、字距)是通过特殊的控制符来表示的,比如 \S1/2\S 表示分数 ½。
2025-10-16 10:50:26
434
原创 文件夹树视图(Folder Tree View)
这种组合是操作系统和文件管理类软件的经典 UI 模式,既保留了层级导航的清晰性,又能展示当前位置的详细内容。在文件浏览器场景中,这两个组件通常是。
2025-10-15 21:58:04
424
原创 Dijkstra最短路径算法
5. 你→小明(3步)(新增的“直接到终点的路”,但步数多)。2. 插旗后,“小明的步数(2步)”就100%确定了——因为所有能到小明的路(你直接去、小红去、小刚去)都检查过了,没有比2步更近的。那“你→小刚→小明”的总步数是:1(你到小刚)+2(小刚到小明)= 3步。那“你→小红→小明”的总步数是:1(你到小红)+1(小红到小明)= 2步。- 从你出发,更新步数本:小红(1步)、小刚(1步)、小明(3步,因为你能直接走到他,要3步)。此时步数本:你(0,旗)、小红(1,旗)、小刚(1)、小明(2)。
2025-10-03 23:21:27
309
原创 Lisp 与 C# 交互中,类型码(TypeCode)的映射关系
在 AutoCAD 的 Lisp 与 C# 交互中,Lisp 数据类型与对应的类型码(TypeCode)及 C# 类型存在明确映射关系。5003(short)、5010(int)、5001(double)分别对应不同精度的数值,转换时需匹配类型码。Lisp 中通过ssname提取的单个对象 ID(如(ssname ss 0))属于此类型。C# 中需先转换为选择集 ID(ObjectId),再通过事务打开选择集提取内部对象 ID。Lisp 中通过ssget获取的选择集整体属于此类型(如ss变量)。
2025-09-25 20:23:11
413
1
原创 三角形邻接表、寻路
last(路径的最后一个):比如路径是“A→B→C”,last就是C——因为我们要从C出发,找它的邻居继续往下走。我们有一堆三角形(比如你画在纸上的好多小三角),两个三角形共用一条边,就算是“邻居”(比如你和同桌共用一张课桌,就是邻居)。2. 从一个起始三角形(startTri)出发,找到一条能走到目标三角形(endTri)的“路径”(比如从教室前门的三角,走到教室后门的三角,只能走邻居)。// 解释:创建一个“笔记本”,key是每个三角形,value是这个三角形的所有邻居(用列表记)
2025-09-12 11:09:33
903
原创 扩展数据加入xy坐标
/ Z.ed.WriteMessage($"\n多段线起始点坐标: X={startPoint.X}, Y={startPoint.Y}");// rb.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, "坐标"));rb.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, "坐标"));////"x坐标已加".print____________________cad();
2025-08-25 18:36:36
901
原创 一个byte表示多个bool属性的功能
【摘要】通过位运算可实现用一个byte存储8个bool值,节省87.5%内存。核心原理是将byte的8个二进制位(bit0-bit7)分别对应不同属性,用位运算操作:与运算(&)查位、或运算(|)置位、与非(&~)清位、异或(^)反转位。例如定义bit0对应bo属性,通过_flags|=(1<<0)设为true,_flags&=(byte)~(1<<0)设为false。此方法适合需要大量bool属性的场景,但需注意:最多处理8个属性,调试时需转二进制查看
2025-08-24 22:16:33
390
原创 隐藏搜狗输入法状态栏
文章摘要:本文介绍了隐藏办公软件状态栏的方法,可避免日常使用中的误触问题。同时提供了恢复状态栏的操作方案,两种方法都能实现一劳永逸的效果。
2025-08-20 10:14:39
244
原创 CAD 的 C# 开发中,对多段线(封闭多边形)内部的点进行 “一笔连线且不交叉、不出界
(2)构建非交叉路径的核心逻辑 采用 “凸包分层 + 极角排序” 的策略,从外到内逐层连接点,避免交叉: 提取当前点集的凸包: 凸包是包含所有点的最小凸多边形,凸包上的点按顺时针 / 逆时针排序后连接,天然无交叉。处理凸包内部的点: 剔除凸包上的点后,对剩余内部点重复步骤 1-2,形成内层路径,最后将内层路径与外层路径连接(选择一个连接点,确保连线不交叉且在多边形内)。凸包分层: 对当前点集计算凸包(最外层点构成的凸多边形),凸包上的点按逆时针排序后连接,天然无交叉。路径全程在多段线(多边形)内部;
2025-08-13 17:56:42
627
原创 彻底解决win10打开图像慢的问题
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations。数值数据内容如下:PhotoViewer.FileAssoc.Tiff。
2025-08-13 14:49:10
290
原创 选择块内实体——从一个块参照中选择一个子实体(例如块中的一条线)CAD c#
【代码】选择块内实体——从一个块参照中选择一个子实体(例如块中的一条线)CAD c#
2025-07-26 21:01:07
2968
原创 窗选和叉选
调用 Editor.SelectCrossingWindow() 方法,传入同样的对角点,选中部分位于矩形内或与矩形边界相交的对象。ed.WriteMessage($"\n窗口选择成功,共选中 {selRes.Value.Count} 个对象");调用 Editor.SelectWindow() 方法,传入矩形的两个对角点(如起点和终点),仅选中完全位于矩形内的对象。/// 交叉选择(Crossing):选中部分位于矩形内或与矩形相交的对象。// 执行交叉选择(部分在矩形内或相交的对象)
2025-07-24 12:06:56
453
原创 排版套料—判断矩形能否放入多边形内——cad c# 二次开发实现
逻辑过程如下:对多段线内部布点阵,将矩形移动到点阵中旋转,直到跟多边形无交点为止。
2025-07-23 22:13:47
417
原创 netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
通过以上步骤,你已成功搭建了基于 netDxf 的 DXF 处理环境,并实现了基本的读写功能。确保程序有写入 D 盘的权限(或修改保存路径到其他位置)解决方案 "DxfProcessor" (2个项目)│ └─ Program.cs (主入口文件)modified.dxf:修改了颜色并添加了文本。├─ DxfProcessor (你的主程序)output.dxf:包含一条线和一个圆。└─ netDxf (引用的源码项目)进阶:处理复杂 DXF 文件。确保 DXF 文件路径正确。
2025-07-11 21:30:40
732
原创 Cad二次开发 匿名块、动态块
关键点:创建一个新的`BlockTableRecord`,并将其`Name`属性设置为以`*U`开头的格式(虽然AutoCAD最终会分配一个唯一的名称,如`*Unn`),更重要的是**不将其添加到命名的块符号表中供用户插入**。* 动态块是一种特殊的块参照,它包含**自定义参数和动作**,允许用户在插入后**直接通过夹点**(有时也通过属性或特性面板)**动态地修改其几何形状、大小、位置或可见性**,而无需炸开块或重定义块。** AutoCAD会自动将其转换为唯一的匿名块名称(如`*U2`)。
2025-07-03 10:39:38
1150
原创 dll混淆加密——防止dll反编译
通过以上步骤,你可以快速实现 C# DLL 的基础防护。如果需要更专业的方案,可考虑商业混淆器(如 Dotfuscator、MaxtoCode),但免费工具已能满足基础需求。:没有绝对安全的方案,但此方案可使反编译成本远高于收益。实现,但需注意:完全防止反编译几乎不可能,只能增加逆向成本。使用不同的陷阱触发方式(异常/日志/延迟破坏)点击"Protect"生成加固后的DLL。定期更新混淆配置(不同版本使用不同预设)防止反编译的核心是增加逆向难度,主要通过。的实际值(调试模式获取)
2025-06-18 15:07:53
1868
原创 激光加工数字铭牌镂空字生成方案——cad c#二次开发
插入点</param>/// <param name="textHeight">文本高度</param>/// <param name="btr">当前块表记录
2025-06-16 23:35:57
974
原创 SaveAs函数 ——cad c#另存版本
SaveAsDwgVersionParametersParametersNotesdxf:DxfOutDwgVersionParametersParameters。
2025-06-15 16:46:14
284
批量复制文件夹下所有文件到指定路径-山水办公助手轻松实现
2024-11-28
Cad vba 如何实现xdata扩展数据的录入与导出
2023-12-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅