Transcript
Page 1: Solid Edge Customization with VB2005          (Fundamentals)

© シーメンスプロダクトライフサイクルマネージョメントソフトウエア JP 株式会社 . 2008. All rights reserved.

Solid Edge Customization with Solid Edge Customization with VB2005 VB2005      (Fundamentals)(Fundamentals)

Page 2: Solid Edge Customization with VB2005          (Fundamentals)

Solid Edge Customization reviewSolid Edge Customization review

Solid Edge customizationSolid Edge customization の種類の種類

MacroMacro (マクロ)(マクロ) マクロはマクロはアウトオブプロセスアウトオブプロセスアプリケーションです アプリケーションです (EXE)(EXE)

スタンドアロン スタンドアロン .EXE.EXE

VBA VBA マクロマクロ

スクリプト言語 スクリプト言語 (.VBS)(.VBS)

AddinAddin (アドイン)(アドイン) アドインはアドインはインプロセスインプロセスコンポーネントです コンポーネントです (DLL)(DLL)

Solid EdgeSolid Edge が起動された時に自動的にロードされます。が起動された時に自動的にロードされます。

Solid EdgeSolid Edge のカスタマイズはのカスタマイズは COM APICOM API を介して行います。を介して行います。

COMCOM をサポートしている言語であれば、プログラム言語は問いまをサポートしている言語であれば、プログラム言語は問いません。せん。

Page 3: Solid Edge Customization with VB2005          (Fundamentals)

Solid Edge API OverviewSolid Edge API Overview

SolidEdgeSolidEdge では以下のでは以下の COM APICOM API を提供します。を提供します。 Solid Edge Assembly Type LibrarySolid Edge Assembly Type Library - (assembly.tlb) - (assembly.tlb)

Solid Edge Constants Type LibrarySolid Edge Constants Type Library - (constant.tlb) - (constant.tlb)

Solid Edge Draft Type LibrarySolid Edge Draft Type Library – (draft.tlb) – (draft.tlb)

Solid Edge File Properties Object LibrarySolid Edge File Properties Object Library – (PropAuto.dll) – (PropAuto.dll)

Solid Edge Framework Type LibrarySolid Edge Framework Type Library – (framewrk.tlb) – (framewrk.tlb)

Solid Edge FrameworkSupport Type LibrarySolid Edge FrameworkSupport Type Library – (fwksupp.tlb) – (fwksupp.tlb)

Solid Edge Geometry Type LibrarySolid Edge Geometry Type Library – (geometry.tlb) – (geometry.tlb)

Solid Edge Install Data Type LibrarySolid Edge Install Data Type Library – (SEInstallData.dll) – (SEInstallData.dll)

Solid Edge Part Type LibrarySolid Edge Part Type Library – (Part.tlb) – (Part.tlb)

Solid Edge Revision Manager Object LibrarySolid Edge Revision Manager Object Library – (RevMgr.tlb) – (RevMgr.tlb)

Page 4: Solid Edge Customization with VB2005          (Fundamentals)

Solid Edge API Solid Edge API リソースリソース

Solid EdgeSolid Edge は開発に関連するリソースを用意しています。は開発に関連するリソースを用意しています。 \Program Files\Solid Edge V20\\Program Files\Solid Edge V20\SDKSDK

Solid Edge SDKSolid Edge SDK のルートディレクトリのルートディレクトリ \Program Files\Solid Edge V20\SDK\\Program Files\Solid Edge V20\SDK\Sesdk.chmSesdk.chm

Solid Edge APISolid Edge API のの HelpHelp

\Program Files\Solid Edge V20\SDK\\Program Files\Solid Edge V20\SDK\SDKExamples.chmSDKExamples.chm

Visual Basic 6.0Visual Basic 6.0 での使用例での使用例 \Program Files\Solid Edge V20\\Program Files\Solid Edge V20\CustomCustom

Visual Basic 6.0Visual Basic 6.0 とと VB.NETVB.NET のサンプルプログラムのサンプルプログラム

Page 5: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 OverviewVisual Basic 2005 Overview

