Jump to content
zyukaiboy

要素の持つ板厚情報をCSVで出力

Recommended Posts

各要素のもつ板厚情報をCSVで出力したいです。

 

Midmesh Thicknessesで関連付けした要素の板厚情報を出力しようと

試みていますがうまくいきません・・・

 

なにか良い方法があればご教授のほどよろしくお願いいたします。

Share this post


Link to post
Share on other sites

こんにちは、@zyukaiboy

 

今回の内容であれば、Matrix Browserをご利用いただいた方が良いかと思われます。

 

Tclスクリプトで記述する場合は、下記のようになります。

set fn [tk_getSaveFile -defaultextension csv];
set fh [open $fn w];
puts $fh "ElemID(InternalID),Thickness";
*createmarkpanel elems 1 "Select elements";
*createmark elems 2 "by config" 103 104 106 108;
*markintersection elems 1 elems 2;
foreach elemid [hm_getmark elems 1] T [hm_getvalue elems mark=1 dataname=thickness] {
 puts $fh "${elemid},${T}";
}
close $fh;
hm_markclearall 1;

Share this post


Link to post
Share on other sites

ご回答ありがとうございます。

 

私はCADの板厚を自動取得し、CSVで出力するというTCLを作成中でして

この機能をうまく使用していきたいと思います。

 

追加で質問となるのですが、以前似たような質問(下記参照)がこのサイトでありそれを参考にして

Tclを作成中です。

 

しかし、これでは新規でMIDを作成しそれにプロパティを当てるという形になっています。

なんとか、COMP IDと板厚の関連付けしたいのですがなにか良い方法はないでしょうか?

 

また、板厚の自動取得を進めるに当たり、メッシュを作成する以外の手段で

取得可能な方法はありますでしょうか?

 

まだテスト段階なのですが、部品が大きいケースや部品数が多いケースでは

一気にメッシュ作成をするとマシンパワーが足りず、手動測定よりも時間がかかってしまうという事態に陥っています。

 

Share this post


Link to post
Share on other sites

こんにちは、@zyukaiboy

 

テーラードブランク材の可能性もあるため、ジオメトリのみから板厚を計測するという機能は設けておりません。

 

テーラードブランクの可能性を排除するとした場合は、下記URLのスクリプトをお試し下さい。

https://connect.altair.com/CP/kb-view.html?kb=74105

Share this post


Link to post
Share on other sites

@Imoto

 

ありがとうございます。

テーラードブランク材の可能性は排除しています。

 

最終的に出力として

ID 板厚

のリストを作成したいのですが、ご紹介いただいたスクリプトでは新たにCOMPを作成してしまいます。

新たなCOMPを作り出さずに選択したCOMPに板厚を与えることは可能でしょうか?

 

また、以前紹介していただいたMatrix Browserとても使い勝手がよく色々な場面で活躍しています。

ElemID、板厚と共にElemの属するCOMP IDを出力することは可能でしょうか?

 

よろしくお願いいたします。

Share this post


Link to post
Share on other sites

こんにちは、@zyukaiboy

 

以前紹介したスクリプトは2つのtclファイルが含まれています。
Midsurface_Creation_DelOrgSurf.tcl側をベースにして、下記の数行を消しておくのが良いと思います。

 

########## Delete original surfaces ##########
eval *createmark surfaces 2 $orgsurf;
*solid_untrim 2 1;

 

MatrixBrowserでは、要素からコンポーネントIDを表示する場合は、DatanameからCollectorを選んで下さい。

collector.jpg

Share this post


Link to post
Share on other sites

@Imoto

 

ありがとうございます。

アドバイスをいただけたおかげで、要素から板厚を取得するTclを作成することが出来ました。

 

進めていく中で不明点が出たら再度質問させていただきたく思います。

よろしくお願いいたします。

Share this post


Link to post
Share on other sites

×
×
  • Create New...