摘要:
说明 本篇是用于置顶的博文,本人日志,内容不一定对,但请指出 跳转到末尾 日志 20241119 RoaringBitmap压缩性质的bitmap 一直想压缩性的bitmap,就是叫这个名字, 压缩原理就是分块,稀疏的就单个分块,数组容器和位图容器. 然后连续的整数就起始值,长度. 因为有序,查询的 阅读全文
摘要:
数学学得好的,都是能把人家的描述语言变成自己的描述语言. 例如你叫这个"矢量积"我叫它"叉积"(叉烧+鸡),当你熟悉了之后,再统一回来,你会发现心情宽阔. 向量(轴) 在编程上面,向量用(X,Y,Z)表示,也就是(123.156,194.156,215,00) 它和点的数据结构是一样的,主要的目的是 阅读全文
摘要:
20240817补 acad卸载不太完美,我把卸载猜想写到下面链接中,大家自行实现. 主要是针对COM的GCHandle问题. 工程Loadx分支中呈现全部的旧代码. https://gitee.com/inspirefunction/CadLabelBar/issues/IAI0ZZ 当时我搞卸载 阅读全文
摘要:
说明 这是一种利用句柄遍历数据库的方式,句柄是acad内部分配器进行递增的. 在某些情况下(可能是天正环境导致),用此方法遍历数据库奇慢, 会在循环中一直自增,为了停止它,我使用了一个变量. 第二种奇慢是acad08上面,acad程序员把断言和vs输出弄反了, 导致debug模式一直弹出miss信息 阅读全文
摘要:
动图演示 简述 有人问avlisp能不能修改打印机纸张大小? 回答:你若能调用解压包,解压pmp即可,若不能,请使用c#,cpp语言,因为这样有人家做好的库. 毕竟我看过有人可以直接操作内存,能做出来也不出奇. 我,青蛙,e大三个人聊天时候意外发现pc3和pmp是个压缩包,我们用txt直接打开了它, 阅读全文
摘要:
一些浩辰的问题移步去: cad问题小百科_Gcad (浩辰可能和桌子具有相同的问题,所以这篇你可能还是要看) 若大家对以下问题有更好的解决方案,可以评论中用 #20071编号 的进行评论,以便更好沟通~ #20071安装提示缺少dfst.dIl文件 Acad2007运行时遇到了这种情况,提示缺少df 阅读全文
摘要:
概念性文章,不做任何运行保证,只做原理设计 查找字符串 构造倒序索引解决查找替换字符串速度慢问题 它是单线程方案,只是对于key查询时候可以多线程. 1,打开图纸后遍历全部文本, 通过分词器分词,写入字典,key是切词,value是ids. 2,通过不同的事件进行维护索引, 事件有两种,一种是图元事 阅读全文
摘要:
行式排序 // 容差需要set,而Point3d的无法set,直接暴露字段或者封装到构造函数内. public class XYZD { public double X; public double Y; public double Z; public ObjectId ObjectId; publ 阅读全文
该文被密码保护。 阅读全文
摘要:
多行文字格式解析 在C#上面多行文字去除格式是很简单的,如下: string content = mText.Text; mText.Text = content; 尺寸标注本质上就是一个特殊的块, 尺寸标注的文字也是多行文字, 尺寸标注内容是有替换文本和测量值之分, 内容改为"<>"是恢复测量值, 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
解析DWG 本文来自 https://blog.csdn.net/jiangyb999 0x01_文件结构 总体结构 DWG文件可分为2部分:文件头和数据. 数据部分在物理上分页(Page)存储的, 在逻辑上由一个或多个页组成一个段(Section). 0x01a_文件头 文件头长度为0x100个字 阅读全文
摘要:
定点数好处 发现不少人组合了"大版本.小版本"然后判断字符串, 虽然效率上面不差多少,但是不太考究细节是不对的.(因为我变强了,要节约内存了注重效率了) 1,有序数组比起hashmap来说占用内存少, 并且序列化和反序列化也是有序的,顺序读写,载入即用. 2,数据太少会是全量缓存,二分法此时运行是很 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
拉伸填充 拉伸填充在Lisp做不好是有原因的,此链接就暴露了Lisp制作的许多缺点:例如Lisp应对ESC会中断,此时造成可怕的回调中断问题. http://bbs.mjtd.com/thread-181607-1-1.html 我将带大家解读一次我所写的C#拉伸填充. https://gitee. 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
捕捉点卡顿 cad现在采用了一种密集填充就不显示的策略. 系统变量hpmaxlines:默认值100000(十万). 其实挺傻的, 我们无论何时都要看到填充啊. 不然我怎么删掉密集填充呢? 不然我还以为没有填充再填充一次呢~ 它卡顿是发生在画图期间,鼠标经过填充区域密集计算交点,端点...密集计算长 阅读全文
摘要:
项目简介 备份windows桌面的图标位置到json 项目是 net7 nativeAOT 的框架,内有 json 生成器的处理(为什么强调?因为有坑,结构体需要写个特性,否则会是{}). 编译方式 下载net7框架之后: 在.csproj文件的路径上面输入cmd,回车: dotnet publis 阅读全文
摘要:
由于Point3d的字段是设置了set保护,那么我们可以利用不安全操作来进行: .csproj加入: <PropertyGroup> <AllowUnsafeBlocks>True</AllowUnsafeBlocks> </PropertyGroup> 结构: 准备一个相同的结构,需要直接暴露字段 阅读全文
摘要:
AOP切面编程 其实AOP就是插入新方法在旧方法前面或者后面. 我们很自然而然想到事件,不过事件是预埋, 我们并不会在每个方法上面实现预埋事件,也不会那么做. 我们更多是希望后埋. C#之所以比Lisp强大,其中一个原因就是反射. PS:反射我会啊,序列化就需要反射字段嘛,还有反射接口嘛... 反射 阅读全文
摘要:
查找块定义的全部引用 查找块定义的全部引用,也就是图纸上的同名块. 一共有两种方案, 1,遍历全图; 2,通过cad内部储存机制(内部的索引组织表); 遍历全图必然比自带的获取慢,虽然也没有慢多少就是了. 其中获取嵌套块的id,大家可以自己推导一下规律... brRec要是块参照的,若是模型空间就什 阅读全文
摘要:
影响图层显示的主要有: 关闭 isOff 冻结 IsFrozen 图层隐藏 isHidden 视口冻结 FreezeLayersInViewport 图层解锁褪色度 想跟acad的锁定/解锁一样拥有褪色度,那么你需要阅读此篇 代码 #if !HC2020 using Autodesk.AutoCAD 阅读全文
摘要:
生成填充的类 渐变填充部分参考了才鸟的书里的代码,但是我改的也挺多的... 调用 namespace JoinBox { public partial class CmdTest { /// <summary> /// 测试填充 /// </summary> [CommandMethod("CmdT 阅读全文
摘要:
说明 重构了一下自己的几处jig代码, 发现可以抽象出一些公共内容,不再每次写类继承(麻烦). 设置JIG不预览: setvar DRAGMODE 0是不预览,2是预览 控制进行拖动的对象的显示方式 你可以自行加入到封装或者命令层实现. JIG每次克隆图元显示了,再立即释放,这个是为什么呢? 官方A 阅读全文
摘要:
动图演示 原理 分裂 通过一个轴向矩形(非旋转)边界进行中心点分裂四个轴向矩形, 0x01 插入时候会一直分裂四个矩形(总是平均的面积),当分裂面积小于你插入 图元矩形面积 就停止分裂. 0x02 限制树的深度,停止分裂. 0x03 Rect字段是int/long的话,每次扩大就是2次幂,最小分裂就 阅读全文
摘要:
调用初始化赋值 初始化图元的时候必须调用一下Entity.SetDatabaseDefaults();尤其是初始化填充(可以看到我代码做了一次预处理测试). 因为acad的不同版本会修改初始化赋值的顺序,导致此问题, 而且它报错的地方可能并不是提交事务到数据库时, 而是计算图元显示时: hatch. 阅读全文
摘要:
输出配置文件 在cad的options命令面板中,使用配置选项卡的输出配置,你会得到一个.arg文件 .arg:将文件导出到桌面(可以改成.reg) 版本配置总表:运行regedit,导出此路径注册表到桌面: 计算机\HKEY_CURRENT_USER\SOFTWARE\Autodesk\AutoC 阅读全文
摘要:
开局一张图 透视变换可以形成一种近大远小的效果. 可以把左边变成右边,也可以把右边变成左边. cad在实现的时候需要把圆,弧,曲线等等采样成点集...逆变的时候可以依照一定规则将他们改回圆,弧,曲线之类的...这一步有一些cv经常用到的概念...真就cv,gl不分家呗🤣 说明 发现网络很多文章的透 阅读全文
摘要:
Acad跨进程通讯 在Acad跨进程通讯用途其实很广泛. 1,COM接口交互 https://www.cnblogs.com/JJBox/p/11381254.html adn博客里面说COM要STA线程 2,Win32API的SendMessage其实也是, 毕竟ctrl+n新建图纸也是发送QNE 阅读全文