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

  1. 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.

  2. Easy, exact computation of moments, e.g. volume, center of mass, axes of inertia, …

  3. 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

  1. Download Polyhedral-net splines repo as add-on .zip file
  2. 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

Alt text

Then switch to the tab of Polyhedral-net Splines

Alt text

  

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

  1. Karčiauskas, K., & Peters, J. (2015). Smooth multi-sided blending of biquadratic splines. Computers & Graphics, 46, 172-185.
  2. Karčiauskas, K., & Peters, J. (2020). Smooth polar caps for locally quad-dominant meshes. Computer Aided Geometric Design, 81, 101908.
  3. 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)