摘要:
说明 本篇是用于置顶的博文,本人日志,内容不一定对,但请指出 跳转到末尾 日志 20250103 发现CAD的静态字段必然跨数据库,既然是必然,我们就不应该乱用, static Dictionary<Database, value> map = new() 这说明了value是我们的四叉树,字典,这 阅读全文
摘要:
数学学得好的,都是能把人家的描述语言变成自己的描述语言. 例如你叫这个"矢量积"我叫它"叉积"(叉烧+鸡),当你熟悉了之后,再统一回来,你会发现心情宽阔. 向量(轴) 在编程上面,向量用(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直接打开了它 阅读全文
摘要:
原因 继承IExtensionApplication初始化接口的派生类会加载后自动执行. 但是此接口是不能在同一个dll实现一次以上的,继承了多次也不会执行多次,会报错. 那么这给编写代码带来了一种不好的情况是,每次都要去修改这个派生类, 如果是一个小的测试功能,你又要去动前面的核心, 老板都说这个 阅读全文
摘要:
一些浩辰的问题移步去: cad问题小百科_Gcad (浩辰可能和桌子具有相同的问题,所以这篇你可能还是要看) 若大家对以下问题有更好的解决方案,可以评论中用 #20071编号 的进行评论,以便更好沟通~ #20071安装提示缺少dfst.dIl文件 Acad2007运行时遇到了这种情况,提示缺少df 阅读全文
摘要:
插入序的Map 创建一个既有O(1)查找速度,也有顺序遍历的结构. 也就是JS和Python的字典结构,在C#上面需要通过两个结构进行. 让我们封装它们作为有序Map吧. 1,如果map用list的索引作为value, 那么list移除中间成员后,list是数组,后面成员会全部向前移动, 所以map 阅读全文
摘要:
投影分块 根据桶排序可以知道,分桶的边界之后可以并行. 所以这就给我们制作区间容器一个思路. 首先SortedList是有序KV结构,每次加入都会排序. (微软提供的有序类型都是不允许重复key,所以自带二分法也没有找最左最右,需要自己写.) 我们把它的key作为区间min值,value作为区间ma 阅读全文
摘要:
概念性文章,不做任何运行保证,只做原理设计 查找字符串 构造倒序索引解决查找替换字符串速度慢问题, 它是单线程方案,只是查询不同doc的key可以并行多线程. 例如如何从十万个dwg里面找到"2004年建筑规范", 需要构造map来储存文件路径,文字所属的句柄, 同时最好了解一些Everything 阅读全文
摘要:
行式排序 // 容差需要set,而Point3d的无法set,直接暴露字段或者封装到构造函数内. public class XYZD { public double X; public double Y; public double Z; public ObjectId ObjectId; publ 阅读全文
该文被密码保护。 阅读全文
摘要:
基础知识 0x01 去除格式 在C#上面多行文字去除格式是很简单的,如下: string content = mText.Text; mText.Text = content; 0x02 尺寸标注 尺寸标注本质上就是一个特殊的块,它的文字也是多行文字, 内容有替换文本和测量值两种模式,改为<>是可以 阅读全文
该文被密码保护。 阅读全文
摘要:
解析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> 结构: 准备一个相同的结构,需要直接暴露字段 阅读全文
摘要:
插入到函数前后 曾几何时,大家会冥冥之中觉得,想在函数执行时候加一个执行前/执行后的效果. 但是函数是很难修改的,函数体body被编译成MSIL中间语言了, 没有经过一定汇编培训的话是困难重重. 并且想改的函数或许已经写了很多地方了, 直接加入两个前后函数并不合适, 未来还可能存在修改,又不要这两个 阅读全文
摘要:
查找块定义的全部引用 查找块定义的全部引用,也就是图纸上的同名块. 一共有两种方案, 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 阅读全文