最近有朋友询问切换图层的代码

com切换图层

 <CommandMethod("mycl")>
Public Sub MySubLayerChange()
Dim Thisdrawing As Autodesk.AutoCAD.Interop.AcadDocument = Application.DocumentManager.MdiActiveDocument.AcadDocument
Dim curLayer As Autodesk.AutoCAD.Interop.Common.AcadLayer = Thisdrawing.ActiveLayer
Dim newLayer As Autodesk.AutoCAD.Interop.Common.AcadLayer
For Each la As Autodesk.AutoCAD.Interop.Common.AcadLayer In Thisdrawing.Layers
If la.Name = "layer1" Then
newLayer = la
Thisdrawing.ActiveLayer = newLayer
End If
Next End Sub

示效的话用下面的代码,切换系统变量

 Public Sub ChangeLayer(ByRef LayerName As String)

         Acadapp.ActiveDocument.SetVariable("Clayer", LayerName)
Acadapp.ActiveDocument.SetVariable("CELTYPE", "Bylayer") 'For Each entry As Object In Acadapp.ActiveDocument.layers
' If entry.name = LayerName Then
' Acadapp.ActiveDocument.Activelayer = entry
' Exit For
' End If
'Next entry ''改变线型
'For Each entry As Object In Acadapp.ActiveDocument.Linetypes
' If entry.name = "Bylayer" Then
' Acadapp.ActiveDocument.ActiveLinetype = entry
' Exit For
' End If
'Next End Sub
'改变标注样式 //20190606 nan sheng modify
Public Sub ChangeDimStyles(ByRef Name As String)
Acadapp.ActiveDocument.SendCommand("-dimstyle" & vbCr & "r" & vbCr & Name & vbCr) REM "_zoom" & vbCr & "a" & vbCr
'ThisDrawing.SendCommand ("-dimstyle" & vbCr & "r" & vbCr & "111" & vbCr)
'For Each entry As Object In Acadapp.ActiveDocument.DimStyles
' If entry.name = Name Then
' Acadapp.ActiveDocument.ActiveDimStyle = entry
' Exit For
' End If
'Next entry
End Sub '改变文字样式//20190606 nan sheng modify
Public Sub ChangeTextStyles(ByRef Name As String)
Acadapp.ActiveDocument.SetVariable("TEXTSTYLE", Name)
'For Each entry As Object In Acadapp.ActiveDocument.TextStyles
' If entry.name = Name Then
' Acadapp.ActiveDocument.ActiveTextStyle = entry
' Exit For
' End If
'Next entry
End Sub

NetApi切换图层

 <CommandMethod("myclNetApi")>
Public Sub MySubLayerChangeNetApi()
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Using trans As Transaction = db.TransactionManager.StartTransaction()
Dim lt As LayerTable = trans.GetObject(db.LayerTableId, OpenMode.ForRead)
If lt.Has("layer1") Then
db.Clayer = lt("layer1")
End If
trans.Commit()
End Using End Sub

VBNET AutoCAD Activex 切换图层为当前图层失效的更多相关文章

  1. C# for AUTOCAD ActiveX获取图形对象坐标程序

    C# for AUTOCAD ActiveX获取图形对象坐标程序 using System;using System.Collections.Generic;using System.Componen ...

  2. AutoCAD神器! AutoCAD自动切换中英文输入法插件(ZDSRF)

    AutoCAD神器! AutoCAD自动切换中英文输入法插件 (一)功能特点: CAD命令中只能输入英文字符,不能输入中文,在文字编辑.文字输入.尺寸编辑中经常需要输入中文,此时就需要频繁的切换输入法 ...

  3. OpenLayers 3 之 切换图层控件

    OpenLayers 3 之 切换图层控件 openlayers 3中并没有默认的图层切换控件,GitHub中有一个项目实现了我们需要的控件-------- ol3-layerswitcher . 可 ...

  4. ArcGIS api for javascript——放大时切换图层

    描述 本例展示了如何在地图里指出显示的缓存或切片的细节等级(LODs).当打开示例地图,可以看到一些来自ArcGIS Online ESRI_Imagery_World_2D图层的影像.这个应用程序配 ...

  5. [moka同学笔记]WINDOWS中cmd的切换目录cd命令失效

    症状: 解决办法: 二.解决问题 原因是没有切换盘符步骤一:C:\Users\Administrator>D:步骤二:D:\>

  6. VBNET AUTOCAD NETAPI 让插件随autocad启动

    定义一个函数,随AutoCAD 启动加载当前程序集到autocad,涉及到写入注册表,注意这是在autocad内部加载dll之后处理的方法.... 写入HKLM表示所有登录的用户都会受影响(autoc ...

  7. 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象

    1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...

  8. 利用C#进行AUTOCAD的二次开发

    众所周知,对AutoCAD进行二次开发用到的主要工具有:ObjectArx,VBA,VLisp.但它们的优缺点是显而易见的:ObjectArx功能强大,编程效率高,但它的缺点是编程者必须掌握VC++, ...

  9. iOS语音播放之切换听筒和扬声器的方法解决方案

    关于流媒体播放的相关知识可以加本人QQ:564702640 一起来讨论 [[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; // ...

随机推荐

  1. eclipse中自动生成注释

    eclipse中自动生成注释 包前缀设置的地方 注释模板设置的地方 Eclipse自动生成方法注释 快捷键 自动生成方法的注释格式,例如 /*** @param str* @return* @thro ...

  2. Python中表示中文的pattern

    Python中表示中文的pattern:[\u4e00-\u9fff] 汉字unicode码表: http://jlqzs.blog.163.com/blog/static/2125298320070 ...

  3. HDU-2817,同余定理+快速幂取模,水过~

    A sequence of numbers                                                             Time Limit: 2000/1 ...

  4. POJ 3518 (后缀自动机)

    POJ 3518 Boring Problem : 给一个串S,询问串S有多个子串出现至少两次且位置不重叠. Solution : 对S串建立后缀自动机,再建立后缀树,dfs一遍统计处每个结点的子树中 ...

  5. JavaScript高级篇之Function对象

    JavaScript高级篇之Function对象 一: Function对象引入: Function对象是js的方法对象,可以用Function实例化出任何js方法对象. 例如: <%@ pag ...

  6. operamasks—omBorderLayout布局

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. Java:删除某文件夹下的所有文件

    import java.io.File;public class Test{ public static void main(String args[]){ Test t = new Test(); ...

  8. Mybatis中insert中返回主键ID的方法

    <insertid=“doSomething"parameterType="map"useGeneratedKeys="true"keyProp ...

  9. hibernate之多对一单向关联

    一个工作组(Group)里能够有多个用户(User),一个User仅仅属于一个Group,这是典型的多对一的关系. 在多对一的关系中正确的数据库设计是在多的这方(在这里是User这方)加一个Group ...

  10. Python学习系列之文件操作

    Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的 ...