Poly Bevel

The Ultimate Houdini node reference

Visit the Node Bible

To learn more, please log in or sign up for free to explore the Node Bible.
Write your awesome label here.

Poly Bevel

Write your awesome label here.
The Poly Bevel node will bevel edges and/or points on your mesh.
Drag to resize


Unfortunately, the poly-bevel node has a lot to be desired (as of writing Jan. 9th 2023).  When using this node, you will find many parameters that are either broken or that create bad geometry.  So, if you are having issues with this node, then it is wise to follow it with a clean SOP, fuse, or poly doctor node to ensure that your topology has not been corrupted.  

In practice, it's best to tread carefully when using this node, and make sure that you inspect each bevel before moving on.

Drag to resize

General Parameters:

Group + Group Type:

-- This group specifies which areas will receive a poly-bevel. For more info on groups, please visit the Group Node Bible entry.


Ignore Flat Edges (Coplanar Incident Polygons)

-- This toggle will try to only bevel edges that are within a certain normal angle. In other words, as the angle between two faces becomes sharper, the poly bevel will target only those areas for beveling.

Maximum Normal Angle:

-- If you look at the angle from one polygon to the next, there will be an angle which describes how much the direction has changed. This parameter is asking you, “At what angle should I bevel the edge when the faces change directions?” If the angle is less than this value, then the edge connecting those two faces will receive a bevel.

(If mode is set to Primitives, you will see these options...)

Ignore Polygon Bridge Edges

-- There is no documentation for this parameter, however, I would imagine that it gets used to ignore any groups that occurred as a result of a poly bridge operation.

Ignore Edges Shared Between Group Polygons:

-- There is also no documentation on this parameter. However, it appears that this will create a bevel on the edges surrounding a primitive group selection. This group is specified in the Group field on the node.

(If mode is set to Points, you will see these options...)

Ignore Flat Points (Coplanar Incident Polygon)

-- There is currently no documentation on this parameter. Unlike what I mentioned in the video, there is a way to see what this does by extruding an edge into a flat polygon like so:
Then, if you toggle this parameter on, you will remove the point bevel on the corners of this polygon:
In practice, I imagine that you will not need to adjust this parameter much at all (if ever)

Ignore Inline Points (Incident Polygons on Two Planes):

--  To see this in action, look at a point that’s located in the middle of a flat polygon like this:
If you try to do a point bevel, then this will occur by default:
However, if you turn on this parameter, then it will ignore it.
In general, it’s a good idea to keep this parameter on if you intend on doing point bevels.



-- This is how far out a bevel should go

Slide on Ring Edges:

-- These parameters will control how the edges slide across your mesh as they bevel. These settings are a bit confusing in how the document presents the information. In practice, it is best to switch between the different modes and settings to see if it gives you a better looking bevel. I’ve found that when bevels start to look ugly, it may help to set the mode to “Auto” and the Asymmetry Tolerance to a low value. In addition, it’s best to ignore what the documentation is saying, and see for yourself what the “Auto,” “Always,” and “Dont slide along any ring edges” do to the mesh.
   -- Auto = According to the docs, “The node chooses which edges to slide on. You can click to switch non-sliding (dotted) edges to sliding (solid) edges.” Visually speaking, see below on how the bevels are created:
    -- Always = According to the docs, “Always slide along all ring edges.” Again, see the image below on how this bevels:
    -- Never = According to the docs, “Don’t slide along any ring edges. If the selected edges don’t give enough freedom, this may not allow a fillet surface at all. You can start from this and manually click to switch non-sliding (dotted) edges to sliding (solid) edges.” And this is what it looks like:
Be very careful about setting this to the “Never” setting, however. It will create overlapping points when it kites those polygons. If you use this setting, make sure that you also accompany it with a fuse sop to merge the overlapping points.

Asymmetry Tolerance:

-- This will make the faces evenly spaced along the bevel. Turn this value down to make the polygons evenly spaced. Turn it up to preserve the original shape with asymmetrical polygons.

