EXCEL VBAを使ったAutoCADの画層(レイヤー)の作成と削除、アクティブ化の方法

はじめに

AutoCADでの作業効率を向上させるために、画層の管理は非常に重要です。
本記事では、EXCEL VBAを使ってAutoCADで画層(レイヤー)の作成及び削除、アクティブ化する方法について説明します。

基本的なVBAコード

画層のアクティブ化

まず、既存の画層をアクティブにするVBAコードを紹介します。

VB
Sub ActiveLayer()
  Dim acadApp As Object
  Dim acadDoc As Object
  Dim layer As Object
  
 'AutoCADアプリケーションの取得
  Set acadApp = GetObject(,"AutoCAD.Application")
  Set acadDoc = acadApp.ActiveDocument
  
  '指定の名称から画層を取得
  On Error Resume Next
  Set layer = acadDoc.Layers.Item("LayerName")
  On Error GoTo 0
  
  '指定した画層が存在しない場合の処理
  If layer Is Nothing Then
    MsgBox "指定した画層は存在しません。"
    Exit Sub
  End If
 
  '画層をアクティブに設定
  acadDoc.ActiveLayer = layer
End Sub

簡単な説明

ThisDrawing.ActiveLayerにセットすることで画層をアクティブにすることができます。

新しい画層を作成

次に、AutoCADで新しい画層を作成するための基本的なVBAコードを紹介します。

VB
Sub CreateLayer()
  Dim acadApp As Object
  Dim acadDoc As Object
  Dim newLayer As Object
  
  'AutoCADアプリケーションの取得
  Set acadApp = GetObject(,"AutoCAD.Application")
  Set acadDoc = acadApp.ActiveDocument
  
  '新しい画層を作成
  Set newLayer = acadDoc.Layers.Add("新しい画層名")
  
  '画層のプロパティの設定
  newLayer.Color = acRed
  newLayer.LineType = "Continuous"
End Sub

詳細な説明

GetObject関数を使ってAutoCADアプリケーションを取得します。
ActiveDocumentプロパティを使って現在のドキュメントを取得します。
Layers.Addメソッドを使って新しい画層を作成し、名前を設定します。
ColorプロパティとLineTypeプロパティを使って画層の属性を設定します。

画層の削除

最後に、既存の画層を削除するための基本的なVBAコードを紹介します。

VB
Sub DeleteLayer()
  Dim acadApp As Object
  Dim acadDoc As Object
  Dim delLayer As Object
  
  'AutoCADアプリケーションを取得
  Set acadApp = GetObject(,"AutoCAD.Application")
  Set acadDoc = acadApp.ActiveDocument
 
  '削除する画層を取得
  On Error Resume Next
  Set delLayer = acadDoc.Layers.Item("削除する画層名")
 On Error GoTo OUT1
 
  '指定した画層が存在しない場合の処理
  If delLayer Is Nothing Then
    MsgBox "指定した画層は存在しません。"
    Exit Sub
  End If
 
 
  '画層を削除
  delLayer.Delete
  MsgBox "指定した画層を削除しました。"
  Exit Sub

OUT1:
  MsgBox "エラーが発生しました。: " & Err.Description

End Sub

詳細な説明

Layers.itemメソッドを使って削除する画層を取得します。
deleteメソッドを使って画層を削除します。

まとめ

画層の作成と削除は、AutoCADでの作業を効率化するための基本的なステップです。VBAを使うことで、これらの操作を自動化し、時間を説やすくすることができます。

AutoCADで画層をつくりすぎるとどうなる?

どこに何があるかわからなくなるから、結局また新しい画層を作る羽目になるんだ!

コメント

タイトルとURLをコピーしました