泉(Ango) 发表于 2012-11-11 22:11:01

恳请大虾帮忙续写程序!

各位大虾,
      以下是我在网上找的程序,用于标注时自动切换到标注图层(如:Dim),标注完后又自动切换到原来图层。
但其前提是要有Dim图层存在的情况下!
      现我想在程序中自带判断程序,判断是否有Dim 图层,如果没有,则自动生成Dim图层,同时还要自动设定Dim图层的线型为SOLID(实线),颜色为蓝色(或其它颜色也行)。
      俺不懂VBA,故请各位大师帮我补上这一程序。
如有更好的程序,也请大师们留下你佳作。
也让更多有需要的人得到学习。
程序如下:
Option Explicit
Dim oldLayer As AcadLayer
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
Debug.Print CommandName
Select Case CommandName
Case "DIMLINEAR", "DIMALIGNED", "DIMARC", "DIMORDINATE", "DIMRADIUS", "DIMJOGGED", "DIMDIAMETER", "DIMANGULAR", "QDIM", "DIMBASELINE", "DIMCONTINUE", "QLEADER"
    Set oldLayer = ThisDrawing.ActiveLayer
    ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item("Dim")
End Select
End Sub
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
Select Case CommandName
Case "DIMLINEAR", "DIMALIGNED", "DIMARC", "DIMORDINATE", "DIMRADIUS", "DIMJOGGED", "DIMDIAMETER", "DIMANGULAR", "QDIM", "DIMBASELINE", "DIMCONTINUE", "QLEADER"
    ThisDrawing.ActiveLayer = oldLayer
End Select
End Sub
以上代码为在没有其它插件的情况下, "Dim"已经存在的情况下 。
请问怎样在代码里判断并创建此图层??
如有更好的程序,也请大师们留下你佳作。
谢谢!

页: [1]
查看完整版本: 恳请大虾帮忙续写程序!