Tuoni 发表于 2007-2-16 04:59:30

对象持久数据是否已保存?

我正在编写一个例程,在AutoCAD绘图上执行一系列计算,获取多段线的面积等,但我偶然发现了一个……”;脑筋急转弯;(当然是为了我那该死的小VBA大脑)
我允许用户选择他们不希望包含在计算中的对象集,到目前为止,我一直在列表框中存储他们的对象ID、层名称和面积 它们还可以从“文件”中删除对象;不包括“;列表 在同一个会话中这很好,但是,我从未检查过的一点是,该数据是否在保存后持久 它不是#039;t、  关闭并重新打开图形时,任何给定对象的ObjectID都与上次打开时不同
我曾想过要“创造”;“在飞行中”;排除层(扩展名为“excluded”)他们选择每个对象,然后将对象移动到该层 这个想法对于排除一个对象很好,但是如果排除的同一层上有多个对象(或者对于块,两个具有相同名称),会发生什么 我的脚本如何再次知道要在计算中包括哪些内容
当然,我可以在对象上存储一些附加数据,例如其面积,但这取决于这样一个事实,即用户不会在将多段线排除在计算之外后更改其面积,也不会对块进行操作
有什么建议吗?

Tuoni 发表于 2007-2-16 05:40:09

我会选择扩展数据
您可以添加一个;“排除我”;标识符到具有扩展数据的对象,然后只需将其过滤掉以供计算。

Keith™ 发表于 2007-2-16 05:42:16

谢谢,这个想法没有#039;我甚至没有想过:丑: 我现在就开始

Tuoni 发表于 2007-2-16 07:38:39

本人'我不确定我是否完全理解你的问题,但听起来至少有一部分是因为ObjectId#039;从一个AutoCAD任务到另一个AutoCAD会话之间不会持久 如果是这样,您可能需要查看文档中关于句柄的信息。

Tuoni 发表于 2007-2-16 08:50:51


我要说的是同一件事……句柄是持久的,直到/除非你对图形进行wblock(我经常这样做)

Tuoni 发表于 2007-2-16 17:01:07

字典中用于持久对象排除的句柄…'努夫说
英雄所见略同,对吗
干杯,格伦。

Keith™ 发表于 2007-2-16 17:01:43

顺便说一句,objectid是通过手柄计算的,还有其他一些东西。。。

Tuoni 发表于 2007-2-19 10:32:25


医生说格伦和我不是;真的不是两个截然不同的人 他们认为当我需要强壮的时候,格伦只是我的一部分,但我们知道得更好 唐#039;我们不是格伦吗 哦,是的,我们知道;

Tuoni 发表于 2007-2-19 18:10:32

知道知道什么。。。!?谁说的 

Tuoni 发表于 2007-2-20 06:44:44

很抱歉耽误了回来的时间……我接受了用扩展数据伪造数据的想法-看起来很好,谢谢大家。
页: [1]
查看完整版本: 对象持久数据是否已保存?