Jump to content
amethyst

局所座標系での表面メッシュの円範囲選択

Recommended Posts

お世話になっております。

 

ボルト穴のサイズを変更するための前処理として、選択した複製先の穴の中心ノードを用いて旧ボルト穴の存在する表面のエレメントをスクリプトで取得したいです。モデルが直交座標系から傾いている場合にその傾きに対応できる円範囲選択の記述方法の質問となります。

使用の場面として取得したelementのマスク後にreverseallすることで表面のメッシュだけを表示し処理します。新ボルト穴の平面と複製先の面は平行であるという前提です。

現在は "by face"を使わず、createmarkの"by cylinder"をオプションにし、

	*createmark elem 1 "by cylinder" $X $Y $Z $X $Y [expr $Z + 0.01] 1000 1 inside 1 1 0.01 ;#数値誤差のための厚み0.01 XYZは複製先の穴の中心ノードの座標
	*maskentitymark elems 1 0 ;#マスク

のように複数のノードをforeachで回すたび毎に取得とマスクをしているのですが、この記述では面が直交座標系と平行であるとは限らないため、モデルが傾くと期待通りに取得できません。

そこで局所座標系を用いて、新ボルト穴の面から局所座標を取得して利用するとのことで3点を選択し、

#局所座標系の作成
*createmark nodes 1 $originPoint
*systemcreate 1 0 $originPoint "x-axis" $Point1 "xy plane" $Point2

#局所座標系へのアサイン
foreach node $SelectNodes {
*createmark nodes 2 $node
*systemsetreference nodes 2 1
*systemsetanalysis nodes 2 1
}

のように作成して移動先のノードをアサインしました。

その後、局所座標系を利用した場合のoption等をどのように設定すれば傾きに合わせて平面のエレメントを取得できるのか分からず質問させていただきました。

 

Share this post


Link to post
Share on other sites

こんにちは、@amethyst

 

hm_getvalueで取得できる節点のData nameでは、x, y, zが参照座標系からの座標値、globalx, globaly, globalzが全体座標系からの座標値となっていますので、必要に応じて使い分けていただくのが良いかと思われます。

 

今回、ボルトのモデル化に、1Dページ⇒connectorsパネル⇒bolt機能は利用されていますか?
コネクターが使われているのであれば、部品のリプレース機能で部品入れ替え後に、コネクターのリアライズ(再接続)を実行するだけで完結できると思われます。

amethyst likes this

Share this post


Link to post
Share on other sites

こんにちは、@Imotoさん。

 

取得した配置先の中心ノードのXYZの値に対して外積を計算して加算することで傾きに対応することができました。

今回のスクリプトは依頼されたもので、おそらく教えていただいた機能が使われていない場合を想定してのものだと思います。

 

この度はありがとうございました。

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...