非常奇怪的问题!我都不知道该怎么办好了!
请看看下面的程序,很是奇怪,最后两行代码,在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!
做为程序,应该先判断选择集是否有对象存在,然后再判断选择集中的对象是否为直线
如果是直线,则可以读取其两点坐标,这样才能保证程序的正确性。是的!
因为我做的这个程序是用来对offset命令进行扩展的,其实在家里是完全调试通过的了,但在单位的2000上就总说不支持对象方法。选择集中的对象不需要判断,因为我是手选,所以选择集中的对象没有问题一定是直线的.
页:
[1]