保存图层设置

AutoCAD ActiveX/VBA

 
保存图层设置
 
 
 

使用 Save 方法保存图形中的图层设置。Save 方法接受两个参数。第一个参数是字符串,指定保存的图层设置的名称;第二个参数标识要保存的图层特性。请使用下表中的常量来标识图层特性。

图层特性常量

常量名称

Layer 特性

acLsAll

所有图层设置

acLsColor

Color

acLsFrozen

冻结或解冻

acLsLineType

Linetype

acLsLineWeight

线宽

acLsLocked

锁定或解锁

acLsNewViewport

新建视口图层冻结或解冻

acLsNone

acLsOn

打开或关闭

acLsPlot

打开或关闭打印

acLsPlotStyle

打印样式

请使用这些常量的组合来指定多个特性。

如果使用已有的名称保存图层设置,将返回错误。必须先重命名或删除现有的保存的图层设置,才能重新使用该名称。

保存图层的颜色和线型设置

以下代码以 ColorLinetype 的名称保存当前图层的颜色和线型。

Sub Ch4_SaveLayerColorAndLinetype()
    Dim oLSM As AcadLayerStateManager
    ' 访问 LayerStateManager 对象
    Set oLSM = ThisDrawing.Application. _
       GetInterfaceObject("AutoCAD.AcadLayerStateManager.17")
    ' 将当前图形关联至 LayerStateManager
    oLSM.SetDatabase ThisDrawing.Database
    oLSM.Save "ColorLinetype", acLsColor + acLsLineType
End Sub

重命名保存的图层设置

以下代码将 ColorLinetype 图层设置重命名为 OldColorLinetype

Sub Ch4_RenameLayerSettings()
    Dim oLSM As AcadLayerStateManager
    Set oLSM = ThisDrawing.Application. _
       GetInterfaceObject("AutoCAD.AcadLayerStateManager.17")
    oLSM.SetDatabase ThisDrawing.Database
    oLSM.Rename "ColorLinetype", "OldColorLinetype"
End Sub

删除保存的图层设置

以下代码删除以 ColorLinetype. 名称保存的图层设置。

Sub Ch4_DeleteColorAndLinetype()
    Dim oLSM As AcadLayerStateManager
    Set oLSM = ThisDrawing.Application. _
       GetInterfaceObject("AutoCAD.AcadLayerStateManager.17")
    oLSM.SetDatabase ThisDrawing.Database
    oLSM.Delete "ColorLinetype"
End Sub