sphereneRHINO Documentation

Last Change: 2024-04-26 #dba


Introduction

The spherene integration for Rhino, sphereneRHINO is a powerful design tool that enables you to design and create spherene™ metamaterial, a new class of minimal surfaces based on Adaptive Density Minimal Surface (ADMS) geometry.

v1_Rhino_spherene_UI.jpg

With sphereneRHINO, you can locally tweak the density, thickness and more, while retaining the inherent properties of a minimal surface (zero mean curvature). This adaptability extends to conforming with surrounding geometry, making spherene a versatile choice for various 3D printing methods.

Refer our Nomenclature for a description of terms we mention throughout this documentation.

Spherene™ metamaterial Key Features:

  • Isotropy: Optimal Stress Dispersion
  • Redundancy: High Failure Tolerance
  • Surface Conformity: Industry's Only Surface Conformal Minimal Surface
  • Rapid Iteration: sphereneRHINO, fast & user-friendly design tools to accelerate your workflow, conserve time, and prioritize your design vision

Isotropy: Gyroid vs. spherene comparison:
sphereneDeck_Gyroid_vs_ADMS_2_whiteBG.jpg

Density grading:
screen_density_gradientq.jpg

Thickness grading:
screen_thickness_gradientq.jpg

`sphe_add_boundary`Boundary skinning:
screen_boundary.jpg

Parameter combination:
8040_parameter_cross_titleq.jpg


Video Tutorial Series

Explore our growing tutorial series on Youtube.

The following video (made using the alpha version, some things might have changed) provides an overview of the spherene design tools, a live demo, the technology behind it, and how to get support through our Discord Channel.


Community & Support on Discord

Join our Discord Channel for support, bug reports, feature requests, and showcasing your work.

Discord


Installation

System Requirements

  • Rhino V7 or later
  • Internet connection
  • Windows 10+ / MacOS X 14+, 32GB RAM

sphereneRHINO Installation & Updates

Installing sphereneRHINO:

  1. Open Rhino3D and enter packagemanager in the command line.
  2. Search for sphereneRHINO, select the plugin, and click the "Install" button.
  3. Restart Rhino

Updating spherene:

  1. For updates, revisit the packagemanager, select the Installed Tab, select sphereneRHINO and check for new versions, install if available.
  2. Restart Rhino.

Toolbar Installation

spherene_toolbar_final.jpg

Rhino 7
  1. Download the Toolbar (Right click, Save):
    spherene Rhino 7 Toolbar
  2. Drag & drop the downloaded .RUI file from your file explorer into Rhino 7

Position the toolbar to your liking.

Rhino 8
  1. Download the Toolbar (Right click, Save):
    spherene Rhino 8 Toolbar
  2. Open Rhino3D and enter Toolbar in the command line.
  3. In the pop up menu select File | Open, open the downloaded .RUI file
  4. Select spherene from the dropdown menu
  5. Check the spherene checkbox

Close the menu and position the toolbar to your liking.

First Use: spherene User Account Creation

  1. After installation, create a MeshBox anywhere in the viewport

  2. sphe_project_new2.svg or write sphe_project_new in the command line

  3. Enter a project name

  4. Select the meshbox

  5. sphe_compute122.svg or write sphe_compute in the command line.

  6. Follow the popup guide to create an account, verify your email, copy and enter the API key in the Compute popup window.

    If you have closed Rhino you can enter the API key with the command sphe_store_api_key


