摘要: 说明 本篇是用于置顶的博文,本人日志,内容不一定对,但请指出 跳转到末尾 日志 20250310 尽可能不要遍历数据库,改用字典索引, DBDictionary/Xrecord,后者还支持事务回滚的. 不过合并图层/文字样式这些必然需要遍历. 减少continue/break, 先过滤:用Linq的 阅读全文
posted @ 2021-02-09 08:10 惊惊 阅读(2318) 评论(0) 推荐(0) 编辑
摘要: 数学学得好的,都是能把人家的描述语言变成自己的描述语言. 例如你叫这个"矢量积"我叫它"叉积"(叉烧+鸡),当你熟悉了之后,再统一回来,你会发现心情宽阔. 向量(轴) 在编程上面,向量用(X,Y,Z)表示,也就是(123.156,194.156,215,00) 它和点的数据结构是一样的,主要的目的是 阅读全文
posted @ 2021-01-20 00:24 惊惊 阅读(5711) 评论(0) 推荐(1) 编辑
摘要: 20240817补 acad卸载不太完美,我把卸载猜想写到下面链接中,大家自行实现. 主要是针对COM的GCHandle问题. 工程Loadx分支中呈现全部的旧代码. https://gitee.com/inspirefunction/CadLabelBar/issues/IAI0ZZ 当时我搞卸载 阅读全文
posted @ 2020-10-18 03:58 惊惊 阅读(8971) 评论(1) 推荐(2) 编辑
摘要: 说明 这是一种利用句柄遍历数据库的方式,句柄是acad内部分配器进行递增的. 在某些情况下(可能是天正环境导致),用此方法遍历数据库奇慢, 会在循环中一直自增,为了停止它,我使用了一个变量. 第二种奇慢是acad08上面,acad程序员把断言和vs输出弄反了, 导致debug模式一直弹出miss信息 阅读全文
posted @ 2020-03-14 07:13 惊惊 阅读(1649) 评论(0) 推荐(0) 编辑
摘要: 动图演示 简述 有人问avlisp能不能修改打印机纸张大小? 回答:你若能调用解压包,解压PMP即可,若不能,请使用c#,cpp语言,因为这样有人家做好的库. 毕竟我看过有人可以直接操作内存,能做出来也不出奇. 我,青蛙,e大三个人聊天时候意外发现PC3和PMP是个压缩包, 我们用txt直接打开了它 阅读全文
posted @ 2019-05-22 23:36 惊惊 阅读(9262) 评论(40) 推荐(1) 编辑
摘要: 原因 继承IExtensionApplication初始化接口的派生类会加载后自动执行. 但是此接口是不能在同一个dll实现一次以上的,继承了多次也不会执行多次,会报错. 那么这给编写代码带来了一种不好的情况是,每次都要去修改这个派生类, 如果是一个小的测试功能,你又要去动前面的核心, 老板都说这个 阅读全文
posted @ 2019-05-11 20:49 惊惊 阅读(2737) 评论(2) 推荐(1) 编辑
摘要: 一些浩辰的问题移步去: cad问题小百科_Gcad (浩辰可能和桌子具有相同的问题,所以这篇你可能还是要看) 若大家对以下问题有更好的解决方案,可以评论中用 #20071编号 的进行评论,以便更好沟通~ #20071安装提示缺少dfst.dIl文件 Acad2007运行时遇到了这种情况,提示缺少df 阅读全文
posted @ 2019-05-11 15:17 惊惊 阅读(4084) 评论(0) 推荐(0) 编辑
摘要: 结果缓冲区ResultBuffer 即 Autodesk.AutoCAD.DatabaseServices.ResultBuffer 类型. 使用ResultBuffer时需要提供一个数据对, 每个数据对包含一个数据类型描述和一个值, 这些数据对是 Autodesk.AutoCAD.Database 阅读全文
posted @ 2025-03-10 12:16 惊惊 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-03-08 23:11 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-03-07 16:47 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-03-03 14:50 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-28 17:35 惊惊 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-26 14:46 惊惊 阅读(12) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-23 16:44 惊惊 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-22 22:30 惊惊 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-20 03:59 惊惊 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-18 21:21 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-16 21:37 惊惊 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-13 18:35 惊惊 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 事务栈 设计概念 事务栈主要是作为一个代理类来保证流程的顺序正确, 不耦合官方的API,做一个代理类是很正常的, 例如中望API缺失,而你的下游代码又不想一个个预处理,就可以通过代理类提供虚假API先. 它才13个指针(9个符号表+4个本类)+1个表记录字典,不存在性能瓶颈, 而且是符号表是惰性求值 阅读全文
posted @ 2025-02-07 20:53 惊惊 阅读(144) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-06 16:57 惊惊 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-06 12:09 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 布局 删除布局并切换布局 可能Acad前端需要拦截切换布局,并加入刷新界面的原因, 数据库没有切换布局属性,例如db.Layout = ? 我们仍然需要通过布局管理器,而它的取值会经过WorkingDatabase, 所以后台打开图纸后,要设置WorkingDatabase,否则会报错 eSetFa 阅读全文
posted @ 2025-02-03 22:55 惊惊 阅读(120) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-02-03 02:45 惊惊 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-01-30 02:35 惊惊 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 结构体委托 为什么结构体委托能内联? 静态确定性: Multiplier.Invoke 的代码在编译时完全确定 值类型特性: JIT 可为结构体方法生成特化代码 无虚表开销: 直接调用而非间接跳转 可以节省时间,更有效地触发内联, 100万次是40ms和9ms,加速了4倍,见资料其实是5-6倍 发现 阅读全文
posted @ 2025-01-28 21:51 惊惊 阅读(14) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-01-28 01:49 惊惊 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 基础 众所周知,我们很经常找到一个目标,然后中断搜索, 传统方式: var array = int[] { 1,5,6,3,2,8,9,6,5,4 }; var target = 8; int i; for(i = 0; i < array.Length; i++) { if (array[i] = 阅读全文
posted @ 2025-01-23 16:34 惊惊 阅读(49) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2025-01-22 17:00 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 案例250119 private static List<string>? GetPrintList(DBTrans tr, SelectionSet ss) { List<string> printLines = []; foreach (var id in ss.GetObjectIds()) 阅读全文
posted @ 2025-01-18 20:49 惊惊 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 原有连接 1,扫描线算法 https://www.cnblogs.com/JJBox/p/12571436.html 2,扫描线代码 https://www.cnblogs.com/JJBox/p/18652906.html 3,扫描线辅助类 https://www.cnblogs.com/JJBo 阅读全文
posted @ 2025-01-17 18:35 惊惊 阅读(90) 评论(0) 推荐(0) 编辑
摘要: public class TestCommand { [CommandMethod(nameof(CurveBoundDemo))] public void CurveBoundDemo() { using DBTrans tr = new(); var pl = Env.Editor.Select 阅读全文
posted @ 2025-01-17 17:22 惊惊 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 原有链接 1,扫描线算法 https://www.cnblogs.com/JJBox/p/12571436.html 2,扫描线代码 https://www.cnblogs.com/JJBox/p/18652906.html 3,扫描线辅助类 https://www.cnblogs.com/JJBo 阅读全文
posted @ 2025-01-05 01:55 惊惊 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 插入序的Map 创建一个既有O(1)查找速度,也有顺序遍历的结构. 也就是JS和Python的字典结构,在C#上面需要通过两个结构进行. 让我们封装它们作为有序Map吧. 1,如果map用list的索引作为value, 那么list移除中间成员后,list是数组,后面成员会全部向前移动, 所以map 阅读全文
posted @ 2024-12-31 16:37 惊惊 阅读(57) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-12-30 18:25 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 投影分块 根据桶排序可以知道,分桶的边界之后可以并行. 所以这就给我们制作区间容器一个思路. 首先SortedList是有序KV结构,每次加入都会排序. (微软提供的有序类型都是不允许重复key,所以自带二分法也没有找最左最右,需要自己写.) 我们把它的key作为区间min值,value作为区间ma 阅读全文
posted @ 2024-12-25 04:13 惊惊 阅读(62) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-12-19 21:20 惊惊 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 概念性文章,不做任何运行保证,只做原理设计 查找字符串 构造倒序索引解决查找替换字符串速度慢问题, 它是单线程方案,只是查询不同doc的key可以并行多线程. 例如如何从十万个dwg里面找到"2004年建筑规范", 需要构造map来储存文件路径,文字所属的句柄, 同时最好了解一些Everything 阅读全文
posted @ 2024-12-01 18:55 惊惊 阅读(105) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-26 20:02 惊惊 阅读(11) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-22 14:36 惊惊 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 行式排序 // 容差需要set,而Point3d的无法set,直接暴露字段或者封装到构造函数内. public class XYZD { public double X; public double Y; public double Z; public ObjectId ObjectId; publ 阅读全文
posted @ 2024-11-20 16:28 惊惊 阅读(230) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-19 06:52 惊惊 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-19 04:50 惊惊 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-17 22:58 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-16 04:45 惊惊 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-11 02:39 惊惊 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-11-11 00:00 惊惊 阅读(4) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示