フォローする

.NET - SelectionSet に関する注意点

更新 : 2017-10-18 07:38:27 UTC

作図領域内で GetSelection や SelectAll で選択したオブジェクトを扱うために、
SelectionSet クラスや、SelectedObject クラスがあります。

IJCAD と AutoCAD で SelectionSet クラスの実装に関して差があることが確認されています。

複数のオブジェクトを選択した場合は、for や foreach といった、
ループ文を使用して選択されているオブジェクトを扱いますが、
確実に要素が1つしかない場合はループさせること自体が無駄であると言えます。

VB.NET を使用している場合は、

SelectionSet(0).ObjectId
SelectionSet.item(0).ObjectId

のいずれかで、IJCAD も AutoCAD も同じように要素を問題なく取得することができますが、

C# を使用している場合は、

//IJCAD
SelectionSet.get_Item(0).ObjectId
//AutoCAD
SelectionSet[0].ObjectId

のように違いがあります。

AutoCAD で使用しているソースコードを IJCAD に移植する場合は修正が必要であり、
IJCAD と AutoCAD を併用して使用する事を考えている場合に、
ソリューションやプロジェクト内で同じソースファイルを使用する場合は、
条件付きコンパイルを使用してコードを使い分ける必要が発生します。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント