求一个能在非当前视口中冻结当前图层的LISP
我们在做节点图时经常要用到几个视口,在其中的一个视口里增加一个图层后又不想让这个新增加的图层在其它所有视口是显示,需要在其它所有视口中冻结,请高手帮忙啊 搞错了 LAYVPI layiso了解下 <p>请老大帮帮忙啊!</p><p></p> <p>会不会是太复杂啊?都没有高手出手啊</p> 应该能解决这个问题,我看看吧,联系:ljttjl@ tom.com,以便及时回复您. ViewportDefault 示例使用 VBA 以外的其它编程语言
Sub Example_ViewportDefault()
' This example creates a new layer called "New_Layer".It then uses
' the ViewportDefault property of each Layer to display whether or not that layer
' is frozen in new viewports.The user has the ability to toggle whether or not
' each layer will be frozen in new viewports, and the final ViewportDefault status
' for all layers is displayed.
Dim layerObj As AcadLayer, tempLayer As AcadLayer
Dim msg As String
' Add the layer to the layers collection
Set layerObj = ThisDrawing.Layers.Add("New_Layer")
' Make the new layer the active layer for the drawing
ThisDrawing.ActiveLayer = layerObj
' Cycle through the layers and allow user to make them frozen in new viewports or not
For Each tempLayer In ThisDrawing.Layers
If tempLayer.ViewportDefault Then ' Determine if this layer is fozen in new viewports
If MsgBox("The layer '" & tempLayer.name & "' will be frozen in new viewports.Would you like to make this layer unfrozen in new viewports?", vbYesNo & vbQuestion) = vbYes Then
tempLayer.ViewportDefault = False ' Change frozen state
End If
Else
If MsgBox("The layer '" & tempLayer.name & "' will not be frozen in new viewports.Would you like to make this layer frozen in new viewports?", vbYesNo & vbQuestion) = vbYes Then
tempLayer.ViewportDefault = True ' Change frozen state
End If
End If
Next
' Display the new viewport freeze status of the layers in this drawing
For Each tempLayer In ThisDrawing.Layers
' Determine if this layer is frozen in new viewports
If tempLayer.ViewportDefault Then
msg = msg & "The layer '" & tempLayer.name & "' will be frozen in new viewports." & vbCrLf
Else
msg = msg & "The layer '" & tempLayer.name & "' will not be frozen in new viewports." & vbCrLf
End If
Next
MsgBox msg
End Sub 这个程序怎么用啊? 可以新建一个“在所有视口中都冻结的新图层”来解决这个问题
新建立的这个图层,在任何视口中都是冻结的,你想在那个视口中显示,就在那个视口中解冻就可以了 试一试<em class="strong"><em class="strong">vplayer命令。</em></em> 时隔四年,回来看看,这个问题好像还没解决,我水平太低,不会用五楼的方法。
页:
[1]
2