minji 发表于 2004-11-1 14:03:00

autocad2000 能否给一条直线赋予一个名字?

用vba的addline画一条直线,能否给这条直线赋予一个唯一的名字并保存在图样中,以后可以根据这个名字找到这条线?谢谢!

yulijin608 发表于 2004-11-1 15:18:00

把名字写到xdata里面,查询的时候读取就行了

xufen 发表于 2004-11-1 15:34:00

<A name=63957><FONT color=#000066><B>minji</B></FONT></A>兄小弟认为不用赋予名字的直线使用Handle属性就可以了!


小弟写了段测试代码应该可以解决这个问题


Sub test()<BR>                       On Error Resume Next<BR>                       Dim line As AcadLine<BR>                       Dim test As String<BR>                       Dim Startpoint(0 To 2) As Double<BR>                       Dim Endpoint(0 To 2) As Double<BR>                       Startpoint(0) = 0: Startpoint(1) = 10: Startpoint(2) = 0<BR>                       Endpoint(0) = 0: Endpoint(1) = 100: Endpoint(2) = 0<BR>                       Set line = ThisDrawing.ModelSpace.AddLine _<BR>                                                                                       (Startpoint, Endpoint)<BR>                       ZoomAll<BR>                       test = line.Handle<BR>                       MsgBox test, vbOKOnly<BR>End Sub<BR>对话框里字符串就是Handle

minji 发表于 2004-11-1 16:17:00

实验成功,谢谢Xufen兄!


现在又有个问题:这个Handle是否是永远保存在图样中的?就是关闭图样后再打开,也可以根据这个handle找到这条线,如何找?谢谢!

wyj7485 发表于 2004-11-1 17:55:00

是的,不会改变。


遍历选择集就可以找到line.Handle=""的实体。

雪山飞狐_lzh 发表于 2004-11-1 18:25:00

ThisDrawing.HandleToObject
页: [1]
查看完整版本: autocad2000 能否给一条直线赋予一个名字?