Always Slide-On:

-- According to the docs, “A list of ring edges the fillet can always slide on, even when Slide on ring edges is “Never”. Clicking a dotted edge adds it to this list.” In practice, if you want to specify which edges the fillet (beveled edge) is allowed to slide on, then you can use this parameter. I find that I never use this parameter.

Collisions and Limits:

Detect Collisions:

-- This allows the bevel node to detect when two sliding points meet during a bevel. If so, it is implied that it will try to stop the bevel so that it overlaps do not occur.

Restrict Sliding to Ring Edges:

-- According to the docs, “Stop sliding a point on a ring edge when it reaches the end of the edge. When this is off, the fillet will continue past the end of the edge, creating overlapping polygons.” In practice, it’s best to leave this on.

Stop Loops:

-- Never means that loops can overlap. Individually means that each loop will keep going until it collides with a point. Simultaneously means that the bevel will stop as soon as one point meets another.

When a Point Reaches End of its Slide:

-- According to the docs, “Stop the loop when a point reaches the end of the edge it’s sliding on. This is the same condition as Restrict sliding to ring edges, but where that options stops an individual point from running off an edge, this option stops the loop.” Leave this on.

When the Offset Front Pinches + Pinch Angle:

-- According to the docs, “Stop the loop when an acute angle in the offset front closes down to less than a certain number of degrees.” In practice, this does not work. Use the “Maximum Normal Angle” parameter above instead.

When the Offset Front Collides with Itself:

-- According to the docs, “Stop the loop when part of the offset front touches itself.” Leave this on.
-- None = Will remove faces
-- Solid = Create a fillet the follows the lines of the adjacent surfaces. This can be useful to sharpen viewport shading along the beveled edges.
-- Crease = Like “Solid”, but creates corner meshes. This is useful for sharpening edges on subdivided surfaces.
-- Chamfer = Create a flat fillet across the adjacent surfaces.
-- Round = Create a rounded fillet between the adjacent surfaces. Make sure to increase the number of divisions to see the rounding.
-- Number of rows in the fillet surfaces.
-- Controls roundness and outward/inward bulging of the fillet surfaces. 1 is a circular outward (convex) bulge. 0 is flat (no bulge), -1 is a circular inward (concave) bulge.


-- When Shape is “Round”, whether to apply a custom cross-section shape to the fillet.
-- Ramp = Create a custom cross-section using a Ramp parameter.
-- Curve = According to the docs, “Use a curve connected to this node’s second input as a custom cross-section. The node will automatically flatten the curve to its closest plane. It then fits the start and end of the curve to the start and end of the profile, scaling the rest of the curve to match. The Symmetrize, Scale, and Convexity controls affect the curve profile just like they do round and ramp profiles. Note that non-symmetrized curve profiles are extremely hard for the node to merge at three-way corners. The node will do its best, but often there is simply no room to merge the profiles together without self-intersection/overlap.” In practice, I would recommend relying on the ramp if you’re trying to create a custom shape when beveling. Also, be careful of intersecting geometry.

Profile Control:

-- Scale = This will determine how much the ramp/curve is applied to the beveled faces. A negative scale will invert the direction.
-- Reverse = This will also invert the direction
-- Symmetrize = When you look at the ramp, you are looking at one mirrored half of the actual curve that’s generated. In my opinion, this parameter is unnecessary and adds to the confusion. Turn it off and just the ramp shape directly.
-- Direction Override = According to the docs, “A list of edges to flip the default profile direction on. You can click an arrow handle on an edge with a non-symmetrized profile to flip the profile on that edge/loop. Doing so adds the edge to this parameter.”
-- Flat Edge Profile Boost = There is no documentation on this parameter, so I imagine that this is something the devs were playing with, but didn’t get to explaining. In practice, I would suggest turning it off.

Output Groups:

Watch the video above at 11:26 to visually preview what these groups are describing.

Drag to resize