11
1 Copyright 2002 Siz Factor 初めての AutoCAD VBA 実践講座 今回は、AutoCAD のカスタマイズに挑戦しましょう。 ただし、今回のカスタマイズに使用するAutoCAD は、あくまでレギュラー 版のAutoCAD を対象とします(AutoCAD2000 以降)。 LT は対象外とします。 AutoCAD は、汎用CAD です。AutoDESK はAutoCAD の基本機能を提供してき ました。 ただし、AutoCAD をカスタマイズする方法を公開することで、サードパー ティやエンドユーザの手により、多種多様な分野の業界に適応し、その シェアを増やす事に成功したと言えます。 AutoCAD のカスタマイズは色々な方法で実現できます。 ユーザがどのようなCAD を求めているかによってカスタマイズのアプ ローチの方法は違ってきます。 AutoCAD のカスタマイズの方法 プログラムパラメータファイル(PGP ファイル)の変更 外部コマンドをAutoCAD から実行したり、短縮コマンドを作成でき ます。 文字フォント作成 ユーザ自身の文字フォントを作成できます。文字フォントの定義 は*.SHX ファイルを使用します。 シェイプ図形 簡単な図形シンボルも文字と同様にして定義できます。定義は *.SHP ファイルを使用します。 線種設定 標準で提供されている線種定義ファイルに新たな線種を定義でき ます。定義はACAD.LIN ファイルや*.LIN ファイルを使用します。 ハッチングパターン ハッチングにユーザが作成したパターンを使用できます。 パターンファイル*.PAT に作成します。 スクリプト 決まった操作手順を自動実行することができます。AutoCAD のコマ ンドを*.SCR ファイルに作成し、実行します。 メニュー作成 プルダウンメニュー、スクリーンメニュー、ボタンメニューなど の項目を変更して自分の使いやすい環境を作成できます。 AutoCAD のカスタマイズ はじめに

初めての AutoCAD VBA 実践講座

Embed Size (px)

Citation preview

Page 1: 初めての AutoCAD VBA 実践講座

1 Copyright 2002 Siz Factory

初めてのAutoCAD VBA 実践講座

今回は、AutoCADのカスタマイズに挑戦しましょう。

ただし、今回のカスタマイズに使用するAutoCADは、あくまでレギュラー

版のAutoCADを対象とします(AutoCAD2000以降)。

LTは対象外とします。

AutoCADは、汎用CADです。AutoDESKはAutoCADの基本機能を提供してき

ました。

ただし、AutoCADをカスタマイズする方法を公開することで、サードパー

ティやエンドユーザの手により、多種多様な分野の業界に適応し、その

シェアを増やす事に成功したと言えます。

AutoCADのカスタマイズは色々な方法で実現できます。

ユーザがどのようなCADを求めているかによってカスタマイズのアプ

ローチの方法は違ってきます。

AutoCADのカスタマイズの方法

・ プログラムパラメータファイル(PGPファイル)の変更

外部コマンドをAutoCADから実行したり、短縮コマンドを作成でき

ます。

・ 文字フォント作成

ユーザ自身の文字フォントを作成できます。文字フォントの定義

は*.SHXファイルを使用します。

・ シェイプ図形

簡単な図形シンボルも文字と同様にして定義できます。定義は

*.SHPファイルを使用します。

・ 線種設定

標準で提供されている線種定義ファイルに新たな線種を定義でき

ます。定義はACAD.LINファイルや*.LINファイルを使用します。

・ ハッチングパターン

ハッチングにユーザが作成したパターンを使用できます。

パターンファイル*.PATに作成します。

・ スクリプト

決まった操作手順を自動実行することができます。AutoCADのコマ

ンドを*.SCRファイルに作成し、実行します。

・ メニュー作成

プルダウンメニュー、スクリーンメニュー、ボタンメニューなど

の項目を変更して自分の使いやすい環境を作成できます。

AutoCADのカスタマイズ

はじめに

Page 2: 初めての AutoCAD VBA 実践講座

2 Copyright 2002 Siz Factory

・ AutoLISP

LISPインタプリタを利用して、ユーザが作成したLISPプログラム

を実行できます。

・ VisualBasic

Microsoft Visual Basicを利用して、ユーザが作成したVBプログ

ラムからAutoCADをコントロールできます。

また、AutoCADの機能の中にVBA(Visual Basic for Application)

が含まれています。これを利用すると、AutoCADからVisualBasic

でアプリケーションが作成できます。

・ Object ARX

Microsoft Visual C++を利用して、ユーザが作成したアプリケー

ションを実行できます。オブジェクト指向を利用したカスタマイ

ズが可能で、あらゆるカスタマイズが可能です。

今回は、この中で最も手軽にアプリケーションを構築できるVBAによる

カスタマイズに挑戦しましょう。

今回の実践講座は先にも述べましたが、AutoCADのレギュラー版のユー

ザを対象としています(AutoCAD2000以降)。LTユーザの方はご利用でき

ませんのでご了承ください。

また、VisualBasicに関する基本的な事に関してある程度の知識がある

ものという前提で進めております。VisualBasicに関しては別途、

VisualBasic専門書をご参考にしてください。

実践では、基本的にAutoCADのオンラインヘルプ(ActiveX/VBA開発用ガ

イド)を参照してください。ここには、VBAに関するリファレンスおよび

サンプルが掲載されています。ヘルプを理解することがVBAをマスター

する第一歩です。

今回の実践講座の進め方は、まず、どのようなプログラムを作成したい

かと言うテーマを提示します。