Visual Basic 2005Visual Basic 2005 とは?とは? Visual Basic 6Visual Basic 6 の後継開発ツールであり、共通言語ランの後継開発ツールであり、共通言語ラン

タイム タイム (Common Language Runtime CLR)(Common Language Runtime CLR) 上で実行す上で実行するように設計されています。詳細な情報については以下のるように設計されています。詳細な情報については以下のリンクを参照下さい。リンクを参照下さい。

     http://msdn2.microsoft.com/ja-jp/library/2x7h1hfk(VS.80).aspxhttp://msdn2.microsoft.com/ja-jp/library/2x7h1hfk(VS.80).aspx

Page 6: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 OverviewVisual Basic 2005 Overview

Visual Basic6Visual Basic6 との大きな違いは?との大きな違いは? VB6VB6 はネイティブはネイティブ COMCOM オブジェクトを利用していました。オブジェクトを利用していました。

これに対しこれに対し VB2005VB2005 はは Runtime Callable Wrappers Runtime Callable Wrappers (RCW)(RCW) を介してを介して COMCOM オブジェクトと通信します。オブジェクトと通信します。

VB2005VB2005 はは .NET Framework Class Libraries.NET Framework Class Libraries にアクセにアクセスします。スします。

これはこれは C#C# 、、 C++C++ と同じと同じ Microsoft .NET APIMicrosoft .NET API にアクセスにアクセスする事を意味します。する事を意味します。

言語の変更点については以下のサイトを参照下さい。  言語の変更点については以下のサイトを参照下さい。         Visual Basic 6.0 Visual Basic 6.0 ユーザー向けのヘルプユーザー向けのヘルプ

http://msdn2.microsoft.com/ja-jp/library/http://msdn2.microsoft.com/ja-jp/library/skw8dhdd(VS.80).aspxskw8dhdd(VS.80).aspx

Page 7: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

Visual Studio2005Visual Studio2005 の初回起動時には[既定の環境設定の選択]との初回起動時には[既定の環境設定の選択]というダイアログが表示されます。ここで「いうダイアログが表示されます。ここで「 Visual BasicVisual Basic 開発設定」開発設定」を選択する事で、を選択する事で、 VB6VB6 に近い操作性・開発環境の設定が行われます。に近い操作性・開発環境の設定が行われます。

環境設定の選択環境設定の選択

Page 8: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

VB2005VB2005 を起動すると上のようなスタートページが表示さを起動すると上のようなスタートページが表示されます。れます。

統合開発環境のスタートページ統合開発環境のスタートページ

Page 9: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

スタートページに表示されている[作成 プロジェクト]もしくは、ファイスタートページに表示されている[作成 プロジェクト]もしくは、ファイル→新しいプロジェクトをクリックすることで、 [新しいプロジェクト]ル→新しいプロジェクトをクリックすることで、 [新しいプロジェクト]ダイアログが表示されます。「ダイアログが表示されます。「 Visual Basic Visual Basic 開発設定」を選択した場合は、開発設定」を選択した場合は、プロジェクトは保存されないため、この時点ではフォルダ名は入力する必要プロジェクトは保存されないため、この時点ではフォルダ名は入力する必要がなく、プロジェクト名だけを入力します。 がなく、プロジェクト名だけを入力します。 VB2005VB2005 では、プロジェクトでは、プロジェクト・ファイルはデフォルトで「マイ ドキュメント」フォルダの下の「・ファイルはデフォルトで「マイ ドキュメント」フォルダの下の「 Visual Visual Studio 2005\ProjectsStudio 2005\Projects 」フォルダにプロジェクト・フォルダが作成され保」フォルダにプロジェクト・フォルダが作成され保存されます。存されます。

新しいプロジェクトダイアログ新しいプロジェクトダイアログ

Page 10: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

