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