要素の持つ板厚情報をCSVで出力
各要素のもつ板厚情報をCSVで出力したいです。
Midmesh Thicknessesで関連付けした要素の板厚情報を出力しようと
試みていますがうまくいきません・・・
なにか良い方法があればご教授のほどよろしくお願いいたします。
Answers
-
こんにちは、@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;0 -
ご回答ありがとうございます。
私はCADの板厚を自動取得し、CSVで出力するというTCLを作成中でして
この機能をうまく使用していきたいと思います。
追加で質問となるのですが、以前似たような質問(下記参照)がこのサイトでありそれを参考にして
Tclを作成中です。
https://community.altair.com/community?id=community_question&sys_id=e3560cf61b2bd0908017dc61ec4bcb4bしかし、これでは新規でMIDを作成しそれにプロパティを当てるという形になっています。
なんとか、COMP IDと板厚の関連付けしたいのですがなにか良い方法はないでしょうか?
また、板厚の自動取得を進めるに当たり、メッシュを作成する以外の手段で
取得可能な方法はありますでしょうか?
まだテスト段階なのですが、部品が大きいケースや部品数が多いケースでは
一気にメッシュ作成をするとマシンパワーが足りず、手動測定よりも時間がかかってしまうという事態に陥っています。
0 -
こんにちは、@zyukaiboy
テーラードブランク材の可能性もあるため、ジオメトリのみから板厚を計測するという機能は設けておりません。
テーラードブランクの可能性を排除するとした場合は、下記URLのスクリプトをお試し下さい。
0 -
ありがとうございます。
テーラードブランク材の可能性は排除しています。
最終的に出力として
ID 板厚
のリストを作成したいのですが、ご紹介いただいたスクリプトでは新たにCOMPを作成してしまいます。
新たなCOMPを作り出さずに選択したCOMPに板厚を与えることは可能でしょうか?
また、以前紹介していただいたMatrix Browserとても使い勝手がよく色々な場面で活躍しています。
ElemID、板厚と共にElemの属するCOMP IDを出力することは可能でしょうか?
よろしくお願いいたします。
0 -
こんにちは、@zyukaiboy
以前紹介したスクリプトは2つのtclファイルが含まれています。
Midsurface_Creation_DelOrgSurf.tcl側をベースにして、下記の数行を消しておくのが良いと思います。########## Delete original surfaces ##########
eval *createmark surfaces 2 $orgsurf;
*solid_untrim 2 1;MatrixBrowserでは、要素からコンポーネントIDを表示する場合は、DatanameからCollectorを選んで下さい。
0