Surface Lattice

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


The surface lattice function generates arrays a given lattice structure across a given surface in a parametric fashion. The input parameters take in a base component of the surface and a module to be arrayed. Other parameters like cell height, optional secondary component, auto scale can also be used to expand the use of the function.

Input:


Component: The uploaded .Obj component that would be arrayed on the surface.
Base: The uploaded .Obj quad mesh surface that forms the base for the array.
Cell Height:  Is a float value defining the height of the lattice cell oriented normal to the base.
File Name:  Name of the resultant file for the surface lattice.
T: [YOUR SECRET TOKEN]

Optional:


BlendTargets: List of other components to be blended according to chosen attractors.
Ceil: Is the uploaded .obj quad mesh as the ceil surface
Auto Scale: This component scales the module to fit a 1X1X1 box. The inputs are true or false.
ESIPLON: Is a float value, defining the tolerance to remove duplicated line or faces.
Bin: The input of true or false, defines whether to export result as a compressed binary format instead of obj.

Output:

A list of result files in storage.


Example:

Input:   Lattice Unit

Input: Lattice Unit

Input:   Surface

Input: Surface

required:
{
   "component": "Lattice_Unit.obj",
   "base": "Base_Surface.obj", 
   "cellHeight": 1,
   "filename": "Surface_Lattice_Example.obj",
   "t": [YOUR SECRET TOKEN]
}


Full request URL:

https://studiobitonti.appspot.com/surfaceLattice

Response:

    ["Surface_Lattice_Example.obj"]

This file can be downloaded at 

https://studiobitonti.appspot.com/storage/download?name=Surface_Lattice_Example.obj&t=[YOUR SECRET TOKEN]
Srflattice_4.png
Result:   Cell Height - 1.2

Result: Cell Height - 1.2

Srflattice_5.png
Result:   Cell Height - 0.2

Result: Cell Height - 0.2

Advanced Example:

Using two surfaces.

Input Of the surfaces.

Input Of the surfaces.

required:

{
    "component": "Lattice_Unit.obj",
    "base": "Ciel_CompA.obj",
    "ceil":"Ciel_CompB.obj",
    "cellHeight":1,
    "autoScale": "true",
    "t":[YOUR SECRET TOKEN],
    "bin":"true",
    "ESIPLON":0,
    "filename": "surfaceLattice.obj"
    
}
Result:   Lattice Structure between the surfaces.

Result: Lattice Structure between the surfaces.

Advance Example:

Using attractors and blend components.

Input:   Components Unit_0 / Unit_1

Input: Components Unit_0 / Unit_1

Input:   Surface

Input: Surface

Required:

{
    
    "component": "unit_0.obj",
    "base": "surface_simple.obj",
    "cellHeight": 5,
    "filename": "surfaceLattice.obj",
     "t": [YOUR SECRET TOKEN]
    "blendTargets":[
        {
            "component":"unit_1.obj",
            "attractor":{
                
                "point": [0,0,0],
                "range": 20
                
            }
            
        },
        {
            "component":"unit_1.obj",
            "attractor":{
                
                "point": [4,36,22],
                "range": 20
                
            }
            
        }
        ]
    
}


Result:   Blended Surface Lattice

Result: Blended Surface Lattice

Advanced Example:

Using two surfaces and the blend function.

Reference surfaces in red, resultant lattice in gray.

Reference surfaces in red, resultant lattice in gray.

Required: 
{
    "component": "unit_1.obj",
    "base": "Bottom_Srf.obj",
    "ceil":"Top_Srf.obj",
    "cellHeight":1,
    "autoScale": "true",
    "t":[YOUR SECRET TOKEN],
    "filename": "surfaceLattice.obj",
    "blendTargets":[
        {
            "component":"unit_0.obj",
            "attractor":{
                
                "point": [0,0,0],
                "range": 8
            }
            
        }
    ]
}
Result:   Top View

Result: Top View

Result:   Axon View

Result: Axon View

Francis Bitonti