TCL auto self-intersection fixing
Hi,
I am working with 3D tetra meshes with small amount of self-intersections and would like to remove the intersection with tcl scripts (or command file) using HyperMesh's 'Automatic Self-intersection Fix' tool (see pic attached).
I realised that the command for checking penetration and self-intersection is *checkpenetration elements 1 0 1 1 0 0 0 0 . However, there is no command can be found for the auto-fixing feature. Any idea on this?
Many thanks,
Wensong
PS. I found on internet that the way of saving checkpenetration results is as following:
*checkpenetration elements 1 0 1 0 0 0 0 0
::hmCollisionGui::FindTreeSelection 0 0 0 0 0
*marktousermark elements 1
Could anyone please kindly explain to me what is this ::hmCollisionGui:: command and is it possible that the auto-fixing command is also under this command branch?
Answers
-
Hi,
I have attached pdf for Hmcollision check.
Regards
Rahul R
0 -
Altair Forum User said:
Hi,
I have attached pdf for Hmcollision check.
Regards
Rahul R
Hi Rahul,
Thanks for the pdf. That's very much appreciated!
I wonder if you by any chance have idea on the intersection fixing command too?
Many thanks,
Wensong
0 -
Hi,
Try this: ::hwat::utils::PenetrationCheck
0 -
Hi Prakash,
Do you have a description for this command? it appears like there are few arguments required to be filled in.
Cheers,
Wensong
0 -
Hi,
In 13.0, we have the upgraded hm_collision* APIs.
It has the features to detect the vector and depth of penetration area.Here is a sample model and Tcl script that shows how to use these APIs and get the relevant data.
Regards
Rahul R
0 -
Altair Forum User said:
Hi,
In 13.0, we have the upgraded hm_collision* APIs.
It has the features to detect the vector and depth of penetration area.Here is a sample model and Tcl script that shows how to use these APIs and get the relevant data.
Regards
Rahul R
Hi Rahul,
Yes, I am now able to get relevant information about the self-intersection elements. However, I still need to figure out a way to AUTO FIX the intersections. The reason is that I have a number of meshed to remesh and it is not practical to remove those self-intersections manually one by one.
Since HM has this auto-fixing feature in GUI (as shown in the screen shot with the original post), do you have any corresponding tcl commands for it? so that I not only can find where the element intersections happen but also to be able to fix it automatically through scripting.
I hope I explained the problem clear enough.
Cheers,
Wensong
0 -
Hi,
Unfortunately there aren't any commands yet for auto fixing intersections or penetrations.
All you can do so far is to use the tools in the penetrations panel interactively.
Regards
Rahul R
0 -
Altair Forum User said:
Hi Rahul,
Yes, I am now able to get relevant information about the self-intersection elements. However, I still need to figure out a way to AUTO FIX the intersections. The reason is that I have a number of meshed to remesh and it is not practical to remove those self-intersections manually one by one.
Since HM has this auto-fixing feature in GUI (as shown in the screen shot with the original post), do you have any corresponding tcl commands for it? so that I not only can find where the element intersections happen but also to be able to fix it automatically through scripting.
I hope I explained the problem clear enough.
Cheers,
Wensong
Hi,
if the penetration tab is existing, you can invoke auto-fix by below command:
hmCollisionGui::AutoFixDo
0 -
Altair Forum User said:
Hi,
if the penetration tab is existing, you can invoke auto-fix by below command:
hmCollisionGui::AutoFixDo
Hi Tinh,
This is truly helpful! Thank you!
I wonder if you also have any idea on how to 'select' the first item in the result tree of the penetration tab? The AutoFixDo command you provided requires the intersection item to be selected first.
This is the very last bit missing.
Cheers,
Wensong
0 -
OK it is solved.
For item selection in the result tree of penetration tab:
hmCollisionGui::FindTreeSelection 0 0 0 0 0
For autofixing of self-intersections and penetrations:
hmCollisionGui::AutoFixDo
Thank you all for your help. Hope HM scripting reference guide can be a bit more comprehensive in the future in a way that all these GUI commands are covered too.
Cheers,
Wensong
0 -
But how can we get the depth value
0