.NET.NET ではでは RCWRCW (( Runtime Callable Runtime Callable WrapperWrapper )を経由して)を経由して COMCOM がコーがコールされます。相互運用機能アセンルされます。相互運用機能アセンブリ(ブリ( Interop AssemblyInterop Assembly )と呼ば)と呼ばれるアセンブリを作成して、それれるアセンブリを作成して、それに含まれるメタデータから生成さに含まれるメタデータから生成されたれた RCWRCW を経由ですることでを経由ですることでコールすることが出来ます。コールすることが出来ます。   VB2005VB2005 で相互運用機能アセンで相互運用機能アセンブリを作成するには、[プロジェブリを作成するには、[プロジェクト]-[参照の追加]または、クト]-[参照の追加]または、ソリューションエクスプローラかソリューションエクスプローラから参照の追加をクリックします。ら参照の追加をクリックします。これにより、[参照の追加]ダイこれにより、[参照の追加]ダイアログが表示されますので、[アログが表示されますので、[ CCOMOM ]タブに切り替えます。一覧]タブに切り替えます。一覧表示からタイプライブラリを選択表示からタイプライブラリを選択して[して[ OKOK ]ボタンをクリックし]ボタンをクリックします。これによりプロジェクトのます。これによりプロジェクトの中に、相互運用機能アセンブリが中に、相互運用機能アセンブリが作成されます。作成されます。

参照設定 参照設定 

この相互運用機能アセンブリ(この相互運用機能アセンブリ( Interop.SolidEdgeFramework.dllInterop.SolidEdgeFramework.dll 、、 IntInterop.SolidEdgePart.dllerop.SolidEdgePart.dll など)はアプリケーションと共に配布する必など)はアプリケーションと共に配布する必要があります。 要があります。

Page 11: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

VB2005VB2005 に備わっているツールの一つにオブジェクトブラウザがあります。に備わっているツールの一つにオブジェクトブラウザがあります。このツールはオブジェクトを検索し、それがサポートしているプロパティやこのツールはオブジェクトを検索し、それがサポートしているプロパティやメソッドを表示します。また、オブジェクト階層構造を間接的に確認する方メソッドを表示します。また、オブジェクト階層構造を間接的に確認する方法として利用できます。法として利用できます。

オブジェクトブラウザの活オブジェクトブラウザの活用用 

Page 12: Solid Edge Customization with VB2005          (Fundamentals)

Visual Basic 2005 Visual Basic 2005 開発環境開発環境

VS.NETVS.NET からから Visual BasicVisual Basic はコンパイル言語に変わったため、ソーはコンパイル言語に変わったため、ソース・ファイルをビルドしてバイナリ・ファイルを作成するという作ス・ファイルをビルドしてバイナリ・ファイルを作成するという作業が必要になりました。業が必要になりました。

ソースコードのビルド 

Page 13: Solid Edge Customization with VB2005          (Fundamentals)

プログラムを作成してみましょうプログラムを作成してみましょう

プログラムを作成するための7つのステッププログラムを作成するための7つのステップ VB2005VB2005 プロジェクトの作成プロジェクトの作成 Solid Edge APISolid Edge API の参照設定の参照設定 フォームの定義フォームの定義 コントロールの配置コントロールの配置 フォームとコントロールにプロパティを設定フォームとコントロールにプロパティを設定 コードの記述コードの記述 テストとデバッグテストとデバッグ 実行イメージの作成実行イメージの作成

Page 14: Solid Edge Customization with VB2005          (Fundamentals)

VB2005VB2005 プロジェクトの作成プロジェクトの作成

新しいプロジェクトとして、“新しいプロジェクトとして、“ WindowsWindows アプリケーション”を選択アプリケーション”を選択します。します。

プロジェクト名を入力してください。プロジェクト名を入力してください。

Page 15: Solid Edge Customization with VB2005          (Fundamentals)

Solid Edge APISolid Edge API の参照設定の参照設定

Solid Edge APISolid Edge API を利用する為の参照の追加を行を利用する為の参照の追加を行います。(プロジェクト→参照の追加)います。(プロジェクト→参照の追加)

Solid EdgeSolid Edge のタイプライブラリを選択してのタイプライブラリを選択して OKOK ボタンを押しボタンを押します。ます。

Page 16: Solid Edge Customization with VB2005          (Fundamentals)

フォームの定義とコントロールの配置フォームの定義とコントロールの配置

