Jump to content
  • Announcements

    • Rahul Ponginan

      Please click here for a short but important announcement   03/26/17

      Dear Users Our Commercial and Academic users around the world can use these same forums here as before i.e. the Altair Support Forum , Commercial users from India with solver queries can go to the Solver Forum for India Commercial Users , Academic Users from India and AOC India Participants are requested to go to the Forum for India Academic Users and AOC India Participants , We will be tending to all queries in all the forums promptly as before, thank you for your understanding. 


  • Content count

  • Joined

  • Last visited

  • Days Won


tinh last won the day on October 20

tinh had the most liked content!

About tinh

  • Rank
    Super User

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Country
  • Interests
    Meshing-checking tools tcl/tk
  • Are you University user?

Recent Profile Visitors

7106 profile views
  1. Hi Try below set script "" foreach id $components { append script *displaynone \n "*displaycollector comps on \[hm_getcollectorname comps $id\] 1 1" \n "hm_callpanel ruled" \n } hm_setpanelproc $script
  2. set a [lreplace $a 1 1] you can redefine lremove proc like this (to use outside of hyperworks scope): proc ::lremove args { set list [lindex $args 0] set ritems [lrange $args 1 end] #set result [lmap item $list {if {[lsearch -exact $ritems $item]==-1} {set item} else continue}] set result {} foreach item $list { if {[lsearch -exact $ritems $item]==-1} {lappend result $item} } set result }
  3. Hi Use hm_attributestatus to check status of the attribute
  4. BEAM with variable section

    Please read PBEAM in optistruct help docs
  5. BEAM with variable section

    Yes, only standard sections are supported for PBEAML if you want to assign other sections, use PBEAM did you know how to create octagon section? enter 1d>hyperbeam>solid section , draw octagon by lines , select those lines and => create
  6. Yes there is no way to mesh tetra to original comp. I think there should be a tcl script for that task. Did you search it on script exchange? A same issue with linear solid mesh, and i had to make an hm template to do
  7. If you clicked then hm would save to crash.hm file then said "... saved to crash.hm" . You have to open crash.hm file. But sometimes it is failed . It means you lost your work. Try running command.tcl file from nearest *writefile line to the end ( you have to open it and copy lines from last *writefile to eof, be careful that multiple sessions can write out to same command.tcl). Good luck
  8. Hi Looks that it can be mapped as a sweep boss. Let' try it tomorrow... I found it! please refer to this mapping.hm (I think you can finish it, base on my mappings)
  9. Beam error

    Maybe direction node is concide to n1 Try update direction node of the beam
  10. I thinh there is it in force panel. Dont you see it?
  11. Do it your self based on my proc Dont ask everything
  12. Forget tolerances. Above proc work with any axial or radial tolerance But it may be slower than the fisrt proc
  13. Display element properties

    Enter card edit panel and select cbush elems then click edit card to see their properties
  14. If you posted above photos from starting, I would know that you have a variable tube mesh this proc will work with variable tube mesh (any quad-only tube mesh pattern generated by line drag) But it may not work if the tube has free edge or is shared nodes with other component! it must have 2 loops and isolated from other components! proc ::p_SelectCircumferentialNodes {{PreselectedNodeId {}}} { if {![hm_entityinfo exist nodes $PreselectedNodeId]} { *createmarkpanel nodes 1 "Pick a node on cylinder:" if {[hm_marklength nodes 1]!=1} return set PreselectedNodeId [hm_getmark nodes 1] } *createmark elems 1 "by node" $PreselectedNodeId *appendmark elems 1 "by attached" if {[catch {*findloops elems 1 0}]} { return -code error "not valid cylinder" } if {![hm_entityinfo exist comps ^loops -byname]} { return -code error "not valid cylinder" } hm_blockredraw 1; *entityhighlighting 0; hm_blockmessages 1 *nameview 1 "p_SelectCircumferentialNodes" *saveviewmask "1" 0 *displaynone *displaycollector comps on ^loops 1 1 set LoopElems [hm_elemlist id ^loops] *createmark elems 1 [lindex $LoopElems 0] *appendmark elems 1 "by attached" set Loop1 [hm_getmark elems 1] *findmark elems 1 1 1 nodes 0 2 if {[hm_checkmark nodes 2 $PreselectedNodeId]} { set Result [hm_getmark nodes 2] } else { *createmark nodes 1 "by comp name" ^loops *markdifference nodes 1 nodes 2 if {[hm_checkmark nodes 1 $PreselectedNodeId]} { set Result [hm_getmark nodes 1] } else { *restoreviewmask "1" 0 eval *createmark elems 1 $Loop1 eval *createmark nodes 1 {"by elem"} $Loop1 while 1 { *appendmark elems 1 "by adjacent" eval *createmark nodes 2 {"by elem"} [hm_getmark elems 1] if {[hm_checkmark nodes 2 $PreselectedNodeId]} { *markdifference nodes 2 nodes 1 set Result [hm_getmark nodes 2] break } else { eval *appendmark nodes 1 [hm_getmark nodes 2] } } } } *clearmarkall 1;*clearmarkall 2 *restoreviewmask "1" 0 hm_blockredraw 0; *entityhighlighting 1; hm_blockmessages 0 eval *createmark nodes 1 $Result hm_highlightmark nodes 1 h set Result }
  15. The reason is... you changed assumption I just give assumptions as mesh is a cylinder (you have multiple cylinders with different diameter), and mesh is quad only, equally (you give a mesh that not equally quad)