Solid Edge APIの参照設定
Download
Report
Transcript Solid Edge APIの参照設定
Solid Edge Customization with VB2005
(Fundamentals)
© シーメンスプロダクトライフサイクルマネージョメントソフトウエアJP株式会社. 2008. All rights reserved.
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
\Program Files\Solid Edge V20\SDK\Sesdk.chm
Solid Edge APIのHelp
\Program Files\Solid Edge V20\SDK\SDKExamples.chm
Solid Edge SDKのルートディレクトリ
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:構造化例外処理)
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の機能に対する
インターフェースが定義されています。