making polybevel work with booleans

   3858   14   5
User Avatar
Member
8 posts
Joined: March 2020
Offline
Hi there,

I've been searching high and low for advice on how to polybevel edges successfully for boolean cuts. The objects I'm using are fairly organic (no flat surfaces). Here's an example before beveling:



I'm exporting the abseams from the boolean node and using them my polybevel. Because of the fairly dense topology of the resulting objects, for me to make a visible bevel I have to turn off detect collisions and allow edges to slide without being stopped.

But when I do that, I get badly intersecting polygons. Which I suppose should be an expected result.

For example, here's the front cut of the same model after being beveled:




I took a few steps back and tried a boolean between a flattened tube and a tube oriented perpendicular to it.






Yet as soon as I start beveling the seams between objects, everything blows up again and I get intersecting polys.




Here's the network view.




When I use a dissolve to remove inner curves on the non-cutter object it gives me okay results but it ruins the topology for that object.

Before I go to the laborious process of just retopologizing the boolean so I can get nice bevels, am I missing something? The boolean tool is pretty awesome. It's just frustrating not to be able to use the results for beveling.

Thanks,

Ted

P.S. here's the simple file with the two tubes.
Image Not Found
Edited by ted33 - April 28, 2020 00:49:36

Attachments:
boolean bevel test.hiplc (118.3 KB)
07_blowup.JPG (133.6 KB)
06_finalObject.JPG (90.1 KB)
01_flattenedCylinder.JPG (176.6 KB)
02_cutter.JPG (79.5 KB)
03_cutMade.JPG (181.3 KB)
04a_shadedBevel.JPG (96.4 KB)
05_network.JPG (27.3 KB)
boolean bevel test.hiplc (118.3 KB)

User Avatar
Member
334 posts
Joined: April 2018
Online
Your options are
- Manual retopology
- Quad Remesher: https://exoside.com/quadremesher/ [exoside.com]
- Using a round edges shader
- VDBs
User Avatar
Member
40 posts
Joined: Aug. 2018
Offline
Some potential pointers below… (done with H17.5)
it looks a tad convoluted I know, but it does get me clean beveled booleans with different meshes, and would not long nor hard to setup as HDA/subnet tool I guess.

Sorry I can't send files ATM, from my work comp. just pictures, but I hope it helps a bit at least. I tried to comment the nodes.
Edited by Herve - April 28, 2020 07:10:42

Attachments:
2020-04-28_130142.jpg (231.3 KB)
2020-04-28_125644.jpg (21.7 KB)
2020-04-28_130948.jpg (29.8 KB)

User Avatar
Member
711 posts
Joined: July 2005
Offline
Another option is vux's Modeler plugin, specifically the Soft Booleans part of it.
https://www.sidefx.com/forum/topic/72980/ [www.sidefx.com]
User Avatar
Member
8 posts
Joined: March 2020
Offline
eikonoklastes
Your options are
- Manual retopology
- Quad Remesher: https://exoside.com/quadremesher/ [exoside.com]
- Using a round edges shader
- VDBs

Thank you DaJuice. I hadn't thought of round edges. That's a great idea. But quadremesher looks even better.
User Avatar
Member
8 posts
Joined: March 2020
Offline
Herve
Some potential pointers below… (done with H17.5)
it looks a tad convoluted I know, but it does get me clean beveled booleans with different meshes, and would not long nor hard to setup as HDA/subnet tool I guess.

Sorry I can't send files ATM, from my work comp. just pictures, but I hope it helps a bit at least. I tried to comment the nodes.

Wow, Herve - I really appreciate you putting so much time into this. Your network is very easy to follow and I will re-create it now. Thank you!

Ted
User Avatar
Member
8 posts
Joined: March 2020
Offline
DaJuice
Another option is vux's Modeler plugin, specifically the Soft Booleans part of it.
https://www.sidefx.com/forum/topic/72980/ [www.sidefx.com]

You're right - Modeler looks like a great option. After I try Herve's solution I may purchase this just because it looks like there are many other options that could speed things up for me.

Thank you!

Ted
User Avatar
Member
320 posts
Joined: May 2016
Offline
I came up with a solution if it works for you. one you do the boolean, do a polyextrude on those inner surfaces then select those resulting edges and do your bevel. I've attached your modified file
Edited by bobc4d - April 28, 2020 20:17:12

Attachments:
boolean bevel test.png (187.8 KB)
boolean bevel test.hiplc (127.9 KB)

User Avatar
Member
8 posts
Joined: March 2020
Offline
bobc4d
I came up with a solution if it works for you. one you do the boolean, do a polyextrude on those inner surfaces then select those resulting edges and do your bevel. I've attached your modified file

