ナレッジ・パラメータの最小値 どんちゃん - 2009/05/14(Thu) 17:50 No.5552 | |
返信
|
修正・削除
|
|
ナレッジについてご存知の方、教えて下さい。
Message("#mm",min(`長さ.1`,`長さ.2`,`長さ.3`)*1000)
のように数ある長さパラメータの最小値を求めたい場合、 上記の方法だと横に長くなってしまうので何か良い方法がないか模索中です。
なんとかパラメータをリスト化してリスト内の最小値を求められないでしょうか? |
| Re: ナレッジ・パラメータの最小値 emily - 2009/05/18(Mon) 15:56 No.5562 | |
返信
|
修正・削除
|
|
|
どんちゃんさん、こんちは 思わしいのがないです・・マクロでは起動するのがメンドウだし・・ 設計テーブルをリストと見立てれば、 添付のように最小値が出てきますヨ(外れ・・かな) |
| Re: ナレッジ・パラメータの最小値 どんちゃん - 2009/05/18(Mon) 17:20 No.5566 | |
返信
|
修正・削除
|
|
|
emilyさん
レスありがとうございます。 ->MinInColumn()は怪しいなと思ったのですが 無理やりリストを入れても動かなくって(そりゃそうなのですが・・・)
なんだか悔しく、解らず、、 でした。 設計テーブルだと別ファイルがリンクが付くのがちょっと難点です。 なんかナレッジの痒い所に直面した感じですね。。
emilyさんが無いって言ったらもう無いかなって諦めが付いて良かったです ありがとうございました。 |
| Re: ナレッジ・パラメータの最小値 Takeuchi - 2009/05/21(Thu) 18:37 No.5586 | |
返信
|
修正・削除
|
|
|
もう見られてないかもですが、思いついたので。 まだ自分で実現できていないのでスルーしてもらっても。。。
emilyさんが言われている中に「マクロでは起動するのが面倒」というのにヒントがあるかなと思います。 リアクションでVB scriptを組めるので、その中で長さパラメーター群を配列に組み込んで、ソートしてあげればいいのかなと思いました。
リアクションの起動用のパラメーター(ブーリンアン)を用意しておいて、trueになったらVB scriptが起動といった感じ。 アウトプットは同じくvb scriptから最小値のパラメーター名をメッセージボックスで表示させるか、文字列パラメーターに最小値を入力してあげるか。。。
そんな感じで出来なくも無いです。これだと別ファイルへのリンクも無く出来そうです。
本来ならvb scriptを組んでから投稿すべきでしたが、取り急ぎ参考になるかなと思いました。
|
| Re: ナレッジ・パラメータの最小値 どんちゃん - 2009/05/22(Fri) 09:32 No.5589 | |
返信
|
修正・削除
|
|
|
Takeuchiさん
レスありがとうございます。 目的を明確に書いてなかったので悪かったのですが ナレッジやリアクションで書いてしまうと結果構文が長くなってしまいます。
楽で安定性が高い管理ができたら良いなと言うのが思いでした
でももしかしたらすごく短い構文で、かつパラメーターの数が増減しても追従する仕組みであれば使えるかも。
ただ、次はCATIA知識だけじゃなくマクロ知識も必要になってくるので 管理面で少しだけ懸念は残ります。 |
| Re: ナレッジ・パラメータの最小値 42歳厄年 - 2009/05/23(Sat) 19:37 No.5593 | |
返信
|
修正・削除
|
|
|
どんちゃん様
自宅ではCATIAを使用することが出来ないので、文章のみの 説明になっていまう事を予め失礼致します。
■■最小値の求め方■■ 1、各パラメータ値に対応する球体(ソリッド)を作成します。 (中心:原点、直径:各パラメータ値) 2、作成した球体全ての「積」をとります。 3、最終的に出来上がった球体の直径が最小寸法です。
■■注意事項■■ ・測定コマンドを使用しているので、小数点以下○位で誤差が生じる場合があります。 任意の桁数で丸める必要があるかもしれません。 ・無駄にブーリアン演算を行っているので、データのパフォーマンス低下が懸念されます。
■■メリット■■ ・パワーコピーを使用してパラメータを増やすという用途であるなら効果「有」と思います。 (パワーコピーを使用すれば、直接【宛先】ソリッドに「積」をすることが可能である為、手間を省く事が出来きます。) ・パラメータを削除する場合は、球体とパラメータを削除するだけなので、ナレッジ操作が不要
どんちゃん様の仕様意図に合っていましたでしょうか? |
| Re: ナレッジ・パラメータの最小値 どんちゃん - 2009/05/27(Wed) 10:14 No.5599 | |
返信
|
修正・削除
|
|
|
42歳厄年さん
返信遅くなりました。 色々手法がありますね。勉強になります。 今回のはナレッジで出せるのでナレッジをそのまま使いました。
そのナレッジの中で構文が横に長くなるのが嫌でした。 ※パス階層が深い場合に1パラメータの名前がすでに長く、それが数十個ある。。
パラメータの追加やパスの修正が大変だなぁと思っていました。 今回の解もやはりデータが不要物を持ってしまうのでちょっと意図したものではないです。
でもぜんぜん想像していなかった手法であり勉強になりました。 ありがとうございます。
|
| Re: ナレッジ・パラメータの最小値 emily - 2009/05/27(Wed) 14:09 No.5600 | |
返信
|
修正・削除
|
|
|
色々手法がありますね。勉強になります!! >※パス階層が深い場合に1パラメータの名前がすでに長く、それが数十個ある。。 >パラメータの追加やパスの修正が大変だなぁと思っていました。
という観点より思いついたんで、・・ナレッジ(式)を自動作成するマクロをUPしました。上のリンク[TIPS&USAGE]にありますので興味のあるかたはご覧下さいマセ |
| Re: ナレッジ・パラメータの最小値 42歳厄年 - 2009/05/29(Fri) 00:40 No.5602 | |
返信
|
修正・削除
|
|
|
>そのナレッジの中で構文が横に長くなるのが嫌でした。 >※パス階層が深い場合に1パラメータの名前がすでに長く、それが数十個ある。。 絶対パスのパラメータ名が長いという事でしょうか? もし、それでお困りという事でしたら、下記に記した対策方法があります。 (あくまで参考として・・・)
■参考までに ・[履歴上でパラメータを右クリック>プロパティ] の中に、そのパラメータの絶対パスが書かれている箇所があると思います。 その絶対パスを削除して【任意の文字列】を入力してみてください。 `【任意の文字列】`でナレッジを制御する事が出来ます。
■■注意事項■■ 同一名の【任意の文字列】が存在するとナレッジがうまく動作しない場合があります。 |
|