liuyang4740 发表于 2008-6-5 10:17:00

求助:改变偏移直线的特性

求助高手:我用vba的.offset命令偏移形成了一条直线,现在想把偏移后生成的直线改变土层,该怎么实现呢? 如Set offline = objsel.Offset(10),其后用offline.layer="0",为何没有实现土层改变呢?

fjfhgdwfn 发表于 2008-6-5 11:44:00

发程序上来

liuyang4740 发表于 2008-6-5 13:07:00

Dim SsetObj As AcadSelectionSet
    Dim SsetName As String
    Dim objsel As AcadEntity
    Dim y(1 To 3) As Double
    Dim y_st(1 To 3) As String
    Dim offline As AcadLine
   
    SsetName = "au100"
    On Error Resume Next
    For i = 0 To ThisDrawing.SelectionSets.Count - 1
      Set SsetObj = ThisDrawing.SelectionSets.Item(i)
      If SsetObj.Name = "au100" Then SsetObj.Delete
    Next i
      Set SsetObj = ThisDrawing.SelectionSets.Add(SsetName)
   '让用户在屏幕上选择要加入选择集的图元
    SsetObj.SelectOnScreen
   '遍历选择集合
      
      i = 1
   For Each objsel In SsetObj
      Set offline = objsel.Offset(10)
      
      offline.Layer = "0"
   next
end sub

fjfhgdwfn 发表于 2008-6-5 20:29:00

Dim Offline As Variant
For Each objsel In SsetObj
   offline = objsel.Offset(10)
      
      offline(0).Layer = "0"
   next
offline 是一个数组。
可以看offset的帮助。

liuyang4740 发表于 2008-6-7 13:20:00

多谢楼上的,我按照楼上的改了还是没有更改土层啊?

fjfhgdwfn 发表于 2008-6-7 22:29:00

On Error Resume Next
先把这个去了。你肯定哪出错了。
我试了的。是可以的。

sailorcwx 发表于 2008-6-8 12:33:00

Dim offline As AcadLine改成Dim offline As Variant
offline.Layer = "0"改成offline(0).Layer = "0"

liuyang4740 发表于 2008-6-8 18:52:00

问题解决了,非常感谢楼上的!!!
页: [1]
查看完整版本: 求助:改变偏移直线的特性