Jump to content


  • Content Count

  • Joined

  • Last visited

1 Follower

About Mubeen

  • Rank

Profile Information

  • Gender
  • Interests
    CAD, FEM.
  • Are you University user?

Recent Profile Visitors

1907 profile views
  1. Code for importing geometry in HM is as follows:


    *geomimport "auto_detect" "Z:/Users/CAD.stp" "CleanupTol=-0.01" "DoNotMergeEdges=off" "ImportBlanked=off" "ScaleFactor=1.0"


    How can I get these inputs like CAD location, tolerance, scalefactor from user when I run TCL script ?

  2. Hi tinh, I am trying to find the nodes around a free line, i.e. a line which is not an edge of (or not attached to) a surface. For example: the line id is 23 and I use the following commands to attach the nodes located within 0.1 tolerance, to this line: *createmark nodes 1 all ; *nodesassociatetogeometry 1 lines 23 0.1 ; And the output message is: A geometry entity must be selected. If I try to find/associate nodes to any free line (which is located very near to a surface), this error is returned. However if I try to find/associate nodes to any edge of a surface, it is easily done by HyperMesh. Is there any limitation for *nodesassociatetogeometry command when trying with free lines?
  3. Hi, thanks for the valuable information. I tried this Tcl command. I have surfaces 1,2,3,4,5,6 in model 1. Then I have imported another geometry model with surfaces 7,8,9,10,11,12 ..,15. Surfaces 1-4 and 7-10 are identical, but these commands (*surfacemark_duplicate_check) returned 7 8 9 10 only. I checked the documentation for this command, but couldn't find any reason why it is not returning the duplicates of these 7 8 9 10 surfaces.
  4. Hi all, I have imported a line from CATIA, into HyperMesh model (mesh). I need to find using the nodes from the mesh which are located on (near to) that line within certain tolerance. Is there any Tcl command for this purpose? At the moment, I can identify the line using its name from metadata, i.e. *createmark lines 1 "by metadata contains value" TAG Line_101 But I couldn't find any Tcl command for finding the nodes around the line on this mark. I will be very thankful for any useful information. Best regards, Mubeen
  5. Hi all, I am trying to find duplicate surfaces in a model. I couldn't find any Tcl command for searching duplicate surfaces, however there is following Tcl command from HyperMesh Desktop Reference Guide which searches faces: *createmark faces 1 all *facepreviewduplicates 1 0.1 In the status message bar, the message "5 faces are duplicate" appears. However my target is to find out the pairs of duplicate surfaces. Is it possible using HyperMesh Tcl? Best regards, Mubeen
  6. Thanks tinh, it works. The surfaces which are tagged in CATIA can now be recognized in HyperMesh.
  7. Hi all, I have imported geometry from a CATPart into HyperMesh and now I am trying to get the names of the surfaces in the model. I am using following commands and till now have no success. (I can get the IDs of surfaces e.g. 1,2,3,4 ..) *createmark surfs 1 all set surfsList [hm_getmark surfs 1] hm_getentityvalue surfs 2 name 1 -byid The first two commands return results (hm_getmark returns the IDs of surfaces: 1,2,3,4,5). However the last command (hm_getentityvalue from Reference manual) doesn't return anything at all, (not even any error). My goal is to get the names of the surfaces (via any Tcl command). I will be very thankful for any help. Best regards, Mubeen
  8. Hi all, I am searching for a Tcl command, that can allow me to save the component ids into a mark while I click on the components in HM window/display. In a model with more than 600 components, I need to create a list of component ids by clicking, then write those component ids (and property ids they have) to an external text file. Is it possible to create mark interactively by clicking on entities in display? Best regards, Mubeen.
  9. Hi all, I need to create beam elements for an already existing geometry which consists of an open channel with following features: 1. arbitrary cross section; 2. the cross section is variable along the beam length (axis), and 3. beam axis is an arbitrary curve (instead of a straight line). I have seen a tutorial in HyperMesh which give details about how to define beam by creating a section geometry (standard). However I am looking for a method to import a shell geometry into hypermesh, and ask hyperbeam to generate the beam definitions from this arbitrary geometry (beam nodes and elements). Is it possible to use hyperbeam for this purpose? Best regards, Mubeen.
  10. Hi tinh, thanks for the reply, I replaced " *createstringarray 2" with "*createstringarray 3", but the problem is not resolved i.e. *createstringarray 3 "tet: 35 $growth_rate 2 $max_size 0.8 2 0" "2d: $elem_order $elem_type 1 $elem_size_2d $min_size_2d 30 1" "pars: vol_skew=0.8 tet_clps=0.2 aspect=6 Skew=30 vol_ar=5" *tetmesh solids 1 0 elements 0 -1 1 3 doesn't work either. I tried something strange, instead. I appended the quality parameters string directly to the *tetmesh command *createstringarray 2 "tet: 35 $growth_rate 2 $max_size 0.8 2 0" "2d: $elem_order $elem_type 1 $elem_size_2d $min_size_2d 30 1" *tetmesh solids 1 0 elements 0 -1 1 2 "pars: vol_skew=0.8 tet_clps=0.2 aspect=6 Skew=30 vol_ar=5" This way, there is no error shown by Hypermesh, but I am not sure if the string parameters were used by Hypermesh during the meshing.
  11. Hi all, I am using following set of commands to detect surfaces of the holes in a solid geometry. *createmark surfaces 1 "all" *createmark surfaces 2 *createstringarray 4 "cross_sect_size_max=0 elem_size=1.5 min_elem_size=0.5 diams_ratio_max=2.5 separete_holes=1" "0.0 8.0 16 $min_size_2d" "8.0 12.0 20 1.5" "12.0 24.0 28 2.0" *prepare_solid_holes_for_meshing surfaces 1 2 1 4 *defaultremeshsurf 2 1.5 0 0 2 1 0 1 2 1.2 1.5 0.2 20 I have 2 questions regarding the above commands for tcl script. 1. in the first string, the last pair of integer parameters, i.e. "separate_holes=" doesn't work in tcl script, however if I use "separete_holes=" (i.e. wrong spellings as mentioned at one place in the documentation, then this command works, and the string is generated. 2. as expected, the output of the command *prepare_solid_holes_for_meshing surfaces 1 2 1 4 should be that all surfaces in the holes of the solid geometry, must be available on mark 2. However this is not the case, and there is no surface at mark 2. Consequently, the command *defaultremeshsurf fails, as there are no surfaces on mark 2 (as mentioned in the documentation)!! What could be the main problem here? I will be very thankful to the forum members for the answers/reasons related to these questions.
  12. Hi all, I have a question after reading the documentation: for tetra meshing using tcl command *tetmesh the script needs to use strings containing various mesh controls and parameters, e.g. "tet: ...", "2d: ...", "size_ctrl: ...", and "pars: ..." I am using following parameters in the last string "pars": "pars: vol_skew=0.8 tet_clps=0.2 aspect=6 Skew=30 vol_ar=5" However, when I run the script, Hypermesh simply fails to recognize this string, and terminates *createstringarray 2 "tet: 35 $growth_rate 2 $max_size 0.8 2 0" "2d: $elem_order $elem_type 1 $elem_size_2d $min_size_2d 30 1" "pars: vol_skew=0.8 tet_clps=0.2 aspect=6 Skew=30 vol_ar=5" *tetmesh solids 1 0 elements 0 -1 1 3 For further reference kindly see the online documentation about tetmesh: http://www.altairhyperworks.com/hwhelp/Altair/hw12.0/help//hwdref/hwdref.htm?_tetmesh.htm Anyone with some hints to the reasons for failure of this string, kindly help. Best regards, Mubeen.
  13. Thanks Ravi, the main restriction is that I have to do everything in batch mode (i.e. all tasks should run through Tcl commands). In case of very large/intricate components, the number of elements created, is certainly very huge. So for that case I need to check the elements who fail the tet collapse/aspect ratio and would like to move them to another collector "failed_elem", so for this purpose I tried to use the following commands (from examples in HyperMesh documentation): *createmark elements 1 "all" *createmark elements 2 *elementtesttetracollapse elements 1 $collapse_val 2 2 "Tetra Collapse" *collectorcreateforpartiallycontained elems 2 failed_elem 0 0 0 BUT: the last command is not available in HyperMesh 11.xx, and I found it only in HM 12.xx documentation. Is there any command/s which could serve the same purpose (i.e. moving the failed elements to another collector??** Secondly, when I used "tet remesh" for the failed components, it again issues/uses the command "*tetmesh . . . . " which was infact used for the previously generated mesh, and nothing is updated/improved (neither in interactive sessions, not in batch mode). What could be the possible alternative? I thank you again for the response. -- ** P.S: I found the following alternative command structure for this purpose, in the HM 11.xx documentation example: To move all elements from comp1 to comp2: *createmark elems 1 "by collector name" comp1*movemark elems 1 comp2
  14. Hi all, I am using tcl commands for evaluating element quality checks in batch meshing (which are accessible via F10 key in hypermesh interactive mode). The histograms/graphs for element edge max. lengths, element edge min. lengths, and element aspect ratios can be created using the commands: set aspect_ratio 5 *createmark elements 1 "all" *createmark elements 2 *elementtestaspect elements 1 $aspect_ratio 2 4 2 "Tetra Altitude Aspect" http://www.altairhyperworks.com/hwhelp/Altair/hw12.0/help/hwdref/hwdref.htm?_elementtestaltitudeaspect.htm as explained in the documentation. These commands generated the plots in interactive mode. However in batch meshing via tcl scripts I want to export these graphs, and there is no such "command image" created in command.cmf when I export these graphs in interactive mode, neither such export commands are found in the documentation. Anyone having experience/information related to this task, kindly help. Best regards, Mubeen.
  • Create New...