742 发表于 2007-10-15 14:44:12

层上的VP

有谁知道如何通过代码操作VP的层? 这不起作用
      Dim objViewport As AcadViewport
      For Each objViewport In ThisDrawing.Viewports
      objViewport.Layer = "DEFPOINTS"
      Next objViewport
**** Hidden Message *****

一阵风 发表于 2007-10-15 15:01:44

我使用了以下代码来实现类似的功能…锁定所有视口
我添加了“layer=Defpoints”,它仍然可以正常工作
Public Sub x()
    Dim FilterType(0) As Integer
    Dim FilterData(0) As Variant
    Dim sset As AcadSelectionSet
    Dim objVP As AcadPViewport
    Dim x As Integer
   
    FilterType(0) = "0"
    FilterData(0) = "VIEWPORT"
    Set sset = vbdPowerSet("VPUpdate")
    sset.Select acSelectionSetAll, , , FilterType, FilterData
    For x = 0 To sset.Count - 1
      Set objVP = sset(x)
      objVP.Layer = "Defpoints"
      objVP.DisplayLocked = True
    Next x
End Sub
Private Function vbdPowerSet(strName As String) As AcadSelectionSet
    Dim objSelSet As AcadSelectionSet
    Dim objSelCol As AcadSelectionSets
   
    Set objSelCol = ThisDrawing.SelectionSets
    For Each objSelSet In objSelCol
      If objSelSet.Name = strName Then
            objSelSet.Delete
            Exit For
      End If
    Next
    Set objSelSet = ThisDrawing.SelectionSets.Add(strName)
    Set vbdPowerSet = objSelSet
End Function

粽横四海 发表于 2007-10-15 15:04:04

DUH,我真是个白痴,我没有用AcadPViewport
谢谢
页: [1]
查看完整版本: 层上的VP