myfreemind 发表于 2003-5-31 11:32:00

非常奇怪的问题!我都不知道该怎么办好了!

请看看下面的程序,很是奇怪,最后两行代码,在cad2000下总是说不支持对象方法,在2002中就一点问题都没有!更奇怪的是,我的另外一个程序,用的同样的方法来取得两端点坐标,就可以在2000下执行,真是百思不得其解!

Dim i As Integer
Dim spnt As Variant '起点坐标
Dim epnt As Variant '结束点坐标

Dim sset As AcadSelectionSet

For i = 0 To ThisDrawing.SelectionSets.Count - 1
ThisDrawing.SelectionSets.Item(i).Clear
ThisDrawing.SelectionSets.Item(i).Delete
Next

Set sset = ThisDrawing.SelectionSets.Add("offsetobj")
sset.SelectOnScreen

'取得线的起点和结束点坐标(就是下面这两行,太奇怪了!)
spnt = sset.Item(0).StartPoint
epnt = sset.Item(0).EndPoint


如果说2000不支持这种方法的话,为什么我在另外一个程序中用同样的方法就可以,真是奇怪,我在家装的2002,单位用的是2000!

mccad 发表于 2003-6-1 08:35:00

做为程序,应该先判断选择集是否有对象存在,然后再判断选择集中的对象是否为直线

如果是直线,则可以读取其两点坐标,这样才能保证程序的正确性。

myfreemind 发表于 2003-6-1 12:49:00

是的!

因为我做的这个程序是用来对offset命令进行扩展的,其实在家里是完全调试通过的了,但在单位的2000上就总说不支持对象方法。
选择集中的对象不需要判断,因为我是手选,所以选择集中的对象没有问题一定是直线的.
页: [1]
查看完整版本: 非常奇怪的问题!我都不知道该怎么办好了!