某SolidWorks非公認ユーザーサイトで、
"図面ビュー内のエンティティを選択しても、GetSelectedObjectType3で図面ビューと認識されてしまう"なんて話題がありました。
自分もそう信じてたんですが、APIヘルプのサンプルを眺めていたら、勘違いで(?)であることが判明。
どうやら図面ビュー内のエンティティの選択は、
Index2以降にリストされるみたいです
例を挙げると、こんな感じです。
Case1) ある図面ビューのエッジをひとつ選択した場合。
GetSelectedObjectType3(
1,0)は、図面ビュー(swSelDRAWINGVIEWS = 12)
GetSelectedObjectType3(
2,0)は、エッジ(swSelEDGES = 1)
Case2) ある図面ビューのエッジと面をひとつずつ選択した場合。
GetSelectedObjectType3(
1,0)は、図面ビュー(swSelDRAWINGVIEWS = 12)
GetSelectedObjectType3(
2,0)は、エッジ(swSelEDGES = 1)
GetSelectedObjectType3(
3,0)は、面(swSelFACES = 2)
Case3) 2つの図面ビューでそれぞれエッジをひとつずつ選択した場合。
GetSelectedObjectType3(
1,0)は、図面ビュー(swSelDRAWINGVIEWS = 12)
GetSelectedObjectType3(
2,0)は、エッジ(swSelEDGES = 1)
GetSelectedObjectType3(
3,0)は、図面ビュー(swSelDRAWINGVIEWS = 12)
GetSelectedObjectType3(
4,0)は、エッジ(swSelFACES = 1)
図面ビュー内で複数エンティティを選択する場面に遭遇していなかったのが敗因ですね・・・
もー!ヘルプに書いてよね!!
そもそも、ナゼそんな仕様に・・・
ともかく、ひとつナゾが解けたので良かったです