CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于导出和导入保存的图层设置 (VBA/ActiveX)

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

摘要: 可以输出和输入保存的图层设置,以便在其他图形中使用这些设置。

可以输出和输入保存的图层设置,以便在其他图形中使用这些设置。

使用 LayerStateManager 的方法将图层设置保存到文件中;使用“导入”方法将保存的图层设置输入到图形中。Export

注意:导入图层设置不会恢复它们;必须使用该方法将图形中的图层设置为输入的设置。Restore

导出方法接受两个参数。第一个参数是一个字符串,用于标识要导出的已保存图层设置。第二个参数是要将设置导出到的文件的名称。如果未指定文件的路径,则会将其保存在 AutoCAD 安装目录中。如果指定的文件名已存在,则会覆盖现有文件。命名文件时使用 .las扩展名;这是AutoCAD识别导出的图层设置文件的扩展名。

该方法接受一个参数:一个字符串,用于命名包含要导入的图层设置的文件。Import

输入图层设置时,如果保存的设置中参照的任何特性在要输入到的图形中不可用,则会引发错误条件。但是,导入已完成,并使用默认属性。例如,如果将输出的图层设置为未加载到要输入到的图形中的线型,则会引发错误条件并替换图形的默认线型。您的代码应考虑此错误条件,并在引发此错误时继续处理。

如果输入的文件定义了当前图形中不存在的图层的设置,则会在当前图形中创建这些图层。使用该方法时,保存设置时指定的属性将分配给新图层;新图层的所有其他属性均被指定为默认设置。Restore

导出保存的图层设置

以下代码将保存的图层设置导出到名为Colortype.las 的文件。

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

  oLSM.SetDatabase ThisDrawing.Database
  oLSM.Export "ColorLinetype", "c:\my documents\ColorLType.las"
End Sub

导入保存的图层设置

以下代码从名为Colortype.las 的文件中导入图层设置。

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

  ' If the drawing you're importing to does not contain
  ' all the linetypes referenced in the saved settings,
  ' an error is returned. The import is completed, though,
  ' and the default linetype is used.
  On Error Resume Next
  oLSM.Import "c:\my documents\ColorLType.las"

  If Err.Number = -2145386359 Then
     ' Error indicates a linetype is not defined
     MsgBox ("One or more linetypes specified in the imported " + _
             "settings is not defined in your drawing")
  End If

  On Error GoTo 0
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 15:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部