Introduction
Polyhedral-net splines (PnS2) is a Blender add-on that converts quad-dominant meshes into B-spline patches. This enables artists to edit spline surfaces in real-time via the existing polyhedral modeling capabilities of Blender.
Top: input mesh, Bottom: B-spline patches generated by Polyhedral-net splines (Gray: regular Bi-2, Green: extraordinary point, Cyan: T0, Yellow: T1)
Features
- Smooth surfaces without subdividing the mesh.
(The Blender’s default subdivision and smooth operator exponentially increase the number of vertices. This can cause high computational and storage overhead for downstream operations)
Blender computes spline patch boundary normals incorrectly displaying fictitious creases. Export as igs and display
for example with FreeCAD to have these fictitious creases disappear. The surface is G1.
-
Easy, exact computation of moments, e.g. volume, center of mass, axes of inertia, …
- Preserves the polyhedral character of the input
(Polyhedral-net splines (PnS2) generalize bi-2, bi-quadratic, splines. Bi-2 splines are by default less smooth than bi-3 splines, and curvature changes more sharply.) PnS3, a different package, generalizes bi-3 C2 splines
Demo video
Installation
- Download Polyhedral-net splines repo as add-on .zip file
- Follow official add-on installation guide.
How to find the installed add-on in Blender?
Click on the small left angle bracket to expand the panel
Then switch to the tab of Polyhedral-net Splines
How to use it?
The add-on supports only a single object in the scene.
The add-on does not support highlight lines in Blender, because Blender does not correctly evaluate derivatives of splines along boundaries. Export in the add-on provided .igs format to an outside iges renderer.
Mesh inspection
Select the mesh object and click “Inspect mesh” to highlight the connectivity not supported by our algorithm.
If fixing connectivity is tricky: one step of Catmull-Clark subdivision always yields a supported configuration.
B-spline patch generaton
Select the mesh object and click “Generate Bspline Patches” to generate multiple patch objects.
This may take a few seconds for a larger mesh due to Blender’s structure creation overhead.
Please make sure axis of import mesh is Y-forward & Z-up. Otherwise patches are not aligned with the mesh.
Interactive modeling
Now the user can drag the control points to edit the shape in real-time.
Show / Hide boundary of patches
Expand “Viewport Shading” and (dis)select “Outline”.
Show / Hide faces of control polygon
Click on “View” then “Toggle Mesh Faces” to hide/show the semi-transparent control polyhedron ( = input polyhedron).
Hide patch objects
Filter out the patch objects and keep the control polygon in the scene collection list. (This does not affect the display.)
Patch coloring
Set color for patches generated by different configurations.
Export IGS File
Implemented algorithms
- Karčiauskas, K., & Peters, J. (2015). Smooth multi-sided blending of biquadratic splines. Computers & Graphics, 46, 172-185.
- Karčiauskas, K., & Peters, J. (2020). Smooth polar caps for locally quad-dominant meshes. Computer Aided Geometric Design, 81, 101908.
- Karčiauskas, K., & Peters, J. (2020). Low degree splines for locally quad-dominant meshes. Computer Aided Geometric Design, 83, 101934.
Allowable configurations
The single subdivision step will be applied automatically if any unsupported configuration is detected.
(gray: submesh / green: tensor-product splines)