OffsetMesh function lead to Self-Intersection problem. (C++/Rhino5)

I am working the function of offsetMesh, but the result is very bad due to many faces self-interection. Anybody know how to solve this problem ?

Sometimes if you reduce polycount of the original mesh and then offset the intersections will be less or easier cleaned up using mesh tools.
My work.

Which tool can delete self-intersection parts ?
By the way, your works is splendid. are you an artist ?

There isn’t a command that removes intersecting faces. I manually delete each face and insert new ones. It’s very time consuming. I find MeshLab has better tools for offsetting cleaner meshes.

Hello, I come back. ^^
You say that MeshLab is able to process self-intersection problem.
I found VRMesh program seem to process that, but it isn’t free.

Yes after disseminating the original mesh the offset is much cleaner

Thank you for help.
It is useful to solve my problem.