Thanks very much bobc4d. I appreciate you the posting file. I tried it and unfortunately when I expand the bevels to the distance I need, things start to break. I've attached a shot of what happens.




I probably should have mentioned it in my original post but I need the resulting bevels to be fairly wide.

Attachments:
bevel break.JPG (88.5 KB)

User Avatar
Member
8 posts
Joined: March 2020
Offline
Herve
Some potential pointers below… (done with H17.5)
it looks a tad convoluted I know, but it does get me clean beveled booleans with different meshes, and would not long nor hard to setup as HDA/subnet tool I guess.

Sorry I can't send files ATM, from my work comp. just pictures, but I hope it helps a bit at least. I tried to comment the nodes.

Hi Herve,

I've done my best to recreate your file. As soon as I get to the polybevel I get a crash every time.




I've attached the file as well prior to adding the polybevel. I hate to impose but do you have an idea for why this might happen? I'm using version 18.0.416.

Thanks!

Ted

Image Not Found

Attachments:
crash.JPG (268.2 KB)
boolean bevel test v2.hiplc (124.9 KB)

User Avatar
Member
40 posts
Joined: Aug. 2018
Offline
yeah, that crash is probably just because the fuse snap distance was too low in your test. the difficulty is that we have to find the sweet spot… too low and the booleans are not cleaned enough, too high and we don't get a decent bevel later on AND lose the “correcting” work of the ray node.

I did a new version that actually is a tad more accommodating, since you said that you wanted wider bevels. attaching the file this time (H17.5 here, so… caveat; polybevel is different, not sure if that impacts thing much though…).


bobc4d's elegant approach might be worth a second try. it brings the non negligible advantage of being more direct than mine; the polyextrude node can even use the binsidea prim group from the boolean node. it probably just needs a similar fuse/divide massage to help beveling though.

in any case, a fun little exercise…

Regards,
- Hervé.
Edited by Herve - April 30, 2020 07:34:40

Attachments:
boolean_bevel_test2.hiplc (139.0 KB)
bevelBools02.jpg (192.4 KB)

User Avatar
Member
8 posts
Joined: March 2020
Offline
Herve
yeah, that crash is probably just because the fuse snap distance was too low in your test. the difficulty is that we have to find the sweet spot… too low and the booleans are not cleaned enough, too high and we don't get a decent bevel later on AND lose the “correcting” work of the ray node.

I did a new version that actually is a tad more accommodating, since you said that you wanted wider bevels. attaching the file this time (H17.5 here, so… caveat; polybevel is different, not sure if that impacts thing much though…).


bobc4d's elegant approach might be worth a second try. it brings the non negligible advantage of being more direct than mine; the polyextrude node can even use the binsidea prim group from the boolean node. it probably just needs a similar fuse/divide massage to help beveling though.

in any case, a fun little exercise…

Regards,
- Hervé.

Hi Herve,

This is so incredibly helpful. Thank you VERY much for taking the time to put together the file and for creating such excellent documentation inside the node network. I learned a lot and also got a great solution at the same time.

You rock!

Ted
User Avatar
Member
182 posts
Joined: April 2009
Offline
You could also try to fake a fillet with another boolean made from its own intersection.
It's a bit hacky, but for your case it might cut it (bad pun intended).


A 4-sided polywire from the seam can work too, if you're fine with a straight bevel.
( see hip file )
Edited by blackpixel - May 3, 2020 00:53:53

Attachments:
bool_edge.jpg (72.6 KB)
boolean_bevel_test_booledges.hiplc (159.3 KB)

User Avatar
Member
8 posts
Joined: March 2020
Offline
blackpixel
You could also try to fake a fillet with another boolean made from its own intersection.
It's a bit hacky, but for your case it might cut it (bad pun intended).
Image Not Found


A 4-sided polywire from the seam can work too, if you're fine with a straight bevel.
( see hip file )
That's a great idea! And thank you very much for providing the file. Checking it out right now.

Ted
User Avatar
Member
255 posts
Joined: Sept. 2012
Offline
blackpixel
You could also try to fake a fillet with another boolean made from its own intersection.
It's a bit hacky, but for your case it might cut it (bad pun intended).
Image Not Found


Yes a bit hacky but great

Is there any reason when you want to pay the cost of a second boolean in the first method instead of just extracting the ABseam edge group from the first boolean. I tried and get same result but at a lighter cost.

Or did i miss something?

________________________________________________________________
Vincent Thomas   (VFX and Art since 1998)
Senior Env artist & Houdini generalist & Senior Lighting & Creative Concepts
 http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
Vincent Thomas   (VFX and Art since 1998)
Senior Env and Lighting  artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
  • Quick Links