如何取得Offset后的对象?
执行line1=line2.offset(100)后,line1是空的,这是为什么?
如何取得偏移后的对象? 首先,我觉得你地这条语句就有问题,Line是对象,赋值应该用Set。另外,我觉得一个很好的方法就是使用ObjectID来取得对象:
dim ObjLine as acadLine,ObjId as Long
dim ObjLineOffset as acadLine
objId=objLine.ObjectID
.....................
'执行平移动操作
.....................
set ObjLineOffset=thisdrawing.ObjectIdToObject(objId)
可能是line1的类型定义错了,参照帮助文件中,dim line1 as Variant ,不知道1楼是不是一样的。例如:
Sub test()
Dim lineobj As AcadLine
Dim line1obj As Variant
ThisDrawing.Utility.GetEntity lineobj, point, "select a line:"
line1obj = lineobj.Offset(100#)
line1obj(0).Layer = "hatch"
End Sub 你的语法没错,返回值不是LINE,而是VARIANT,应该是array of objects 执行line1=line2.offset(100)后,offset返回的是数组变量,可以另设一变量
dim objLine3 as acadline
然后
set objline3=line1(0)
即可得到偏移后的对象
页:
[1]