Jump to content

Imoto

Administrators
  • Content Count

    361
  • Joined

  • Last visited

  • Days Won

    19

Reputation Activity

  1. Pandurang liked a post in a topic by Imoto in How to get already created node or element set   
    Hi @Vikas Kumar
     
    Now I guess understood your point, it should be specify the poolname when get the Set handle.
    Like this -> modl$t GetSelectionSetHandle sels${t}_00${sid} "Set $sid";
     
    --- Correct example ---
    hwi OpenStack;
    set t [::post::GetT];
    hwi GetSessionHandle sess$t;
    sess$t GetProjectHandle proj$t;
    proj$t GetPageHandle page$t [proj$t GetActivePage];
    page$t GetWindowHandle wind$t [page$t GetActiveWindow];
    wind$t GetClientHandle clie$t;
    clie$t GetModelHandle modl$t [clie$t GetActiveModel];
    foreach sid [modl$t GetSelectionSetList "Set"] {
     modl$t GetSelectionSetHandle sels${t}_00${sid} "Set $sid";
     set name [sels${t}_00${sid} GetLabel];
     set list [sels${t}_00${sid} GetList];
     puts "Name = $name , IDs = $list";
    }
    hwi CloseStack;
     
    Thanks,
    Imoto
  2. Pandurang liked a post in a topic by Imoto in *createcenternode   
  3. sentan liked a post in a topic by Imoto in 物性値のリスト化や、設定した値などをコンター表示したい   
    物性値のリスト化を行ったり、何らかの設定値をコンター表示したい場合は、プルダウンメニューTools⇒MatrixBrowserをご利用下さい。
     
    下記ビデオでは、LS-DYNA形式で設定された初期ひずみ値に基づくコンター表示を行っております。
    MatrixBrowser_Contour.mp4
  4. Alex Nguyen liked a post in a topic by Imoto in 接触や荷重などを残したまま、部品を入替えたい   
    テトラ要素のサイズを変更したいという場合も、同じようにreplace機能を活用することで、元の荷重などを残したまま入れ替えることが可能です。
     
    下のビデオでは、下記の手順で作業を行っております。
    1.テトラ要素の表面にシェル作成
    2.シェル要素の節点を独立させる
    3.シェルのリメッシュ
    4.テトラ要素作成
    5.replace機能で入替え作業
    Replace_ChangeTetraMeshSize.mp4
    ※トレランス値は、必要に応じて調節して下さい。
  5. Alex Nguyen liked a post in a topic by Imoto in 接触や荷重などを残したまま、部品を入替えたい   
    設計変更などで部品が新しくなった場合に、再度接触や荷重などを定義するのは大変です。。。
     
    HyperMeshの、Modelブラウザで古い部品を選び、右クリック⇒replace機能を使うと簡単に部品を入れ替えることができます。
    replace機能で指定するのは、新しい部品(ファイルもしくは既に読み込んだコンポーネントから指定)と、トレランス(荷重などの適用範囲)を入力して、Previewボタン⇒Acceptボタンで完了です。
     
    Part-Replaceウィンドウで、入替えの成功/失敗などの状況を把握することができます。

     
    なお、replace機能では、接触、コネクター、セット、出力要求など様々な情報を一気に更新することができます。
    また、モデルブラウザで複数のコンポーネントを選んで、右クリック⇒replaceを選ぶと複数部品を一気に入れ替えることが可能です。

     
    ↓↓↓詳細なビデオはこちら(v13の頃に作られたビデオなので、変わっている箇所もあります)↓↓↓
    http://fast.wistia.net/embed/iframe/w8bcwondb4?popover=true
    ※IEでは表示できませんので、IE以外のブラウザをご利用下さい。
  6. sentan liked a post in a topic by Imoto in シェル要素から、板厚分オフセットした状態のソリッド要素を作成したい   
    こんにちは、@sentan
     
    右下のCFD cornersをsquared cornersに切り替えてみて下さい。
  7. brahmadev liked a post in a topic by Imoto in area,inertia and torsion values of cbar element   
    Hello @brahmadev
     
    Sorry I found my misstake, you are asking about CBAR, but I was consider about CBEAM.
    For the CBAR, the attribute name is little bit changed.

    Following commands should be works fine for CBAR on OptiStruct and Nastran profiles.
    AREA :                 hm_getvalue elems id=1 dataname=property.BeamSec.results_area;
     Inertia 1a :         hm_getvalue elems id=1 dataname=property.BeamSec.results_Icentroid1;
     Inertia 2a :         hm_getvalue elems id=1 dataname=property.BeamSec.results_Icentroid0;
     Inertia 12a :       hm_getvalue elems id=1 dataname=property.BeamSec.results_Icentroid2;
     Torsion :            hm_getvalue elems id=1 dataname=property.BeamSec.results_J;
     
    Thanks,
    Imoto
  8. Imoto liked a post in a topic by Tajima in Windows環境で日本語ヘルプファイルが正しく表示されない場合の対処方法   
    インターネットからダウンロードしたファイルの実行が制限されているWindows環境では日本語ヘルプ資料をInternet ExplorerやMicrosoft Edgeで表示する場合、必要なファイルへアクセスできないため正しく表示されないことがあります。その場合は以下のいずれかをお試しください。
     
    対処方法:
    1.Internet Explorer、Microsoft Edge以外のブラウザを使用する。
    2.Windows付属の解凍ツール以外で解凍する。
    3.ZIPファイルのプロパティウィンドウで全般タブに表示されている『ブロックの解除』を
    実行した後でWindows付属の解凍ツールを用いて解凍する。
  9. Bachelor22 liked a post in a topic by Imoto in Getting Maximal Stress Value   
    You can get the top 1 using Selection Set.
    Here is example.
     
    set type "node"; #element or node#
    set t [clock click];
    hwi OpenStack;
    hwi GetSessionHandle sess$t;
    sess$t GetProjectHandle proj$t;
    proj$t GetPageHandle page$t [proj$t GetActivePage];
    page$t GetWindowHandle wind$t [page$t GetActiveWindow];
    wind$t GetClientHandle clit$t;
    clit$t GetModelHandle modl$t [clit$t GetActiveModel];
    modl$t GetSelectionSetHandle set1$t [modl$t AddSelectionSet $type];
    set1$t Add "contour top 1";
    set1$t SetLabel "$type set top 1";
    clit$t Draw;
    tk_messageBox -message "Top1 $type ID = [set1$t GetList]";
    hwi CloseStack;
  10. vipin liked a post in a topic by Imoto in search a componet using loop   
    @sanket_patil
     
    Tinh is already gave you the good example:-)
     
    -Here is my example-
    # Auto property creation #
    *evaltclscript "AutoPropertyCreate.tcl" 0;
    *evaltclstring "::autoproperty::Main" 0;
     
    # Thickness update from CSV #
    set ft {{"CSV Files" .csv} {"All Files" *}};
    set fn [tk_getOpenFile -filetypes $ft];
    set fh [open $fn r];
    while {![eof $fh]} {
     gets $fh line;
     lassign [split $line ,] cid T;
     if {[hm_entityinfo exist comps $cid -byid] == "1"} {
      set pid [hm_getvalue comps id=$cid dataname=propertyid];
      *setvalue props id=$pid PSHELL_T=$T;
     }
    }
    close $fh;
     
    If you are not using PSHELL card, you have to change the attribute name.
  11. TA784 liked a post in a topic by Imoto in Warning ID 1026   
    「IN RIGID BODY DEFINTIONS」=剛体の定義に問題があるということなので、必ずこの理由ということではない可能性もありますが、恐らく1つの節点が、2つの/RBODY=剛体から参照されているかと思われます。
    /RBODYで設定している節点を見直して、2つの/RBODYから参照されている場合は、その節点を外して下さい。
  12. M. Inoue liked a post in a topic by Imoto in Tcl/Tk: CSVファイルの中身を読みたい   
    Tcl言語では、openコマンドでファイルハンドルを取得して、getsコマンドでハンドルを指定すると、1行ずつ読むことができます。
     
    openコマンドの最後を「r」にすると読み込みモード、「w」にすると書き込みモードで開きます。
    openコマンドで開いていると、他からの書き込みなどができないロック状態になりますので、最後に忘れずにcloseコマンドで閉じて下さい。

    -簡単なサンプルを用意しました。tk_messageBoxを使ったサンプルなので、sample.csv←のような短いCSVファイルで試してみて下さい。
    set ft {{"CSV Files" .csv} {"All Files" *}};
    set fn [tk_getOpenFile -filetypes $ft];
    set fh [open $fn r];
    while {![eof $fh]} {
     gets $fh line;
     set line [split $line ,];
     tk_messageBox -message "Gets = ${line}\nLength = [llength $line]";
    }
    close $fh;
     
     
    -表示イメージ-

  13. M. Inoue liked a post in a topic by Imoto in 節点結果の平均や最大値を、要素結果として扱いたい   
    HyperViewのContourパネル等にある「Averaging Method」機能は、要素結果の平均や最大値を節点結果として平均化する際にご利用いただけます。
    変位など、節点で結果を持っている結果タイプを選択した場合は、「Averaging Method」はグレーアウトします。

     

    もし、節点結果⇒要素結果に平均化をしたい場合は、HyperViewの「Derived Result」という演算機能をご利用いただくことで可能です。
    ※今回の演算関数を利用するには、結果の読み込み時の設定変更が必要です。
    ①プルダウンメニューFile⇒Open⇒Modelを選択します。
    ②Result-Math templateが"Advanced"になっていれば、④に進んで下さい。

    ③"Standard"になっている場合は、"Advanced"に切り替えて"Apply"ボタンを押して読み込み直す必要があります。
    ④プルダウンメニューResults⇒Create⇒Derived Result機能を選択します。
    ⑤LibraryをModelに切り替えて、"BCNodeToElem"関数をダブルクリックします。
    ⑥Tableの結果タイプから、目的の節点結果を選択します。
    ⑦"Insert"ボタンをクリックします。
    ⑧"OK"ボタンをクリックします。
    ⑨Contourパネルなどを選択すると、Derived Resultで式を定義する際(Expression Builder)の一番上に表示されているLabelの名前の結果が追加されていますので、その結果を選んでコンター等を描画して下さい。

    ※今回の演算では、節点の平均値が要素結果となっていますので、4角形シェルの場合、4節点の平均を要素結果として採用します。
     
    もし、要素の構成節点の最大や最小値を要素結果としたい場合は、「Aggregation mode」を変更することで可能です。
    「Aggregation mode」には、平均(average),合計(sum),最小(min),最大(max),絶対値の最大(extreme)が用意されており、何も記入しない場合のデフォルトは平均となっています。
     
    具体的には、上記例では、「BCNodeToElem( R1.V3 )」という演算式を用いていますが、最大値にする場合は、「BCNodeToElem( R1.V3 ,max)」に記述を変更して下さい。既にお分かりの通り、「,max」の代わりに「,min」=(要素を構成する節点の最小値を要素結果とする)や「,sum」=(要素を構成する節点の合計値を要素結果とする)にすると演算内容が変わります。
  14. Alex Nguyen liked a post in a topic by Imoto in ビュー方向を、局所座標系のXY平面などで表示したい   
    HyperMesh標準機能の、"XY Top Plane View"などは全て全体座標系に沿った方向で表示されます。
     
    局所座標系のXY平面からのビューにしたいという場合は、Altair Connectのスクリプトエクスチェンジに登録されているスクリプトをご利用下さい。
    ダウンロードサイト(Altair Connect)⇒https://connect.altair.com/CP/kb-view.html?kb=41233
     
    上記URLからダウンロード可能な「View By System Script」を、HyperMeshのプルダウンメニューFile⇒Run⇒Tcl/Tk Scriptから実行すると、以下のようなタブが追加されます。

     
    「Orientation System」ボタンで、局所座標系を選んでから、「left」や「right」などのボタンを押すと、その方向から表示されます。
  15. Alex Nguyen liked a post in a topic by Imoto in 2点間の距離を計測した際に、もっと詳細な値まで確認したい   
    2点間の距離を計測した際に、もっと細かい値まで確認したい。
     
    プルダウンメニューView⇒Command windowを表示して、「hm_getdistance nodes 節点番号1つ目 節点番号2つ目 座標系ID(全体座標はゼロ)」と入力して下さい。
    例えば、節点番号1番と2番の距離を測りたい場合は、下図のようにします。

  16. Alex Nguyen liked a post in a topic by Imoto in シェル要素から、板厚分オフセットした状態のソリッド要素を作成したい   
    2Dページ⇒elem offsetパネル⇒thicken shells機能で、下記の設定でシェルを選択してthickenを実行すると、プロパティや節点板厚情報などを基にシェル要素に割り当てられたから板厚分のオフセットさせたソリッド要素を作成することができます。

     
     

    ↑実行前イメージ↑
     
     

    ↑実行後イメージ↑
  17. Alex Nguyen liked a post in a topic by Imoto in 2次要素の中間節点だけを抽出したい   
    時々、2次要素の中間節点だけを抽出したいという問い合わせをいただきます。
    プルダウンメニューFile⇒Run⇒Tcl/Tk Scriptから、下記のファイルを実行すると中間節点だけを含む節点セットを作成することができます。
    HM_CreateSetFor2ndElemMidNodes.tcl
     
     
    ↓作成される節点セットイメージ↓

  18. M. Inoue liked a post in a topic by Imoto in パイプを曲げるモーフィングをしたい   
    モーフィング機能を用いて、パイプを曲げたい場合は、基準となるラインを描いた後、map to geomパネルのline difference機能を使うと便利です。
    ビデオの最後では、元のジオメトリ(CAD)も変形させています。
     
    MorphingForPipe.mp4
    Pipe.hm
  19. Sagar Motwani liked a post in a topic by Imoto in To capture element quality check display messages   
    Tinh is right, HyperMesh and HyperMesh Desktop are using different frame.
     
    @Jeffersondhv
    If you want to correspond both cases, following example can help you.
     
    if {[file tail [hm_info -appinfo SPECIFIEDPATH hm]] == "hmopengl.exe"} {
     puts [.mainFrame.bottom.message_icon config -image];
     puts [.mainFrame.bottom.message_label config -text];
    } else {
     puts [.mainFrame.bottom.leftfrm.label config -image];
     puts [.mainFrame.bottom.leftfrm.label config -text];
    }
  20. Jeffersondhv liked a post in a topic by Imoto in To capture element quality check display messages   
    Tinh is right, HyperMesh and HyperMesh Desktop are using different frame.
     
    @Jeffersondhv
    If you want to correspond both cases, following example can help you.
     
    if {[file tail [hm_info -appinfo SPECIFIEDPATH hm]] == "hmopengl.exe"} {
     puts [.mainFrame.bottom.message_icon config -image];
     puts [.mainFrame.bottom.message_label config -text];
    } else {
     puts [.mainFrame.bottom.leftfrm.label config -image];
     puts [.mainFrame.bottom.leftfrm.label config -text];
    }
  21. Pandurang liked a post in a topic by Imoto in How to judge a surface is curve surface or flat surface?   
    Hi @xiaoming
     
    Check the following things.
    ・line length vs point-point distance of each edges.
    ・normal of surface at each points.
     
    Related APIs.
    ・hm_linelength
    ・hm_getdistance
    ・hm_getsurfacenormal
  22. TA784 liked a post in a topic by Imoto in HyperWorks Solver Run Managerのインストール   
    Student Editionでは、RADIOSS Managerを起動することは出来ません。
     
    HyperMeshのAnalysisページ⇒Radiossボタンから、実行を行って下さい。

  23. tinh liked a post in a topic by Imoto in How to create a GUI workflow in HyperMesh?   
    Hi @Roy Duan
     
    1.Save as .pmt file from Process Studio.
    2.Stat the HyperMesh.
    3.View(Pulldown) -> Process Manager.
    4.Select .pmt file as Load template.

     
    Thanks,
    Imoto
  24. TA784 liked a post in a topic by Imoto in HyperWorks Solver Run Managerのインストール   
    File⇒Run⇒Tcl/Tk ScriptやCommand fileについては、HyperMeshのスクリプトを実行します。
    HyperWorksのソルバーとしては、RADIOSSやOptiStructがありますが、これらをStudent Editionから実行する場合は、Analysis⇒OptiStructやRADIOSSボタンから実行します。
    ※商用ライセンスの場合は、別の実行方法があります。
  25. Vikas Kumar liked a post in a topic by Imoto in How to get already created node or element set   
    Hi @Vikas Kumar
     
    Now I guess understood your point, it should be specify the poolname when get the Set handle.
    Like this -> modl$t GetSelectionSetHandle sels${t}_00${sid} "Set $sid";
     
    --- Correct example ---
    hwi OpenStack;
    set t [::post::GetT];
    hwi GetSessionHandle sess$t;
    sess$t GetProjectHandle proj$t;
    proj$t GetPageHandle page$t [proj$t GetActivePage];
    page$t GetWindowHandle wind$t [page$t GetActiveWindow];
    wind$t GetClientHandle clie$t;
    clie$t GetModelHandle modl$t [clie$t GetActiveModel];
    foreach sid [modl$t GetSelectionSetList "Set"] {
     modl$t GetSelectionSetHandle sels${t}_00${sid} "Set $sid";
     set name [sels${t}_00${sid} GetLabel];
     set list [sels${t}_00${sid} GetList];
     puts "Name = $name , IDs = $list";
    }
    hwi CloseStack;
     
    Thanks,
    Imoto
×
×
  • Create New...