APIで要素の選択時にジョイントの種類を限定したい

ChaosComb
Advisor

APIで要素の選択時にジョイントの種類を限定したい

ChaosComb
Advisor
Advisor

お世話になっております。

 

また時間を見つけてPythonでスクリプトに挑戦しています.

現在は第一段階として,押し出しコマンドで押し出し箇所を選択するみたく,マウスで画面上のジョイントを選択し,その情報を取得するところまでできています.

 

FSkPMNsUUAA20zA.jpeg

 

また,選択時にはSelectionCommandInputのaddSelectionFilterと

Fusion 360 Help | SelectionCommandInput.addSelectionFilter Method | Autodesk

 

そのFilterに以下に記載のある”joint”を使用しています.

Fusion 360 Help | Selection Filters | Autodesk

ここで悩み事なのですが,希望する挙動としてはジョイント全体でなく,”回転”ジョイントだけを選択できるようにしたいのです.

しかし,フィルタではジョイントという大まかなフィルタしかかけることができていません.

 

なにかスマート(?)な対処方法はないでしょうか?

よろしくお願いいたします.


0 件のいいね
返信
解決済み
330件の閲覧回数
3件の返信
返信 (3)

kandennti
Mentor
Mentor
解決済み

@ChaosComb さん こんにちは。

 

進みが早いですね。

お望みの処理はCommand.preSelectイベントを利用すると出来ます。

https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-E3D24F04-8576-420E-B9AD-44746A6B12EE 

 

簡単な説明をすると、選択を行わなくてもマウスカーソルの

下にある要素を取得する事が可能で、その要素を選択許可するか

しないかを設定することが出来ます。

 

大げさな話、SelectionCommandInputでSelectionFilterを設定

しなくても、preSelectイベントだけでフィルタリングする事が

可能です。

 

その辺の説明をこちらに書きました。

https://kantoku.hatenablog.com/entry/2022/01/24/113208 

(ビックリするぐらい説明を端折っています。わからない部分は

再度聞いてください。)

 

 

又、時間のある際は、こちらの "ダイアログなスクリプト入門1~6" を

読んで頂くと、SelectionCommandInputの不具合っぽい部分の

回避方法も記載しています。

https://kantoku.hatenablog.com/archive/category/Fusion360API%E5%85%A5%E9%96%80 

ChaosComb
Advisor
Advisor

@kandennti さん

 

いつもお世話になります。

記事紹介していただきありがとうございます.

そんなことができるのですね.これで理想に一歩近づいた気がします.

 

明日にでも読んで勉強させていただきます.

また質問させていただくこともあるかと思いますが何卒よろしくお願いします。

 

追伸

進みが早い一番の要因は "ダイアログなスクリプト入門1~6" のおかげです.

記事内でも都度,Fusion360のヘルプ?リファレンス?のリンクを貼ってくださっているのもとてもありがたいです.


ChaosComb
Advisor
Advisor

@kandennti さん

 

こんにちは.

フィルタ実装できました!

ありがとうございます.

ようやく,コツがつかめてきた気がします