C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA(最近はPMillマクロとFusion360APIが多い)

ObjectCollectionオブジェクト

先週作っていたスプリクト、行き詰まり感からちょっと放置。
こちらに面白そうなテーマがあったので、取り組んでみました。
How to remove inner sketch lines from an intersection sketch? - Autodesk Community

空のスケッチを選択したらエラーとか、移動しているコンポーネントだと
違う位置に出来上がる(未テスト)とか、駄目な部分は多々あるのですが
動くのでUpしたのですが、前から気になっていた事が
少しわかったので覚書です。

Fusion360APIには、ObjectCollectionオブジェクトと言うのがあるんです。
Help

オブジェクトを格納するものなのですが、Pythonの場合はリスト・セット・タプルがあり、
大したメソッドも無いので態々使う利用も無いかな? と思っていました。

今まで、面やボディを作るようなスプリクトを作った事が無かったのですが
今回はパッチサーフェスを作ってます。この辺です。
Help

returnValue = patchFeatures_var.createInput(boundaryCurve, operation)

このパラメータの "boundaryCurve" に幾つかのタイプのオブジェクトを渡すことが
出来るようなのですが、今回はプロファイルが複数入ったObjectCollection
オブジェクトを渡しています。
手動で操作した時、パッチコマンドでは1回のコマンドで複数のプロファイルを
指定出来ます。要は手動もスプリクトも同じような仕様なんですね。

但し、ここがリスト等じゃダメなんです。ObjectCollectionオブジェクトの
存在理由がやっとわかりました。
…リストとかの方が、遥かに便利なんですけどね。