皆さんは、そのテーマを実現するコードを自分で作成してください。

プログラムの最終結果は基本的に掲載しません。

途中で、解らない箇所が出て来ましたら、VIZ USERまでe-mailにてご

質問下さい ( [email protected] ) 。手がかりになるヒントを回答

致します。

では、始めましょう。

講座の進め方

講座の適用条件

初めてのAutoCAD VBA 実践講座

Page 3: 初めての AutoCAD VBA 実践講座

3 Copyright 2002 Siz Factory

では、VBAでのカスタマイズを行いましょう。

目的は、今回のセミナーを通してAutoCADのVBAの基本的な事を

学習します。

最低限次の項目を理解できるようにします。

1.AutoCADの基本オブジェクトの作成

2.AutoCADの基本オブジェクトの編集

3.他のWindowsアプリケーションとの連携

以上の事より、今回は次のステップで進めて行く事を目標としましょう。

1. VBAの利用の基本設定を学習します。

2. 線分オブジェクトを作成します。

今回は水平線、垂直線を作成します。

3. 作成済みの線分オブジェクトを基準に基準オブジェクトを分

割する線分ツールを作成します。

4. オブジェクトの編集ツールを作成します。

5. AutoCADの基本オブジェクトをExcelのシェイプオブジェクト

に変換してみましょう。

ExcelにAutoCADの図形をOLEで貼り付けると印刷が薄く なって

困った時等に利用できます。

なお、テーマは実際にセミナーの進行に合わせて変更される場合が

あります。ご了承ください。

カスタマイズのテーマ

カスタマイズのテーマ

概要

Page 4: 初めての AutoCAD VBA 実践講座

4 Copyright 2002 Siz Factory

ステップ1.VBA利用の基本設定

AutoCADの設定 では、VBAでのカスタマイズを行いましょう。

まずは、AutoCADからVBAを利用する環境を作成します。

AutoCADを実行して下さい。

新規作成で1つ新規図面を作成します。

次に、ツールメニューからマクロ/Visual Basicエディタを起動します。

Page 5: 初めての AutoCAD VBA 実践講座

5 Copyright 2002 Siz Factory

Visual Basicエディタ

VBAの基本設定

AutoCADではVisual Basicエディタを使用してプログラムのコードを作

成します。

まず、プログラムのデバッグ時に必要な”イミディエイト ウィンドウ”

を表示させておきます。表示メニューのイミディエイト ウィンドウを

選択します。

次に、AutoCADの参照設定を確認します。AutoCADのタイプライブラリ

が参照されている必要があります。

イミディエイト ウィンドウ

Page 6: 初めての AutoCAD VBA 実践講座

6 Copyright 2002 Siz Factory

Hello World !

フォームの作成 では、AutoCADのVisual Basicを使ってドローウィングエリアに文字オ

ブジェクトを作成してましょう。

挿入メニューからユーザーフォームを選択し、ダイアログのベースとな

るフォームオブジェクトを作成します。

次に、コマンドボタンオブジェクトを1つ作成します。

ボタンのラベルはHello Worldとしておきます。コマンドボタンの作成

Page 7: 初めての AutoCAD VBA 実践講座

7 Copyright 2002 Siz Factory

Hello World !コマンドボタンをダブルクリックして、コマンドボタンがクリックされ

た時のアクションのコードを記述していきます。

では、次のコードを作成してください。

Private Sub CommandButton1_Click() 

Dim MTextObj As AcadMText

Dim corner(0 To 2) As Double

Dim width As Double

Dim text As String

'*** close dialog

Me.Hide

'*** insert Position

corner(0) = 0#: corner(1) = 10#: corner(2) = 0#

'*** text width

width = 10

'*** text strings

text = "Hello World !"

'*** Creates the mtext Object

Set MTextObj = ThisDrawing.ModelSpace.AddMText(corner, width, text)

'*** Zoom

ZoomExtents

End Sub

アクションコードの作成

Page 8: 初めての AutoCAD VBA 実践講座

8 Copyright 2002 Siz Factory

Hello World !

プログラムの実行 では、プログラムを実行しましょう。ツールバーのSub/ユーザフォーム

の実行を選択します。

ダイアログが表示されますので、Hello Worldのボタンを押します。

Page 9: 初めての AutoCAD VBA 実践講座

9 Copyright 2002 Siz Factory

Hello World !

AutoCADのドローイングエリアに、Hello World! が表示されましたか。

正しく表示された方は、これでVBAの環境が整いました。

データを保存して、次のステップに進みましょう。

残念ながら、正しく、実行できなかった方はもう一度内容を確認し挑戦

してください。

DWGファイル名はここでは、hello.dwgとします。

データの保存

Page 10: 初めての AutoCAD VBA 実践講座

10 Copyright 2002 Siz Factory

また、AutoCADを終了する際に次のメッセージが表示されます。

VBAのプロジェクトを保存しましょう。

ここでは、VBAのプロジェクトファイル名は、hello.dvdとして保存して

ください。

一度、データを保存し、AutoCADを終了後に再度プロジェクトを呼び出

すには、次のようにします。

ツールメニューからマクロ/プロジェクトをロードを呼び出し保存した

hello.dvdファイルを選択します。

Hello World !プロジェクトの保存

プロジェクトのロード

Page 11: 初めての AutoCAD VBA 実践講座

11 Copyright 2002 Siz Factory

Hello World !

マクロを有効にしますかというダイアログが表示されますので、必ず

”マクロを有効にする”を選択してください。

以上で、Visual Basicエディタにプロジェクトがロードされます。