270 likes | 426 Views
Solid Edge Customization with VB2005 (Fundamentals). Solid Edge Customization review. Solid Edge customization の種類 Macro (マクロ) マクロは アウトオブプロセス アプリケーションです (EXE) スタンドアロン .EXE VBA マクロ スクリプト言語 (.VBS) Addin (アドイン) アドインは インプロセス コンポーネントです (DLL) Solid Edge が起動された時に自動的にロードされます。
E N D
Solid Edge Customization review • Solid Edge customizationの種類 • Macro(マクロ) • マクロはアウトオブプロセスアプリケーションです (EXE) • スタンドアロン .EXE • VBA マクロ • スクリプト言語 (.VBS) • Addin(アドイン) • アドインはインプロセスコンポーネントです (DLL) • Solid Edgeが起動された時に自動的にロードされます。 • Solid EdgeのカスタマイズはCOM APIを介して行います。 • COMをサポートしている言語であれば、プログラム言語は問いません。
Solid Edge API Overview SolidEdgeでは以下のCOM APIを提供します。 • Solid Edge Assembly Type Library - (assembly.tlb) • Solid Edge Constants Type Library - (constant.tlb) • Solid Edge Draft Type Library – (draft.tlb) • Solid Edge File Properties Object Library – (PropAuto.dll) • Solid Edge Framework Type Library – (framewrk.tlb) • Solid Edge FrameworkSupport Type Library – (fwksupp.tlb) • Solid Edge Geometry Type Library – (geometry.tlb) • Solid Edge Install Data Type Library – (SEInstallData.dll) • Solid Edge Part Type Library – (Part.tlb) • Solid Edge Revision Manager Object Library – (RevMgr.tlb)
Solid Edge API リソース Solid Edgeは開発に関連するリソースを用意しています。 • \Program Files\Solid Edge V20\SDK • Solid Edge SDKのルートディレクトリ • \Program Files\Solid Edge V20\SDK\Sesdk.chm • Solid Edge APIのHelp • \Program Files\Solid Edge V20\SDK\SDKExamples.chm • Visual Basic 6.0での使用例 • \Program Files\Solid Edge V20\Custom • Visual Basic 6.0とVB.NETのサンプルプログラム
Visual Basic 2005 Overview • Visual Basic 2005とは? • Visual Basic 6の後継開発ツールであり、共通言語ランタイム (Common Language Runtime CLR)上で実行するように設計されています。詳細な情報については以下のリンクを参照下さい。 http://msdn2.microsoft.com/ja-jp/library/2x7h1hfk(VS.80).aspx
Visual Basic 2005 Overview • Visual Basic6との大きな違いは? • VB6はネイティブCOMオブジェクトを利用していました。これに対しVB2005はRuntime Callable Wrappers (RCW)を介してCOMオブジェクトと通信します。 • VB2005は.NET Framework Class Librariesにアクセスします。 • これはC#、C++と同じMicrosoft .NET APIにアクセスする事を意味します。 • 言語の変更点については以下のサイトを参照下さい。 Visual Basic 6.0 ユーザー向けのヘルプ • http://msdn2.microsoft.com/ja-jp/library/skw8dhdd(VS.80).aspx
Visual Basic 2005 開発環境 環境設定の選択 Visual Studio2005の初回起動時には[既定の環境設定の選択]というダイアログが表示されます。ここで「Visual Basic開発設定」を選択する事で、VB6に近い操作性・開発環境の設定が行われます。
Visual Basic 2005 開発環境 統合開発環境のスタートページ VB2005を起動すると上のようなスタートページが表示されます。
Visual Basic 2005 開発環境 新しいプロジェクトダイアログ スタートページに表示されている[作成 プロジェクト]もしくは、ファイル→新しいプロジェクトをクリックすることで、 [新しいプロジェクト]ダイアログが表示されます。「Visual Basic 開発設定」を選択した場合は、プロジェクトは保存されないため、この時点ではフォルダ名は入力する必要がなく、プロジェクト名だけを入力します。 VB2005では、プロジェクト・ファイルはデフォルトで「マイ ドキュメント」フォルダの下の「Visual Studio 2005\Projects」フォルダにプロジェクト・フォルダが作成され保存されます。
Visual Basic 2005 開発環境 .NETではRCW(Runtime Callable Wrapper)を経由してCOMがコールされます。相互運用機能アセンブリ(Interop Assembly)と呼ばれるアセンブリを作成して、それに含まれるメタデータから生成されたRCWを経由ですることでコールすることが出来ます。 VB2005で相互運用機能アセンブリを作成するには、[プロジェクト]-[参照の追加]または、ソリューションエクスプローラから参照の追加をクリックします。これにより、[参照の追加]ダイアログが表示されますので、[COM]タブに切り替えます。一覧表示からタイプライブラリを選択して[OK]ボタンをクリックします。これによりプロジェクトの中に、相互運用機能アセンブリが作成されます。 参照設定 • この相互運用機能アセンブリ(Interop.SolidEdgeFramework.dll、Interop.SolidEdgePart.dllなど)はアプリケーションと共に配布する必要があります。
Visual Basic 2005 開発環境 オブジェクトブラウザの活用 VB2005に備わっているツールの一つにオブジェクトブラウザがあります。このツールはオブジェクトを検索し、それがサポートしているプロパティやメソッドを表示します。また、オブジェクト階層構造を間接的に確認する方法として利用できます。
Visual Basic 2005 開発環境 ソースコードのビルド VS.NETからVisual Basicはコンパイル言語に変わったため、ソース・ファイルをビルドしてバイナリ・ファイルを作成するという作業が必要になりました。
プログラムを作成してみましょう プログラムを作成するための7つのステップ • VB2005プロジェクトの作成 • Solid Edge APIの参照設定 • フォームの定義 • コントロールの配置 • フォームとコントロールにプロパティを設定 • コードの記述 • テストとデバッグ • 実行イメージの作成
VB2005プロジェクトの作成 新しいプロジェクトとして、“Windowsアプリケーション”を選択します。 プロジェクト名を入力してください。
Solid Edge APIの参照設定 Solid Edge APIを利用する為の参照の追加を行います。(プロジェクト→参照の追加) Solid Edgeのタイプライブラリを選択してOKボタンを押します。
フォームの定義とコントロールの配置 フォームの定義を行います。必要なコントロールをドラッグ&ドロップで追加してフォームをデザインしてください。
フォームとコントロールにプロパティを設定 デザインしたフォームと、配置したコントロールに必要なプロパティーを設定して下さい。 選択したオブジェクトのプロパティーはここで編集できます。
コードの記述 ホームに配置したボタンをダブルクリックして、イベントハンドラを生成しコードを記述します。
コードの記述(Imports Statement) プロジェクトにインポートする名前空間を指定します。インポートした名前空間の要素の名前は、完全な修飾子を付けずにコードで使用できます。 たとえば、Imports オブジェクトに SolidEdgeFrameworkインポート ステートメントが格納されている場合は、次の 2 つのコードは同等に機能します。 Dim objSolidEdgeApplication As Application Dim objSolidEdgeApplication As SolidEdgeFramework.Application
コードの記述(Try.Catch.Finally:構造化例外処理)コードの記述(Try.Catch.Finally:構造化例外処理) VB.NETには新しいエラー処理の機能である「構造化例外処理」が加わりました。構造化例外処理はコードの特定部分をテストし、例外が発生すると、その例外を引き起こした状況に対して例外処理コードを適用します。フレキシブルにエラーに対応し、アプリケーションの信頼性も高まります。 Finally ステートメントには、Try ブロックでの例外発生の有無にかかわらず実行するコードが含まれます。
テストとデバッグ ブレークポイントを設定して、 デバッグ開始コマンドを選択
テストとデバッグ F8キーでステップ毎にコードを進めることが出来ます。また、必要があれば、ブレークポイントを追加したり、ウオッチ機能で変数を確認する事が可能です。
実行イメージの作成 ビルド→リビルドコマンドを選択。 実行ファイルが作成されます。
VB2005 tips (セキュリティーポリシー) クライアントコンピュータから ネットワーク上の.NET アプリケーションにアクセスすると、セキュリティ警告メッセージが表示されることがあります。 .NETアプリケーションを完全に信頼できるものにするために、コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用します。以下のようなバッチファイルを作成する事も出来ます。 バッチの例
VB2005 tips(COMオブジェクトの開放) • VB6においてはCOMオブジェクトは不要になった時点でそれを参照している変数に、明示的にNothingをセットすることで解放されていました。.NETでは、ガベージコレクションがサポートされたことにより、オブジェクトの解放を明示的に行う必要は、基本的にありません。ガベージコレクションは、.NET Framework が任意のタイミングで随時行います。 • VB6 SET objSolidEdgeApplication=NOTHING オブジェクトの開放が必要な場合には、 • VB2005 Marshal.ReleaseComObject(objSolidEdgeApplication) もしくは、 objSolidEdgeApplication = Nothing GC.Collect() ←ガベージコレクションを意図的に実行
VB2005 tips • APIライブラリの概要 • SolidEdgeFramework - ドキュメントレベルですべての環境にまたがる共通機能のインターフェースが定義されています。 • SolidEdgeFrameworkSupport- 2D要素レベルですべての環境にまたがる共通機能のインターフェースが定義されています。 (lines, dimensons, boundaries,等) • SolidEdgeGeometry - 2D要素と3D要素の両方に関する機能のインターフェースが定義されています。 ( body,face,curve,等) • SolidEdgePart – パーツ環境とシートメタル環境固有の機能のインターフェースが定義されています。
VB2005 tips • SolidEdgeAssembly – アセンブリ環境固有の機能に対するインターフェースが定義されています。 • SolidEdgeDraft – ドラフト環境固有の機能に対するインターフェースが定義されています。 • SolidEdgeConstants - igRight, igUnitDistance,などの定数が定義されています。 • Revision Manager – 改定マネージャ及びinsight connectの機能に対するインターフェースが定義されています。