フォームの定義を行います。必要なコントロールをドラッグ&ドロフォームの定義を行います。必要なコントロールをドラッグ&ドロップで追加してフォームをデザインしてください。ップで追加してフォームをデザインしてください。

Page 17: Solid Edge Customization with VB2005          (Fundamentals)

フォームとコントロールにプロパティを設定フォームとコントロールにプロパティを設定

デザインしたフォームと、配置したコントロールに必要なプロパティデザインしたフォームと、配置したコントロールに必要なプロパティーを設定して下さい。ーを設定して下さい。

選択したオブジェクトのプロパティーはここで編集できます。

Page 18: Solid Edge Customization with VB2005          (Fundamentals)

コードの記述コードの記述

ホームに配置したボタンをダブルクリックして、イベントハンドラを生ホームに配置したボタンをダブルクリックして、イベントハンドラを生成しコードを記述します。成しコードを記述します。

Page 19: Solid Edge Customization with VB2005          (Fundamentals)

コードの記述(コードの記述( Imports StatementImports Statement ))

プロジェクトにインポートする名前空間を指定します。インポートした名前プロジェクトにインポートする名前空間を指定します。インポートした名前空間の要素の名前は、完全な修飾子を付けずにコードで使用できます。空間の要素の名前は、完全な修飾子を付けずにコードで使用できます。

たとえば、たとえば、 Imports Imports オブジェクトに オブジェクトに SolidEdgeFrameworkSolidEdgeFramework インポート スインポート ステートメントが格納されている場合は、次の テートメントが格納されている場合は、次の 2 2 つのコードは同等に機能つのコードは同等に機能します。します。

Dim objSolidEdgeApplication As ApplicationDim objSolidEdgeApplication As Application Dim objSolidEdgeApplication As SolidEdgeFramework.ApplicationDim objSolidEdgeApplication As SolidEdgeFramework.Application

Page 20: Solid Edge Customization with VB2005          (Fundamentals)

コードの記述(コードの記述( Try.Catch.FinallyTry.Catch.Finally :構造化例外処:構造化例外処理)理)

VB.NETVB.NET には新しいエラー処理の機能である「構造化例外処理」が加わりまには新しいエラー処理の機能である「構造化例外処理」が加わりました。構造化例外処理はコードの特定部分をテストし、例外が発生すると、した。構造化例外処理はコードの特定部分をテストし、例外が発生すると、その例外を引き起こした状況に対して例外処理コードを適用します。フレその例外を引き起こした状況に対して例外処理コードを適用します。フレキシブルにエラーに対応し、アプリケーションの信頼性も高まります。 キシブルにエラーに対応し、アプリケーションの信頼性も高まります。

Finally Finally ステートメントには、ステートメントには、 Try Try ブロックでの例外発生の有無にかかわらブロックでの例外発生の有無にかかわらず実行するコードが含まれます。ず実行するコードが含まれます。

Page 21: Solid Edge Customization with VB2005          (Fundamentals)

テストとデバッグテストとデバッグ

ブレークポイントを設定して、

デバッグ開始コマンドを選択

Page 22: Solid Edge Customization with VB2005          (Fundamentals)

テストとデバッグテストとデバッグ

F8F8 キーでステップ毎にコードを進めることが出来ます。また、必要があれキーでステップ毎にコードを進めることが出来ます。また、必要があれば、ブレークポイントを追加したり、ウオッチ機能で変数を確認する事ば、ブレークポイントを追加したり、ウオッチ機能で変数を確認する事が可能です。が可能です。

Page 23: Solid Edge Customization with VB2005          (Fundamentals)

実行イメージの作成実行イメージの作成

ビルド→リビルドビルド→リビルドコマンドを選択。コマンドを選択。

実行ファイルが作成されます。実行ファイルが作成されます。

Page 24: Solid Edge Customization with VB2005          (Fundamentals)

VB2005 tips (VB2005 tips ( セキュリティーポリシー)セキュリティーポリシー)

クライアントコンピュータから ネットワーク上のクライアントコンピュータから ネットワーク上の .NET .NET アプリケーアプリケーションにアクセスすると、セキュリティ警告メッセージが表示さションにアクセスすると、セキュリティ警告メッセージが表示されることがあります。 れることがあります。

