C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

点が含まれるプロファイルを探す

久々にFusion360です。

特定のスケッチの点が含まれるプロファイルを探したいとの内容で、
ちょっと面白そうだったので挑戦しました。
Re: Locating specific profiles - Autodesk Community


上の赤印の点の場合は、含まれるプロファイルを選択して終了します。
下の場合は境界上の為、二つのプロファイルを選択した状態で終了します。

2次元的に指定した点がある領域に含まれるかどうかのアルゴリズムは、
2種類ぐらい存在する事を過去に検索して知ってはいるのですが、
今回はFusion360APIの機能で済ませました。こちらの方が断然簡単だったので。

プロファイル自体に点が含まれているかどうかを判断する為のメソッド類は
無いのですが、BRepBodyのpointContainmentメソッドで判断出来ます。
Fusion 360 Help
pointContainmentメソッドは、他の方が使っていて存在を知りました。
便利ですね。

プロファイルは単一平面上の閉ざされた領域の為、TemporaryBRepManagerオブジェクトの
createFaceFromPlanarWiresメソッドでサーフェスボディを作れます。
Fusion 360 Help
TemporaryBRepManagerオブジェクトの場合、画面上には表示されずに
高速でUndoRedoも汚さないので判断する為の面の作成には非常に便利です。

ん~モチベーションが・・・。