こちらでコメント頂きました。
今更ながら、ボディからMinimumBoxを作成する(Sketch&Pad) - C#ATIA
長すぎて止まる理由がわからないのですが、折角なのでこれとほぼ同等の
パワーコピーを作ってみました。
基本的に同じ考え方です。
多くのCADでのそうなのですが、2つの要素の最短距離を測る機能は
あるのですが今回のよう、要素間の最大距離を測定するのは
なかなか困難です。(CATIAでは測定出来ます)
そこで遠くに平面を作成し、平面と要素の最短距離を測定することで
最大距離を取得しようと言うのが、ここなさんのアイデアです。
言葉だけではわかりにくいので図で示すと
原点から赤いラインの最大距離を得るためには、緑の距離で遠くに
平面を作成し、平面から赤いラインまでの最短距離(紫)を測定し、
緑の距離から紫を引けば、良いわけです。
それをXYZの各+-方向に作ります。
後で使いまわす為、遠い平面の距離はパラメータで作成し、
各平面では式にして設定しておきます。
(画像の都合上150mmですが、実際はもっと大きい数値です)
続いて、先程の平面群と目的のボディとの最短距離をパラメータで
取得しておきます。
パラメータにする理由はのちに記載しておきますが、パラメータでも
2要素間のこの辺使うと可能です。
次にスケッチです。四角を描き、拘束を付けるのですが
最初の平面と先程の距離のパラメータを利用します。
最後にパッドです。こちらも先程までのスケッチ、平面、
距離のパラメータを利用します。
お好みですが「どうせ中身は見ないのだから」と言う事であれば
グループを作成しておいても良いと思います。
Treeが伸びないので邪魔にならないです。
ここまでの操作を普通に作成してしまうと、パワーコピーにし
インスタンスを作成する時に非常に多くの要素を指定する必要が
あるはずです。 そこで幾つかのコツを・・・。
・最初に作成する平面は、オフセット平面を作成しないで
「方程式」で作成します。
まぁ普通使わないです。パワーコピーのために存在しているような
気さえしてます。
スケッチのサポートも、この方程式で作ります。
・インスタンス作成後、関連するものがあちこちに散らばるのが
非常に嫌な為、パラメータや式全てを最後に形状セット内に
突っ込みます。(D&Dで)
「ボディ内に形状セットが存在するの禁止」論とかありますが
無視です。(ハイブリッドデザインの場合、入れられないかも)
・パラメータで式を利用して最短距離を取得していますが、
「2要素間を測定」を使ってしまうと、「測定」にぶら下がってしまい
形状セット内に突っ込めない為です。
(パラーコピーの際も不都合かも)
上手に作成できれば、目的のボディと向きを決める座標系の
二つの入力だけで利用出来るパワーコピーが作れます。
入力される要素が確定している場合(今回の場合はボディ1個)は、
マクロよりパワーコピーの方が作成も簡単ですし、実行後も
使い勝手が良いように感じます。
今回のファイルはGrabCADにUpしました。
Free CAD Designs, Files & 3D Models | The GrabCAD Community Library