.NET.NET アプリケーションを完全に信頼できるものにするために、コーアプリケーションを完全に信頼できるものにするために、コード アクセス セキュリティ ポリシー ツール ド アクセス セキュリティ ポリシー ツール (Caspol.exe) (Caspol.exe) を使用を使用します。以下のようなバッチファイルを作成する事も出来ます。します。以下のようなバッチファイルを作成する事も出来ます。バッチの例 バッチの例   

Page 25: Solid Edge Customization with VB2005          (Fundamentals)

VB2005 tipsVB2005 tips (( COMCOM オブジェクトの開放)オブジェクトの開放)

VB6VB6 においてはにおいては COMCOM オブジェクトは不要になった時点でそれを参照してオブジェクトは不要になった時点でそれを参照している変数に、明示的にいる変数に、明示的に NothingNothing をセットすることで解放されていましをセットすることで解放されていました。た。 .NET.NET では、ガベージコレクションがサポートされたことにより、オでは、ガベージコレクションがサポートされたことにより、オブジェクトの解放を明示的に行う必要は、基本的にありません。ガベーブジェクトの解放を明示的に行う必要は、基本的にありません。ガベージコレクションは、ジコレクションは、 .NET Framework .NET Framework が任意のタイミングで随時行いまが任意のタイミングで随時行います。す。

VB6VB6

SET objSolidEdgeApplication=NOTHINGSET objSolidEdgeApplication=NOTHING

オブジェクトの開放が必要な場合には、オブジェクトの開放が必要な場合には、 VB2005VB2005

Marshal.ReleaseComObject(objSolidEdgeApplication)Marshal.ReleaseComObject(objSolidEdgeApplication)

もしくは、もしくは、

objSolidEdgeApplication = NothingobjSolidEdgeApplication = Nothing

GC.Collect() GC.Collect()  ←ガベージコレクションを意図的に実行  ←ガベージコレクションを意図的に実行

Page 26: Solid Edge Customization with VB2005          (Fundamentals)

VB2005 tipsVB2005 tips

APIAPI ライブラリの概要ライブラリの概要 SolidEdgeFramework - SolidEdgeFramework - ドキュメントレベルですべての環境にドキュメントレベルですべての環境に

またがる共通機能のインターフェースが定義されています。またがる共通機能のインターフェースが定義されています。

SolidEdgeFrameworkSupport- SolidEdgeFrameworkSupport- 22 DD 要素レベルですべての環境要素レベルですべての環境にまたがる共通機能のインターフェースが定義されています。にまたがる共通機能のインターフェースが定義されています。 (lines, dimensons, boundaries,(lines, dimensons, boundaries, 等等 ))

SolidEdgeGeometry - SolidEdgeGeometry - 22 DD 要素と3要素と3 DD 要素の両方に関する機能要素の両方に関する機能のインターフェースが定義されています。 のインターフェースが定義されています。 ( body,face,curve,( body,face,curve,等等 ))

SolidEdgePart – SolidEdgePart – パーツ環境とシートメタル環境固有の機能のパーツ環境とシートメタル環境固有の機能のインターフェースが定義されています。インターフェースが定義されています。

Page 27: Solid Edge Customization with VB2005          (Fundamentals)

VB2005 tipsVB2005 tips

SolidEdgeAssembly – SolidEdgeAssembly – アセンブリ環境固有の機能に対するインアセンブリ環境固有の機能に対するインターフェースが定義されています。ターフェースが定義されています。

SolidEdgeDraft – SolidEdgeDraft – ドラフト環境固有の機能に対するインタードラフト環境固有の機能に対するインターフェースが定義されています。フェースが定義されています。

SolidEdgeConstants - igRight, igUnitDistance,SolidEdgeConstants - igRight, igUnitDistance, などの定数が定義などの定数が定義されています。されています。

Revision Manager – Revision Manager – 改定マネージャ及び改定マネージャ及び insight connectinsight connect の機能の機能に対するインターフェースが定義されています。に対するインターフェースが定義されています。


Recommended