Jump to content

tinh

Members
  • Content Count

    2850
  • Joined

  • Last visited

  • Days Won

    243

Everything posted by tinh

  1. Hi When you enter the dialog "browser cinfiguration", did you see any check box named "Assembly Hierarchy"? Or you just see "Assembly"? Sorry to ask too detail because I don't have hm2019.
  2. Hi. *createmarkpanel sets 1 "Select sets:" foreach setname [hm_getvalue sets mark=1 dataname=name] { if {![hm_entityinfo exist comps $setname -byname]} { *collectorcreateonly comps $setname "" 1 } *createmark elems 1 "by set name" $setname if {[hm_marklength elems 1]} { *movemark elems 1 $setname } }
  3. Yes, you can right click on model view and a menu item will lead you to a dialog where you can tick on a check box to show assemblies
  4. That is an inovation of a certain altair's developer
  5. Above cmd just works with free lines With topo lines, must mark surfaces by comp and then mark lines by those surfs Or try using *findmark Line has no dataname for length, the only way is to iterate then compare length to filter lines with same length
  6. Depends on user profile With optistruct profile, filter mats by attributes named: E, Nu, Rho Example we will filter mats have below E NU RHO: set E 210.0 set NU 0.3 set RHO 7.9e-6 *createmark mats 1 "equal to value" \$E $E *createmark mats 2 "equal to value" \$Nu $NU *markintersection mats 1 mats 2 *createmark mats 2 "equal to value" \$Rho $RHO *markintersection mats 1 mats 2 puts "material list = [hm_getmark mats 1]"
  7. Simply, If it has error then use catch command
  8. Should be quoted "C:\Program Files\Altair\2017\hm\bin\win64>hmbatch" -tcl E:\Automatic_Mesh_Generation_Scripts\Mid_to_Export.tcl
  9. Let's say, you have check results stored in variable CheckResults You can put it to a text file by using set fpt [open summary.txt a] puts $fpt $CheckResults close $fpt After finish checking, call notepad.exe to open the file by: exec notepad.exe summary.txt
  10. Seem that before *feinputwithdata2 you are missing a *createstringarray Number 8 indicates that the array has 8 items If input reader parses 8 args but not found, it's crashed!
  11. If I were you, i will remesh its faces, then recreate tetra. Just 5 minutes.
  12. That's problem if the 2 lines are not slice the sequence in 2 equal parts. To specify mid line, i suggest you to extract parametric uv lines of each outer surface. In simple case you will get u or v as arcs, find arc centers and connect them you will get mid lines
  13. 1) 2) 3) 4) 5) Find edges on elems created in 4) and nearby contact area 6) delete a layer of elems that attached to edges found in 5) 7 )use ruled mesh to connect contact elems with remained mesh
  14. Perhaps, some nastran mats and props not supported in dyna will be deleted. Or it's maybe a bug!
  15. Hi, *nodecleartempmark just delete temp nodes but not wait for graphic to redraw. Please try using command hm_redraw before taking photo by hm_windowtofile
  16. Use CBEAM (1d>bar2)
  17. In below sample proc. I use input panel title to realize main panel that "return" button is placed on I test with HM2017. Please test it on HM Desktop also proc ::*createmarkpanel2 args { set proc [dict get [info frame [info frame]] proc] if {[string equal "{}" $args]} { set InputPanelTitle [lindex [set $proc] end] set CurrentPanelTitle [[if {[info exists ::hw::p_message_label]} {set ::hw::p_message_label} else {set ::HM_Framework::p_message_label}] cget -text] if {[string equal $CurrentPanelTitle $InputPanelTitle]} { lassign [hm_getpanelarea] PNx PNy PNw PNh place .panel_return \ -x [expr $PNx+$PNw-[.panel_return cget -width]-20] \ -y [expr $PNy+$PNh-[.panel_return cget -height]-20-[lindex [hm_getgraphicsarea] 1]] raise .panel_return } else { lower .panel_return } return } else { catch {lower .panel_return} } if {[hm_info functionlock]} return if {![winfo exists .panel_return]} { button .panel_return \ -activebackground #c06060 \ -background #c06060 \ -compound left \ -font {{MS Sans Serif} 10 normal roman} \ -foreground Black \ -height 20 \ -highlightthickness 0 \ -image [image create photo imgBlank] \ -padx 0 -pady 0 \ -text return \ -width 100 } .panel_return configure -command "*clearmark $args; hm_exitpanel" set $proc $args hm_framework registerproc $proc after_menudraw set ERCODE [catch {eval *createmarkpanel $args} RESULT INFO] hm_framework unregisterproc $proc after_menudraw return -code $ERCODE -options $INFO $RESULT }
  18. *createmark elements 1 "ComponentName" will this command select solid elems?
  19. I have a way, not official because hooking to panels is tough (it is not tk widget, it is C++). Create a tk button looks like "reject" button, bind it with a script that clear mark then call hm_exitpanel Place it over panel area just after *createmarkpanel (need to call via hm_setpanelproc) Moreover, you need to raise it again whenever panel is redrawn (if you click "nodes" to popup advsel menu) I will give an sample later.
  20. Maybe you have wrong component name, it may be Clip1, "clip 1", etc... Try script "MenuExportDeck" , right click on comps and select "Save geometry" https://forum.altair.com/topic/16835-update-hypermesh-extensions/?tab=comments#comment-30266
  21. So, Ignore nodes which are far from X axis Use createmark with option "on plane" or "by cylinder"
×
×
  • Create New...