Quickstart

  1. Create a MeshSphere at 0,0,0 with a diameter 60mm.
  2. sphe_project_new2.svg or write sphe_project_new in the command line
  3. Following the instructions, enter a project name, select the meshsphere, press enter.
    (Your layers are now populated with the project and a blue TextDot appears in the viewport, representing a density point.
  4. sphe_compute122.svg or write sphe_compute in the command line.
  5. Adjust settings (Single Surface / Solid Surface) if you like, and click Compute.
  6. After computation, view the result in the "spherenes" layer. Hide the meshes layer for a better view at the result.

Here's the process using an older alpha version:


Command Reference

sphe_toolbar.png

Project Commands

Project Structure
Projects are contained in layers. A Rhino scene can contain multiple projects.
You can switch between projects using sphe_project_select1w.svg or by entering sphe_project_select in the command line.

v1_project_structure.jpg

Projects are structured as follows:

  • PROJECT NAME
    • MESHES
      • ENV
      • DFENV
      • BOUNDARIES
    • FIELDS
      • DENSITY
      • THICKNESS
      • CAVITY
      • SURFACE BIAS
    • SPHERENES (Results)
      • PARTNAME
        • SINGLE SURFACE (si)
        • SOLID SURFACE (SO)
        • COMMENTS
        • MESSAGES

sphe_project_select

sphe_project_select1w.svg
Select and activate project from available projects in this scene.

Usage
Changes the active project.

Steps
Select the active project from the list.

sphe_project_new

sphe_project_new2 1.svg
Select an Envelope mesh to create a new project.

Usage
Initiates a new project by prompting for a project name and the selection of the envelope mesh. It then adds the envelope mesh (sphe_env) in the "mesh/env" layer to the project.

Specifications

  • A Rhino file can contain multiple projects.
  • A spherene project is represented in common Rhino layers.
  • spherene depends on the layer naming that is set by the plugin when creating a new project.
  • Control geometry objects are automatically named and placed into specific layers when creating them using any of the Control Geometry commands.
  • Computed results will be populated in the spherenes layer

Steps

  1. Specify the project name.
  2. Select the envelope mesh. (Change the copy flag to your liking)

sphe_compute

sphe_compute122 1.svg
Adjust settings and start computation.
v1_compute_window.jpg

The sphe_compute command triggers the computation of spherene based on the defined parameters and control geometries in your project. This is where your part get processed using ADMS technology to generate the spherene geometry.

Usage
To initiate the computation of spherene, type sphe_compute in the Rhino command line or click sphe_compute122 1.svg.

Parameters:
Attribute Value Default Unit
Density Reference Thickness (DRT) 0.1< 0.4 mm
Random Seed 1-99999999 1 Integer
Single Surface (si) True/False True Boolean
Colorize si None Colorize Vertex Color
Mean Curvature Vertex Color
Overhangs Vertex Color
Density Vertex Color
Surface Bias Vertex Color
Thickness Vertex Color
Solid Surface (SO) Draft / Production Draft Boolean
Colorize SO Multiple Labyrinth Color Schemes Colorize Vertex Color
Overhangs Vertex Color
Part Name Custom Text Text
Part Version Custom Text Text
Comment Custom Text Text
Maximum Execution Time 1-45 10 Minutes

Description
This command computes the spherene with the specified parameters.

  • density_reference_thickness sets the reference wall thickness if no thickness field is present (Constant wall thickness). Density Reference Thickness (DRT)
  • Single Surface (si) generates a "paper thin" geometry with no wall thickness
  • Solid Surface (SO) parameter generates a solid geometry. You can toggle between draft, and production quality.
  • Colorize defines a vertex coloring method.
  • Enter custom text to organize your work using Part Name, Part Version and Comment These custom texts will be reflected in the resulting layer names after computation.
  • The max_time parameter sets a computation time constraint.

Tips

  • To iterate faster, you can work generating single surfaces or working in draft mode (Default) for solid surfaces. When ready to compute the production geometry for 3D printing, switch to "production" to get a higher resolution and smoother result.

    Draft vs Production Comparison

    Left: Draft, Right: Production

Density Reference Thickness (DRT)

  • If no Thickness Field Points are present, DRT defines the wall thickness.
  • If no Thickness Field Points are present and the Density Field Points has only one point (Default), the volume fraction of the solid corresponds to the density value stated in the density field point.
  • The higher the DRT, the less complex (Less genus) is the result.
  • The lower the DRT, the more complex the surface becomes and the computation time rises.

Control Geometry Commands

Envelope (env) Definition

Usage
The envelope, denoted as env, describes the outermost surface of the geometry. It's the primary input geometry from which a spherene is generated.

When creating a new project, the env is placed in the meshes/env layer and named sphe_envautomatically.

Specifications

  • Only one env can exist per project.
  • Is user-chosen when creating a new project.
  • Describes the geometry of an object (the outermost surface).
  • Is a triangulated solid.
  • Is used for trimming the raw ADMS.

Envelope

sphe_add_dfenv

sphe_add_dfenv2.svg
Use modifier mesh to define and generate spherene, then trim with env:
(1) control the outer spherene appearance (larger object), and/or
(2) ignore details (simplified geometry)

Usage
Adds a Defeatured Envelope (sphe_dfenv) to the meshes/dfenv layer of your project, which is a simplified shape completely encompassing env, used to grow spherene further outside of the env to vary the target connection angle (Change the look from volcano to spiderweb).

Specifications

  • Only one dfenv can exist per project
  • Simplified shape completely encompassing env (Can not intersect env).
  • Used to grow ADMS further outside of the env to vary the target connection angle from being perpendicular to arbitrary, resulting in different looks.

Examples

  • Without dfenv: Volcano
    Volcano
  • With dfenv: Spiderweb
    Spiderweb

sphe_add_boundary

sphe_add_boundary2.svg
Use modifier mesh to define regions where to:
(1) thicken spherene, close front, back or both labyrinths
(2) create and control smooth transitions
(3) use open or closed mesh, fully or partially inside of Env

Usage
Adds a Boundary (sphe_boundary) to the meshes/boundaries layer of your project. It is a polygon surface or polygon solid that grows and thickens the spherene towards that surface or parts of the labyrinths, applying a wall thickness and a blend distance.

Specifications:

  • Can be one or multiple meshes
  • Is a triangulated surface or a triangulated solid
  • Ideally follows env surface or is part of a trimmed env
  • Can be positioned freely
  • Grows and thickens spherene towards that surface or the front/back face of the labyrinths, applying a wall thickness and a blend distance.

Parameters
Change boundary settings in the user attribute panel
v1_boundary_properties_attribute_user_text.jpg

Parameter Value Default Unit
Hull Thickness 0 < 0 mm
Blend Thickness 0.1 < 1.2 mm
Blend Distance 0.1 < 0.6 mm
Blend Exponent 0.1 - 1 0.125
Back Face True / False True Boolean
Front Face True / False True Boolean

v1_doc_boundaries.jpg

Examples
Boundary used to thicken spherene:
xmpl_boundaries_thickness.png

Boundary Mesh Input:
v1_xmpl_boundary_boundary_mesh.jpg

Front Face False, Back Face True:
v1_xmpl_boundary_Front_False.jpg

Front Face True, Back Face False:
v1_xmpl_boundary_Back_False.jpg

Front & Back Face True:
v1_xmpl_boundary_All_True.jpg


Field Point Commands

sphe_add_field_point

sphe_add_field_point1.svg
Density [%], Thickness [mm], Surface Bias [±1], Cavity [radius, mm]

Usage
Adds a Field Point to the project. A field is essentially a function that is calculated at a particular point in space.

Double click a field point or edit its value in the properties/dot:
img/properties_popup_dot_field_point.png

img/properties_dot_field_point.png

Parameters

  • Type: Density, Thickness, Surface Bias, Cavity
  • Value: Variable based on Type
  • Position: Place and position point in 3D viewport
Density
Attribute Value Default Unit
Color Cyan
Range 1 < 5.6 Volume Fraction
Thickness
Attribute Value Default Unit
Color Magenta
Range 0.1 < Density Reference Thickness (DRT) mm
Surface Bias
Attribute Value Default
Color Yellow
Range -1 to 1 0
Cavity
Attribute Value Default Unit
Value (radius) 0 < 11 mm

Examples
Density Field: Controlling the density:

Density Field Example

Thickness Field: Controlling the wall thickness:

Thickness Field Example

Surface Bias Field: Shifting the Single Surface (si), minimal surface, to the negative or positive of its normal:

Surface Bias Field Example

Cavity: Adds a cavity (Value is a radius) at the point location to push the minimal surface away:

Cavity Point Example

sphe_restore_input

sphe_restore_IO 1.svg
Re-create input project by selecting a result mesh in your scene.

Use this to re-create the project of a specific result, including all settings.

sphe_restore_output

sphe_restore_IO 1.svg
Download results not yet in your scene.

Use this to retrieve computed results in case you have closed Rhino during computation or when Rhino has crashed before you receiver a computed result.


spherenes (Result)

Single Surface (si)

Paper thin, minimal surface / 2D ADMS:

Single Surface Result

Solid Surface (SO)

A solid derived from a surface. Appears (almost) identical to the surface, but has added wall width:

Solid Surface Result


Nomenclature

In sphereneRHINO, several unique terms and components are used to define and control the geometry. Understanding these terms is crucial for effectively utilizing the tool. Below is an introduction to these components:

ADMS (Adaptive Density Minimal Surface)

ADMS is a unique geometry approach employed by spherene, representing a novel class of minimal surfaces. It enables the generation of structures with localized adjustments to density and thickness while retaining the properties of a minimal surface (zero mean curvature). This geometry adapts to the surrounding geometry and provides two independent chambers (labyrinths) without enclosed spaces, making it suitable for all 3D printing methods. The key advantages of ADMS include easy powder/resin evacuation, support-free 3D printing, high stiffness with little material use, reduced energy consumption, and a lower carbon footprint.

spherene / spherenes

spherene is the metamaterial structure computed using the ADMS technology.

There is an infinite amount of spherenes, each spherene that you create is unique.

Envelope (env)

  • The primary input geometry from which spherene is generated.
  • Describes the outermost surface of the geometry.
  • Only one env can exist per project.
  • Is a triangulated solid used for trimming the raw ADMS.

Defeatured Envelope (dfenv)

  • A simplified shape completely encompassing env.
  • Utilized to grow ADMS further outside of the env to vary the target connection angle from being perpendicular to arbitrary, resulting in different looks.

Boundary (boundary)

  • One or multiple meshes used as a triangulated surface or a triangulated solid.
  • Ideally follows env surface or is part of a trimmed env.
  • Can be positioned freely and grows and thickens ADMS towards that surface, applying a wall thickness and a blend distance. Labyrinths can be selectively be closed.

Field Points

  • A function calculated at a particular point in space, with different types such as density field, thickness field, cavity and surface bias field.
  • If only one field point for density, thickness, cavity or surface bias is set, is will be evaluated as a constant field.
  • More field points will be interpolated between the point locations.

Density Field Points

  • Set the density at the point location.
  • The higher the Density Reference Thickness (DRT), the less complex the result.

Thickness Field Points

  • Set the wall thickness at the point location.

Surface Bias Field Points

  • Allow the shifting of the Single Surface to the negative or positive of its normal.

Cavity Points

  • Add a cavity at the point location with a specified radius.

Density Reference Thickness (DRT)

  • Defines the wall thickness if no Thickness Field is present.
  • If no Thickness Field is present and the Density Field has only one point, the volume fraction of the solid corresponds to the density value stated in the Density Field point.

Computing spherene

  • The process of generating spherene based on the defined parameters and geometry, resulting in two kinds of surfaces: Single Surface (si) and Solid Surface (SO).

Single Surface

  • Minimal surface / 2D ADMS.

Solid Surface

  • A solid derived from a surface, appears (almost) identical to the surface, but has added wall width.

Known Issues and Troubleshooting

sphereneRHINO operates via two software components:

  • Local Plugin: This operates on your local machine as a Rhino plugin.
  • Cloud-Based Engine: This runs computations on our servers.

Note that changes by updates of the cloud engine may occasionally lead to undesired results or introduce new bugs. Please keep that in mind when submitting a bug report or experience unforeseen behaviour.

ADMS Density Estimate

  • Effective density/volume fraction is based on an estimate, with a precision of about +/- 10% when using a constant density field.

Time Limitation

  • The cloud computation is limited to a maximum of 45 minutes of runtime, limited by the cloud provider. If the maximum time is expected to exceed, we'll halt the computation and inform you with an error message.

Memory Limitation

  • The cloud computation has a memory limitation, limited by the cloud provider. If the memory needed for your computation is expected to exceed the maximum memory we can allocate, we'll inform you with an error message.

Density Range

  • Ensure the density you set is within the range of 2 to 32. Densities below or above this range may result in empty results or system crashes due to memory limitations.

Envelope Mesh Quality

  • Make sure your envelope mesh is clean, closed and well-structured without intersections or flipped normals.

Losing Internet Connection During Computation

  • If your internet connection is lost before delivery of the computation result, or if you have shut down your computer or quit Rhino3D, you can retrieve the computed results later using sphe_restore_IO.svg the command sphe_restore_output. Note that all currently undelivered results are loaded into the Rhino window from which you invoke the sphe_restore_output command, even if they were created from different instances of Rhino.

Bug Reporting


Help and Community

Join our community on Discord for further discussion, support, bug reports and showcasing your work with others.

We are excited to see what you will create!


Contact

Find out about other products, news and events on www.spherene.ch

For all other means, please join the community on Discord.