CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于保存图层设置 (VBA/ActiveX)

2023-1-4 23:30| 发布者: admin| 查看: 2283| 评论: 0|来自: AutoCAD

摘要: 使用 保存方法以在图形中保存一组图层设置。

使用该方法在图形中保存一组图层设置。Save

该方法接受两个参数。第一个参数是用于命名要保存的图层设置的字符串。第二个参数标识要保存的图层属性。使用下表中的常量标识图层属性。Save

图层属性的常量
常量名称 图层属性
acLsall 所有图层设置
acLsColor 颜色
acLs冷冻 冷冻或解冻
acLsLineType 线型
acLs线权重 线宽
acLsLock 锁定或解锁
acLsNewViewport 冻结或解冻的新视口图层
acLsNone 没有
acLsOn 开或关
acLsPlot 打印打开或关闭
acLsPlotStyle 绘图样式

将常量相加以指定多个属性。

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

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

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

Sub Ch4_SaveLayerColorAndLinetype()
  Dim oLSM As AcadLayerStateManager
  ' Access the LayerStateManager object
  Set oLSM = ThisDrawing.Application. _
    GetInterfaceObject("AutoCAD.AcadLayerStateManager." & _
                       Left(AcadApplication.Version, 2))

  ' Associate the current drawing database with LayerStateManager
  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Save "ColorLinetype", acLsColor + acLsLineType
End Sub

重命名已保存的图层设置

以下代码将“颜色线型”图层设置重命名为“旧颜色线型”。

Sub Ch4_RenameLayerSettings()
  Dim oLSM As AcadLayerStateManager
  Set oLSM = ThisDrawing.Application. _
    GetInterfaceObject("AutoCAD.AcadLayerStateManager." & _
                       Left(AcadApplication.Version, 2))

  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." & _
                       Left(AcadApplication.Version, 2))

  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Delete "ColorLinetype"
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-11 14:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部