CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

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

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

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

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

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

图层属性的常量
常量名称 图层属性
acLsAll 所有图层设置
acLsColor 颜色
acLs冰雪奇缘 冷冻或解冻
acLsLineType 线型
acLsLineWeight 线宽
acLs锁定 锁定或解锁
acLsNewViewport 冻结或解冻的新视口图层
acLs无 没有
acLsOn 开或关
acLs图 开或关绘图
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

重命名已保存的图层设置

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

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   苏公网安备32011402011833)

GMT+8, 2025-1-8 19:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部