• Content count

  • Joined

  • Last visited

  • Days Won


tinh last won the day on March 8

tinh had the most liked content!

About tinh

  • Rank
    Super User
  • Birthday 11/04/84

Contact Methods

  • Website URL

Profile Information

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

Recent Profile Visitors

4878 profile views
  1. Hi @jcd it is due to widget stacking order. Please add raise command to the end of p_ShowMyUserPage, to push it up: proc p_ShowMyUserPage {Page} { #...... place .frmUserPage -in $frmUserMac -x 0 -y $y raise .frmUserPage }
  2. Hi, You did not supply value for "A" field in RFORCE card actually you should set A=4500, and let vector R1R2R3 in normal form (0 0 1)
  3. Hi, try another strategy *createmark elems 1 displayed lassign [hm_getboundingbox elems 1] minx miny minz maxx maxy maxz puts "minx=$minx" puts "maxx=$maxx" sorry, it's lack some arguments, should be: hm_getboundingbox elems 1 0 0 0
  4. No no, Alec you should check all dofs normally and recreate the rigids.
  5. hi, tetra is always easier than hexa, if you don't have any specific reason, use tetra model
  6. Hi, could you attach the file in a post? we can give a try.
  7. field 4 are dofs to be constrained, did you uncheck all dofs on panel 1D-rigids ?
  8. No no @sch, your axis is OK It is due to your structure. If it is a simple bar like image (1) , there is only radial disp but I think your structure is similar to (2), so when it rotates, it's bended, then axial disp is higher
  9. I think the blade is bended due to RFORCE, so z-disp is higher than radia-disp
  10. What you need to do is: - make a loop, with each component name in "led" assembly => use above code to create a new comp (led_high_xxx_..) and copy elems from old comp to new comp. - move all new comps to "led" assembly
  11. Or enter panel 2D>Split>Plate elements with option "Split all sides" it will reduce mesh size by a half
  12. Hi, example Vector is {1 0 0} then "eval *createvector 1 $Vector" will be "*createvector 1 1 0 0" if Plane is {{1 0 0} {0 0 0}} then "[join [join $Plane]]" will be "{1 0 0 0 0 0}" and "eval *createplane 1 [join [join $Plane]]" will be "*createplane 1 1 0 0 0 0 0" it is not vector product. It is tcl syntax that you can refer on tcl manual
  13. No no, jcd please remove the line : *evaltclstring("source \"C:/sample.tcl\";",0) we don't need this line, and what you have to do is create a tcl file named "hmcustom.tcl" and put it in folder .../hm/bin/win64 copy codes of proc p_ShowMyUserPage ... and paste into hmcustom.tcl so that proc will be defined everytime you open hypermesh comeback to macro file. after remove line *evaltclstring("source .... ", macroSetActivePage will work whenever you click on User button (and also Disp, Geom/Mesh,...) but when you click User button , an argument with value equal 5 will be passed to proc p_ShowMyUserPage this proc then simply know that you pressed User button and place a frame with your own buttons on the tab if you click Disp, Geom/Mesh,... buttons, the argument value is not equal to 5 and proc p_ShowMyUserPage will remove your buttons from Utility tab
  14. Hi, from HM13, you don't need to do such complex, use available functions example *createmarkpanel nodes 1 "Select nodes to project to plane:" if {[hm_marklength nodes 1]} { set Plane [hm_getplanepanel "Specify a plane:"] if {[llength $Plane]==2} { set Vector [lindex [hm_getdirectionpanel "Specify a vector:"] 0] if {[llength $Vector]==3} { *duplicatemark nodes 1 eval *createvector 1 $Vector eval *createplane 1 [join [join $Plane]] *projectmarktoplane nodes 1 1 1 1 } } }