Conformal Volumetric Lattice Scaffold

Endpoint: https://studiobitonti.appspot.com/conformalGrid

The conformal grid function generates a grid structure inside a given mesh input. The U,V,W are variables for the number of the grid cells.

Input:


U: Input the number of grid cells in u direction.
V: Input number of grid cells in v direction.
W: Input number of grid cells in w direction.
Surface: Name of the uploaded .json file of surface grid representations.
Filename: Name of the resultant file for the lattice unit.
T: [YOUR SECRET TOKEN]

Optional:


Direct Output: The input of true or false, defines whether to send content of result file directly instead of its storage location.
Unitize: The input of true or false,defines whether to redivide the surface in unitized way.

Output:

A list of result file in storage.


Input Surface File Format

To create a conformed volume lattice, the 4 untrimmed envelope surfaces are needed with their uv direction aligned same way as the following diagram

Input:     Surfaces

Input: Surfaces

Aligning the Surface UV

Aligning the Surface UV

After surfaces prepared, a grid of points need to be exported from each surfaces and written into a single json file. These points will be used to rebuild same surfaces on server.

The json file should be structured as follows

[
  # point grid for top surface
  [
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # row of 3d points in direction u
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # 2nd row of 3d points in direction u
    # [[...],[...]....[...]],..... # number of rows equals to number of points in direction v
  ], 
  # point grid for bottom surface
  [
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # row of 3d points in direction u
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # 2nd row of 3d points in direction u
    # [[...],[...]....[...]],..... # number of rows equals to number of points in direction v
  ], 
  # point grid for side01 surface
  [
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # row of 3d points in direction u
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # 2nd row of 3d points in direction u
    # [[...],[...]....[...]],..... # number of rows equals to number of points in direction v
  ],
  # point grid for side02 surface
  [
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # row of 3d points in direction u
    [[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]], # 2nd row of 3d points in direction u
    # [[...],[...]....[...]],..... # number of rows equals to number of points in direction v
  ], 

Using Grasshopper To Create PointGrid

Using the SrfToGrid.gh script (that can found the resources), assign the top, bottom, side1 and side2 surfaces to the appropriate input module.

SrfToGrid.gh

SrfToGrid.gh

Grasshopper:   Dividing the surface into points.

Grasshopper: Dividing the surface into points.

Example:

Required:
{
  
   "u":65,
   "v":18,
   "w":3,
   "unitize":"true",
   "surfaces":"Skate.json",
   "filename":"Skate_Grid.json",
    "t":[YOUR SECRET TOKEN]
  
}
Full request URL:

https://studiobitonti.appspot.com/conformalGrid

Response:

    ["Skate_Grid.json"]

This file can be downloaded at 

https://studiobitonti.appspot.com/storage/download?name=grid_example.json&t=[YOUR SECRET TOKEN]
Output:   Grid Visualization

Output: Grid Visualization

Francis Bitonti