- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- パーマリンクを表示
- 印刷
- 報告
操作で直接要素を選択するのではなく、開設中モデル中の要素を順に抽出して選択状態にしたいです。
(最終的には「パラメーター一覧」のように一覧画面で行選択すると要素が選択状態になるようにしたい)
下記のように ui.activeSelections.add(エンティティ)と指定すると、一見できそうに思えますが、
次のような問題がありました。
1.参照要素の場合、元の要素モデルの位置・回転方向が選択状態として表示され、
直接選択またはブラウザで要素選択した場合のように、表示中要素の配置位置・回転方向で選択表示されない
2.処理が次の要素に移っても、前の選択状態が残る(activeSelections.clearは関係ない模様)
この現象は、Component、BRepBodyのいずれを選択指定しても同じです。
また、画面を用意してSelectionCommandInputを作成してaddSelectionで抽出要素を選択状態にしても同様です。
app = adsk.core.Application.get()
ui = app.userInterface
design = app.activeProduct
rootComp = design.rootComponent
for i in range(0, rootComp.allOccurrences.count):
occ = rootComp.allOccurrences.item(i)
if (occ.isReferencedComponent):
eComponent = occ.component
eName = eComponent.name
ePartNumber = eComponent.partNumber
eVolume = eBody.volume
ui.activeSelections.clear
ui.activeSelections.add(eComponent)
ui.messageBox("name:%s partNumber:%s volume:%d"%(eName,ePartNumber,eVolume))
解決済! 解決策の投稿を見る。