◎Pro/Eモデルの情報を取得しよう
-------------------------------------------------------------------------------------
(目次)
(1)はじめに ('02/04/04)
(2)部品の穴フィーチャーをすべてハイライト表示する ('02/04/18)
(3)部品の穴位置情報を取得する ('02/06/09)
(4)XY平面上の図形をDXFに書き出す ('03/07/17)

ダウンロード(274kB) Pro/E 2000i(1999500)以降

<はじめに>
 AnimationXYZ公開以来、ほぼ1年ほどPro/TOOLKITを利用したものの開発が全く進みません
でしたが、ようやく時間が取れるようになったので、新しくコマンドの作成をしていきたいと思います。

その前にちょっと脱線して・・・このページをご覧になっているみなさんは2次元CAD、3次元CADを
見たことがある、あるいは仕事上利用している方々だと思いますが、使っていて何らかの不満を
持ったことはありませんか?
 どんなに優れたソフトでも万人に気に入られることはありません。Pro/EでもAutoCADでもHelixでも
凄いなーと思うものの、もうちょっとここがどうにかならないか、という気持ちになります。まして、
Helixのようにメーカー都合で開発中止になってしまったら、ユーザーとしては対処のしようがありま
せんね。Pro/Eもアメリカの企業である以上、すべての行動は経済原則に依ることになります。
 というわけでもないんですが(話は変わって)、C++ Builderなるオモチャを手にしたおかげで、自分
でCADを作ってしまおうなんて無謀な欲が出ています。1月頃からぽちぽちと暇を見つけてはネット
で検索しながら数学を思い出しつつ、製作にとりかかっております。
 で、とても公開できるほどの完成度は全くないんですが、とりあえずDXFビューアーとしては何気に
使えそうなものができているので公開します。DXFもよく調べてないので、今できるのは、線分(LINE)、
円(ARC)、円弧(CIRCLE)、テキスト(TEXT)を読み込んで表示するだけです。線種も色もレイヤも全く
無視されます。保存する場合は、これまた不完全なDXFに出力できます。それと、一応、線分、円
に関しては編集できるようになっています。いくつかアイコンが並んでいますが、まだ使えないもの
もいくつか(特に編集関連の角Cやら角R)ありますので、動作しなかったら開発中だと理解して
ください。
 小さく産んでひっそりと育てたいと思っています。構想だけはあって、すでにOPEN-GLでの描画も
調査だけはしております。いつかは3D!みたいな(笑)。

ここまでが前置きです。長いですか。ごめんなさい。
本題は「Pro/Eでモデルの各種情報を取り出そう」です。まず手始めに、Pro/TOOLKITの例題にも
出てくるモデルのすべての穴(HOLE)をハイライト表示してみましょう。
・・・文章を書くだけで力尽きたので、この機能の紹介は次回ということで・・・。


部品の穴フィーチャーをすべてハイライト表示する
 前回の更新からちょっと間隔が空いてしまいましたが、機能のプログラミングにてこずってたわけ
ではなく、整理する時間がなかったのが原因です。まあ簡単そうに見えるものでも、手をつけてみて、
予想外に手間取る場合も多いので、もし更新が滞ってたら悩んでる時もあります。

 で、このモデル上のすべての穴フィーチャーを拾ってくるというのは、TOOLKITでは簡単に実現
できます。Visit関数という一連の関数があり、フィーチャーからジオメトリ(サーフェス等)、エッジに
至るまで自分の好きなように要素を選択、抽出できるようになっています。

今回は ProSolidFeatVisit という関数を利用して穴フィーチャーのみを抜き出します。
まず、上記からダウンロードした後、これまでと同様に protk.datを適当に編集して設定してください。
補助アプリケーションとして実行すれば、下記のようにメニューが追加されます。
設定の分からない方は、ここを参考にしてください。
ただし、部品モードのみ対応しています。


<2003.7.17 追記> Wildfireからサイドメニューが廃止されたため、メニューの位置を
メニューバーに変更しました。(SAMPLESってやつです)

とりあえず今は「-ex1」のみ使用します。
試しに次のようなモデルで実行してみます。
「-ex1」を選択すると、
こんな感じで穴フィーチャーがハイライトされます。
ハイライト表示できるということは、当然フィーチャー情報も取得できています。
各種寸法や親子関係をリストアップすることもできます(今回はやりませんが)。

部品の穴位置情報を取得する
 穴フィーチャーを選択して寸法を取得します。

「-ex2」を選択してください。
穴フィーチャーを選択するとその穴に関する位置情報を表示します。
すなわち、
 ・穴の直径
 ・穴の中心座標(X,Y,Z)
の情報を取得します。
この座標に関しては、デフォルト座標系を基準にしています。


XY平面上の図形をDXFに書き出す
 なんと1年ぶりの更新です。時間が経つのは早いですね。
今回の機能は、XY平面に平行な平面上にあるエッジをDXFに書き出すものです。
試しに次のようなモデルで実行してみます。
「-ex3」を選択してXY平面に平行なサーフェスをクリックすると(上図で緑色のやつ)、
ワーキングディレクトリにdemo.dxfというファイルが作成されます。
このファイルをAutoCADでもMyCADでもいいので開いてみると、

こんな感じでエッジが直線と円弧に書き出されます。
Pro/Eでさらっとモデリングしたほうが2D-CADを使うより早く目的のものが
できるのに、製図モードが嫌いって場合に重宝します。

 (注意)未だによくわかってないのですが、もしかしたら円弧の開始、終了角度が
逆に出力されるかもしれません。
出力のXY座標はデフォルト座標系で、手前が+Z側から見た図になります。



TOPへ戻る