Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Jeffersondhv last won the day on January 8

Jeffersondhv had the most liked content!

1 Follower

About Jeffersondhv

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Country
    United States
  • Are you University user?

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello all, I'm working with a very large assembly and one of the issues I'm facing is checking the thickness of the elements with the thickness of the real geometry. Is there a better way to do it than checking each component by visualization? Thank you
  2. I have the same issue. Is there an easier way to get that?
  3. Hello all, I'm trying to create a user interface on HM where the user can input a file and some other options to run a code. To retrieve the file path I'm using the command hwtk::openfileentry, using a -textvariable option to retrieve the input. However when I try to use the variable saved from the input it's not changing at all. The fix should be simple, but I'm not being able to make this work. Here follows the code I'm using: if { [winfo exist .geom_checker] } { destroy .geom_checker; } set textVar "Nothing" set f .geom_checker frame $f set w [hwtk::frame $f.w] pack $w -anchor nw set top [frame $f.top]; pack $top -side top -fill x -expand 0; set bottom [frame $f.bottom]; pack $bottom -side bottom -fill x -expand 0; # Return button button $bottom.button -text "return" -command hm_exitpanel -bg #C06060; pack $bottom.button -side right -anchor e -ipadx 6 -ipady 4 # ------- REFERENCE FILE # Label frame for Reference File set lbl_ref [hwtk::labelframe $w.title_ref -text "Reference STP File"] grid $lbl_ref -column 0 -row 0 -ipadx 6 -ipady 6 # pack $lbl_ref -side left -anchor nw -pady 4 set txt_file "Open file" hwtk::label $lbl_ref.l -text $txt_file hwtk::openfileentry $lbl_ref.e -textvariable textVar grid $lbl_ref.l -column 0 -row 0 -sticky w -pady 2 -padx 5 grid $lbl_ref.e -column 1 -row 0 -sticky w -pady 2 -padx 5 #grid configure $lbl_ref.e -sticky ew set cmd_btn "tk_messageBox -message $textVar -type ok" button $lbl_ref.import_ref -text $textVar -command $cmd_btn -bg #60C060 grid $lbl_ref.import_ref -column 2 -row 0 -sticky e -pady 2 -padx 5 button $bottom.run -text "Proceed" -command hm_exitpanel -bg #60C060; #grid $top.run -column 10 -row 0 -sticky e pack $bottom.run -side right -anchor ne -ipadx 6 -ipady 4 hm_framework addpanel $f "Model Info"; hm_framework drawpanel $f; Thanks in advance, Jefferson Vieira
  4. Hello brahmadev, It's been a while since I've worked with beam sections or the NASTRAN profile, but I would suggest to you looking into the matrix browser. Within the matrix browser you can see the information there is regarding all the properties the elements were assigned. From the datanames you can then identify the path for the intended information within the database. Hope this helps. Best regards
  5. Hello xiaoming, On the geometry level, you can try using the following option: If you are already creating the mesh from these surfaces, you can use the penetration tool. Hope this helps. Best regards.
  6. The big difference here stands on the specific functions HM uses, which are in a sense independent on the TCL language as it works as an additional package for the language. If you know the basics of programming and the syntax for TCL, I would suggest that you explore as much as you can the command.tcl file written by HM. This file is really useful as it records any action you do in the GUI into to a code format. Then looking at it, you can change the necessary arguments and others. To learn more about the available functions you can use with HM, please consult the "Scripts > Commands and Functions" part of the HM help. There you can understand the inputs for the HM functions and other capabilities you might be looking for. Hope this helps. Jefferson Vieira
  7. Is there any tool that would help to identify the functions that are taking the memory or just the time to execute? Something like we have for Matlab, if possible.
  8. Unfortunately I cannot post the script here. But basically it loops over every component to extract some mesh quality attributes. Functions like the following are used: *elementtestinterangle *elementtestlength hm_getthickness hm_getmass I say that it seems like HM is saving in memory more info than requested because the RAM runs out really quickly, but considering the output I'm requesting/getting, it's only creating a file with few KBs. And as the same variables are using during the loop, they should be getting overwritten, which would prevent running out of RAM. So my guess is that at each loop, each operation, HM is saving in RAM all the info related to that component, even info not requested, and as it loops through the components, the memory just keeps building up. I hope it helps clarify the situation. Thank you
  9. Hello all, I'm running a script in a very large assembly, where this script loops through every component retrieving a number of information for each of them. The information I need is not that heavy, but it seems like HM saves in its memory much more data than what I'm requesting for each component. Then it ends up crashing due to the lack of memory. Is there any way to clear HM memory while a script is running? Thank you
  10. If you want to have different properties for different elements, you need to create individual components for each element you want to vary the properties. There could be some other way to do this, but I'm not aware of it. Hope this was helpful. Best regards, Jefferson Vieira
  11. Check this post: If you're looking for something different, let us know. Best regards, Jefferson Vieira
  12. SOLVED IT From this topic I could see that the usage of hm_entityrecord can help me on this case. For documentation purposes, here follows the usage: hm_entityrecorder nodes on; <create components> hm_entityrecorder nodes off set num_nodes [hm_entityrecorder nodes count] set nodes_ids [hm_entityrecorder nodes ids]
  13. Hello guys, I have some points in my model that will be used to create connectors. In order to handle them in a proper manner, I need to transform them into nodes and them get the node IDs to create a node set. To create the nodes from the points I'm using this function: *nodecreateatpointmark 1 However this is one of the undocumented functions, thus I don't know if it has other options to use, because using as I showed does not return me the node IDs. I also tried to use hm_latestentityid but this one gives me only one node at a time and has a limitation to retrieve only the last 99 nodes and I might need more than that in most of the cases. Does anybody know a solution for this? Thanks in advance, Jefferson Vieira
  14. If no result file is written, then all the marks and node lists you create after the analysis is complete are blank. So you could try to identify if the result file exists, or simply check if these marks are blank.
  • Create New...