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

zyukaiboy
zyukaiboy Altair Community Member
edited November 2020 in 質問と回答 (Q&A)

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

 

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

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

 

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

Answers

  • Imoto
    Imoto
    Altair Employee
    edited February 2019

    こんにちは、@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;

    Unable to find an attachment - read this blog

  • zyukaiboy
    zyukaiboy Altair Community Member
    edited October 2020

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

     

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

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

     

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

    Tclを作成中です。

    https://community.altair.com/community?id=community_question&sys_id=e3560cf61b2bd0908017dc61ec4bcb4b

     

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

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

     

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

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

     

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

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

     

  • Imoto
    Imoto
    Altair Employee
    edited March 2019

    こんにちは、@zyukaiboy

     

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

     

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

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

  • zyukaiboy
    zyukaiboy Altair Community Member
    edited March 2019

    @Imoto

     

    ありがとうございます。

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

     

    最終的に出力として

    ID 板厚

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

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

     

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

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

     

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

  • Imoto
    Imoto
    Altair Employee
    edited March 2019

    こんにちは、@zyukaiboy

     

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

     

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

     

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

    <?xml version="1.0" encoding="UTF-8"?>collector.jpg

  • zyukaiboy
    zyukaiboy Altair Community Member
    edited March 2019

    @Imoto

     

    ありがとうございます。

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

     

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

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