Macha Posted December 27, 2009 Share Posted December 27, 2009 Here's a seemingly easy problem but the solution evades me. I have a bunch of simple shapes (say spheres) copied onto a cloud of scattered points. The resulting geometry has obviously got many many overlapping, intersecting polys. Is there a way to create a clean, yet precise surface out of this? I tried cookie, volumes, foreach, etc but I seem unable to create a simple, clean, light surface out of it. Any ideas? Quote Link to comment Share on other sites More sharing options...
kubabuk Posted December 27, 2009 Share Posted December 27, 2009 Have you tried to use an isoOffset sop? I find Minimum mode to work quite well in certain scenerios. isooffset_geo.hipnc Quote Link to comment Share on other sites More sharing options...
Macha Posted December 27, 2009 Author Share Posted December 27, 2009 Have you tried to use an isoOffset sop? I find Minimum mode to work quite well in certain scenerios. Thanks but I have tried all of these methods before. If you put down a delete node with a box boundary you can see inside the resulting geometry, and it is quite convoluted, especially for more complicated geometry. I have also tried running each sphere through a foreach sop with an isooffset inside, hoping to get a cleaner volume, but it doesnt help. The reason I want a clean geometry is because I would like to use a boolean operation on it (to cut through). If somehow I could find a way to let the isooffset only recognize the very first surface it encounters, and ignore all the inside geometry... Isoofset with a point cloud is the best so far but the problem with it is that I can't use a negative offset value (why not?), otherwise I could have used it as an input to create a group slightly smaller than the original geometry and use that to delete superfluous points below the surface. Quote Link to comment Share on other sites More sharing options...
kubabuk Posted December 27, 2009 Share Posted December 27, 2009 Ok, a different approach. It accumulates new element on each iteration and union-cookie it to the the base geometry. The mesh seems to be clean so it is closer to what you are after, I hope... You can get very same result with the feedback sop (proto_install) The difference is that feedback sop is time dependent. Cheers, Kuba accumulate_loop.hipnc Quote Link to comment Share on other sites More sharing options...
Macha Posted December 28, 2009 Author Share Posted December 28, 2009 Thanks Kubabuk! Lovely! That works very well indeed. Quote Link to comment Share on other sites More sharing options...
johner Posted December 28, 2009 Share Posted December 28, 2009 (edited) I have also tried running each sphere through a foreach sop with an isooffset inside, hoping to get a cleaner volume, but it doesnt help. You can use a volume-based approach with the ForEach SOP. Create a volume that is big enough to contain the copied geometry, then successively union in the SDF for each object using a VolumeMix set to Min inside the ForEach loop. Edit: so "Merge Results" is off for the ForEach SOP. Edit again: and oh yeah, isosurface the result See attached. union_volumes.hip Edited December 28, 2009 by johner Quote Link to comment Share on other sites More sharing options...
johner Posted December 28, 2009 Share Posted December 28, 2009 You can use a volume-based approach with the ForEach SOP. For what it's worth, I realized you can also do the equivalent pretty easily in VOPs, gaining multithreading and avoiding the ForEach overhead. union_volumes_vex.hip Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.