CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

删除图层状态 (.NET)

2023-1-1 12:48| 发布者: admin| 查看: 352| 评论: 0|来自: AutoCAD

该方法从图形中删除保存的图层状态。以下代码删除以名称 ColorLinetype 保存的图层状态。DeleteLayerState

VB.NET

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
 
<CommandMethod("RemoveLayerState")> _
Public Sub RemoveLayerState()
    '' Get the current document
    Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument

    Dim acLyrStMan As LayerStateManager
    acLyrStMan = acDoc.Database.LayerStateManager

    Dim sLyrStName As String = "ColorLinetype"

    If acLyrStMan.HasLayerState(sLyrStName) = True Then
        acLyrStMan.DeleteLayerState(sLyrStName)
    End If
End Sub

C#

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
 
[CommandMethod("RemoveLayerState")]
public static void RemoveLayerState()
{
    // Get the current document
    Document acDoc = Application.DocumentManager.MdiActiveDocument;

    LayerStateManager acLyrStMan;
    acLyrStMan = acDoc.Database.LayerStateManager;

    string sLyrStName = "ColorLinetype";

    if (acLyrStMan.HasLayerState(sLyrStName) == true)
    {
        acLyrStMan.DeleteLayerState(sLyrStName);
    }
}

VBA/ActiveX 代码参考

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部