boolean and merge nodes in loop creates multiple copies on top of themselves

   3963   2   0
User Avatar
Member
102 posts
Joined:
Offline
Hello everyone,

I have an issue that I have no idea of how to fix. Basically I want to copy/bool some geometry onto some other geometry. I want to do this in a for loop, because I want to manipulate the geo to be copied per loop iteration, and I want the sum total geo to “grow” outwards.
The problem I have is that I cannot seem to create clean geometry. When using boolean for the operation I noticed that
it does not seem to bool away (used union operation) the areas on the inside. You can see the issue in the attached example file. This can be seen as the result of the loop, but if one looks inside the loop things look clean. I then noticed that outside the loop I have multiple prims on top of each other (if you turn on primnumbers its easy to see). So the boolean operation or the for loop or whatever it is seems to add the old geo to the new in addition to the bool. The same issue persists if I put in a merge instead of the boolean operator.
For the life of me, I cannot figure out what it is that is actually going wrong here.

Can someone spot the mistake and explain to me what is causing the issue, and how to fix it?
Help would be deeply appreciated!

Thanks,

Doug

Attachments:
copy_issue_v001.hiplc (85.9 KB)

User Avatar
Member
9242 posts
Joined: July 2007
Offline
it's because your loop is set to merge the results, you can imagine it as every iteration producing a separate geo and all of them are merged in the end

so just change Gather Method on repeat_end2 to Feedback Each Iteration
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
102 posts
Joined:
Offline
Thanks for your answer tamte!
That makes sense, and takes care of half the issue. However I still do not get clean geo out of the loop. In the example file everything works, probably because the geo is very simple. In my actual production file I do not get it to work. What happens is that the boolean does its job insofar as making a union, meaning it merges and connects the meshes, but it does not delete the “inner” parts, and I need it to, because I have to scatter points on the surface of the resulting object (from the bool), and if the inner parts are still there the whole thing will grow inwards as well as outwards, which of course I don't want.

So do you, or someone else, know why this could happen? Does the boolean node only work correctly on very simple, convex geometry, or is there still a way to get things to work in complex cases?

I have attached a couple of closeups from my actual file to show what I mean.

Thanks
Doug

Attachments:
object_outside.PNG (569.0 KB)
object_inside.PNG (675.7 KB)

  • Quick Links