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の機能に対する
インターフェースが定義されています。
ダウンロード

Solid Edge APIの参照設定