VBNET AutoCAD Activex 切换图层为当前图层失效
最近有朋友询问切换图层的代码
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 切换图层为当前图层失效的更多相关文章
- C# for AUTOCAD ActiveX获取图形对象坐标程序
C# for AUTOCAD ActiveX获取图形对象坐标程序 using System;using System.Collections.Generic;using System.Componen ...
- AutoCAD神器! AutoCAD自动切换中英文输入法插件(ZDSRF)
AutoCAD神器! AutoCAD自动切换中英文输入法插件 (一)功能特点: CAD命令中只能输入英文字符,不能输入中文,在文字编辑.文字输入.尺寸编辑中经常需要输入中文,此时就需要频繁的切换输入法 ...
- OpenLayers 3 之 切换图层控件
OpenLayers 3 之 切换图层控件 openlayers 3中并没有默认的图层切换控件,GitHub中有一个项目实现了我们需要的控件-------- ol3-layerswitcher . 可 ...
- ArcGIS api for javascript——放大时切换图层
描述 本例展示了如何在地图里指出显示的缓存或切片的细节等级(LODs).当打开示例地图,可以看到一些来自ArcGIS Online ESRI_Imagery_World_2D图层的影像.这个应用程序配 ...
- [moka同学笔记]WINDOWS中cmd的切换目录cd命令失效
症状: 解决办法: 二.解决问题 原因是没有切换盘符步骤一:C:\Users\Administrator>D:步骤二:D:\>
- VBNET AUTOCAD NETAPI 让插件随autocad启动
定义一个函数,随AutoCAD 启动加载当前程序集到autocad,涉及到写入注册表,注意这是在autocad内部加载dll之后处理的方法.... 写入HKLM表示所有登录的用户都会受影响(autoc ...
- 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象
1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...
- 利用C#进行AUTOCAD的二次开发
众所周知,对AutoCAD进行二次开发用到的主要工具有:ObjectArx,VBA,VLisp.但它们的优缺点是显而易见的:ObjectArx功能强大,编程效率高,但它的缺点是编程者必须掌握VC++, ...
- iOS语音播放之切换听筒和扬声器的方法解决方案
关于流媒体播放的相关知识可以加本人QQ:564702640 一起来讨论 [[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; // ...
随机推荐
- ZOJ2193 AOV建模
每个窗口有四个小区域组成,那么不断往前递推,到达打开当前窗口时必然是那些在上面出现的窗口都已经被打开过了,那么我们可以认为是在第i个窗口的位置上出现了 j , 那么in[i]++ , 只有 i 入度为 ...
- 洛谷——P2866 [USACO06NOV]糟糕的一天Bad Hair Day
https://www.luogu.org/problem/show?pid=2866 题目描述 Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are h ...
- idea中javaweb的mysql8.0.15配置问题
mysql8.0.x以后的版本在连接数据库的时候有些不同. 首先: Class.forName("com.mysql.cj.jdbc.Driver"); 其次: DriverMan ...
- MySQL使用教程收集(语法教程/命令教程)
说明:现在市面上的教程除了基本语法外,都基本是五花八门的,最权威且最全面的解释应该上官网去查看. https://www.tutorialspoint.com/mysql/index.htm http ...
- openstack setup demo Image service
Image service (glance)是openstack中管理vm image的service.本文包含以下内容: overview install overview glance包含以下部分 ...
- base64加解密字符串
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- Jsp+servlet 验证码案例
昨晚在csdn看到一位前辈写一个ajax+servlet+jsp验证.顿时心血来潮,在阅读前辈的代码下我亲手体验一下,做了一个验证码生成工具类.以供大家做个參考. 1:加入VeriyCodeUtils ...
- IE網址欄快速輸入網址,“Ctrl+Enter”補齊“.com”
繁體中文Windows,預設 IE 在網址列輸入 abc,然後按 Ctrl+Enter ,會跳到www.abc.com.tw, 但較常用的連結是www.abc.com,如何修改这一設定呢? 可以透過修 ...
- oralce之复杂查询举例
表结构: S(SNO,SNAME) 代表 学号.学生姓名: C(CNO,CNAME,CTEACHER) 代表 课号,课程名称.授课老师 SC(SNO,CNO,SCGRADE) 代表 学号.课号.课程成 ...
- Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
Cookies 1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...