HOW TO FIND INTERNAL FREE EDGES IN HYPERMESH BY MACRO
Hi everyone,
I have been trying lately to develop a macro to isolate or show internal free edges in a model. Lets say, i am modelling a surface with free edges, after modelling some components ( say 20-30), i would like to check if there are internal free edges or gaps within element in my models ( pls note, not the outside boundary free edges). There is ofcourse , shift+f3 function to check and it requires observing for ourselves. Is there a macro that can isolate the internal free edges as such. Like in FE Gate software, it shows the internal free edges. is it possible in hypermesh?
Thanks for answering in advance.
Answers
-
Hi.
Interior free edges will be closed to other elems so they can be detected by penetration/proximity checking.
0 -
Hi Sonu,
There is a similar script which show only free edges of the displayed components. You can download the same from https://connect.altair.com/CP/script-list.html
0 -
hi tinh and johson, thank you for your response
However, i was more looking at an automated script for internal free edges alone. the script that you refer to is equivalent to the shift+f3 function when performed to the displayed functions. and tinh, intersections sometimes fail to show internal edges bcz, the internal elements may not be connected at all.
Is there an more accurate solution. I wish i could show you , how it works in FE Gate, there is a function itself called internal free edges that isolates only free edges within the components excluding the boundary edges.
May be my explaination to the question helped you understand my question.
thanks again in advance for the answers
0 -
I am very much new to tcl .. It would be highly appreciable if anyone can help me with the logic
I have a model and it somewhat looks like the one shown in the figure. the free space shown at the centre is also not exactly as that shown in the pic. It can be of any shape. The shape of the free space can be an hole or in a zig zag manner also.
My OBJECTIVE is to fill this free space with MESH.
So my logic is to find the free edges and mesh the center free edge area. Can anyone please give me some clue how to proceed?
Is there any similar type of tcl available in script exchange?0 -
Use hm_holedetectioninit
Then use ruled mesh to fill holes
0 -
Hi Tinh,
What is the output from hm_holedetectioninit?
How can I get the nodelists to be meshed (ruled option), from the abv command?
0 -
Hi
Look it up in hypermesh reference help
There is an example there
Some posts on this forum talk about it also, please search.
0 -
Here's my test (shell mesh):
From the Doc, testing code is:
hm_holedetectioninit *createmark elems 1 all hm_holedetectionsetentities elems 1 hm_holedetectionsetholeparams hole_shape=31 hm_holedetectionfindholes 1 set n [hm_holedetectiongetnumberofholes] if { $n > 0 } { puts 'Number of holes = $n' puts 'Holes details' for {set i 0} {$i < $n} {incr i} { puts 'i = $i [hm_holedetectiongetholedetails $i]' } } else { puts 'Holes not detected.' } hm_holedetectionend
I got output:
Number of holes = 2 Holes details i = 0 0 0 {-7.5 127.6883985209 -106.066017178} {1 0 0} {nodes 1139 1140 1141 1142 1143 1144 1145 1146} 0 i = 1 0 0 {-7.5 233.7544156988 -150} {1 0 0} {nodes 1187 1188 1189 1190 1191 1192 1193 1194} 0
So you have coordinates of each center and node list of hole.
HTH,
0 -
Thank you tinh for the valuable suggestion
0 -
Hi Nguyen-Dai,
actually my objective is to close the holes. Not only holes but also what ever shape it has. I want to close the internal free edges i.e. not the free edges which is caused because of node equivalence, but all the free edges because of closed loop.
can u please help me?
0 -
My example code gives you nothing?
This is help forum, so please try & try & try & give us error message or somethoing you have tried.
If you do nothing you can wait for 'One-click' solution, it's your choice.
0 -
Above sample script can detect holes and internal free edges, too. From each node list of hole you can close it.
0 -
Altair Forum User said:
Hi Nguyen-Dai,
actually my objective is to close the holes. Not only holes but also what ever shape it has. I want to close the internal free edges i.e. not the free edges which is caused because of node equivalence, but all the free edges because of closed loop.
can u please help me?
give a try with *findloops
Hope this one solves your purpose.
0