- 积分
- 13968
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 你有种再说一遍 于 2025-4-29 19:25 编辑
发现如果DWG数据可以百分百转为数据库的表,
这样可以实现一些有趣的东西.
1,数据驱动图元
你只需要用Excel上面修改信息,就可以联动修改DWG图元.
2,并行检索
使用数据库的并行检索,多表联查.
3,构建统计表
通过自定义二级索引,
a:实现对于某块名的检索,统计零件数量.
b:某图层的多段线,实现统计地块信息,管道长度等等.
4,提供独立的DB读取机制,
Lisp跨文档就不需要绕圈了,可以直接通过链接数据库实现.
任务事例
我查找0面积或者无效面积的区域(多段线),无效区域是位于多个块中,然后修复这些多段线.
现在我们的处理是
写代码进行遍历,然后直接批量修复处理.
如果想要逐个查看的话,就是引出一条线从图元到0,0
再手动逐个把图块在位编辑.
(也就是最快和最慢之间,似乎可以通过...本文)
用Excel处理的话,
就只需要点过滤图元类型,然后排序面积,
就能找到全部0面积图元行,选择这些行.
预设的函数动作"封闭/消重点"改图元,
列上面的Closed设置true就是封闭.
函数动作本身会自动向上打开图块(块表记录),更改和刷新.
你可以比较两者流程,
发现历年千方百计的过滤图元显得不再那么重要了,
Excel能够直接选中嵌套对象,能够排序对象,
可以说标准流程处理问题.
而现在的特性面板就无法实现处理块内.
现实问题很多:
1,自定义图元,例如天正图元没有能够被你读取.
2,对于动态块的认识缺失.(直接存DXF)
3,对于文字的渲染认识缺失.(直接存文字内容)
4,对于样条曲线的认识缺失.(直接提取控制点)
5,回滚和重做机制,需要每个数据表都加入一个log表.
6,DWG可以插入Access数据库,Excel,图片,这些信息缺失.
发现大部分都是围绕图元信息提取,
这个部分其实不难,主要靠经验,
难就难在会不会给你随时爆一个无效id.
例如Acad提供了交换句柄,
万一Excel记录了句柄,然后是多段线,被某个命令换成了直线.
这样就G了 |
|