Upload
dangdang
View
265
Download
1
Embed Size (px)
Citation preview
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のカスタマイズ
はじめに
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 実践講座
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で貼り付けると印刷が薄く なって
困った時等に利用できます。
なお、テーマは実際にセミナーの進行に合わせて変更される場合が
あります。ご了承ください。
カスタマイズのテーマ
カスタマイズのテーマ
概要
4 Copyright 2002 Siz Factory
ステップ1.VBA利用の基本設定
AutoCADの設定 では、VBAでのカスタマイズを行いましょう。
まずは、AutoCADからVBAを利用する環境を作成します。
AutoCADを実行して下さい。
新規作成で1つ新規図面を作成します。
次に、ツールメニューからマクロ/Visual Basicエディタを起動します。
5 Copyright 2002 Siz Factory
Visual Basicエディタ
VBAの基本設定
AutoCADではVisual Basicエディタを使用してプログラムのコードを作
成します。
まず、プログラムのデバッグ時に必要な”イミディエイト ウィンドウ”
を表示させておきます。表示メニューのイミディエイト ウィンドウを
選択します。
次に、AutoCADの参照設定を確認します。AutoCADのタイプライブラリ
が参照されている必要があります。
イミディエイト ウィンドウ
6 Copyright 2002 Siz Factory
Hello World !
フォームの作成 では、AutoCADのVisual Basicを使ってドローウィングエリアに文字オ
ブジェクトを作成してましょう。
挿入メニューからユーザーフォームを選択し、ダイアログのベースとな
るフォームオブジェクトを作成します。
次に、コマンドボタンオブジェクトを1つ作成します。
ボタンのラベルはHello Worldとしておきます。コマンドボタンの作成
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
アクションコードの作成
8 Copyright 2002 Siz Factory
Hello World !
プログラムの実行 では、プログラムを実行しましょう。ツールバーのSub/ユーザフォーム
の実行を選択します。
ダイアログが表示されますので、Hello Worldのボタンを押します。
9 Copyright 2002 Siz Factory
Hello World !
AutoCADのドローイングエリアに、Hello World! が表示されましたか。
正しく表示された方は、これでVBAの環境が整いました。
データを保存して、次のステップに進みましょう。
残念ながら、正しく、実行できなかった方はもう一度内容を確認し挑戦
してください。
DWGファイル名はここでは、hello.dwgとします。
データの保存
10 Copyright 2002 Siz Factory
また、AutoCADを終了する際に次のメッセージが表示されます。
VBAのプロジェクトを保存しましょう。
ここでは、VBAのプロジェクトファイル名は、hello.dvdとして保存して
ください。
一度、データを保存し、AutoCADを終了後に再度プロジェクトを呼び出
すには、次のようにします。
ツールメニューからマクロ/プロジェクトをロードを呼び出し保存した
hello.dvdファイルを選択します。
Hello World !プロジェクトの保存
プロジェクトのロード
11 Copyright 2002 Siz Factory
Hello World !
マクロを有効にしますかというダイアログが表示されますので、必ず
”マクロを有効にする”を選択してください。
以上で、Visual Basicエディタにプロジェクトがロードされます。