Populate Lattice Module

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

The Populate modulus function populates a given component into a conformal grid structure. It fill the boxes of the conformal grid into the component defined in the input.

Input:


Component: Is the uploaded .Obj component to be arrayed.
Boxes: Is the name of uploaded box scaffold json name.
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.
EPSILON: Is a float value determining the tolerance of removing duplicated members.
Bin:  The input of true or false, defines whether to export result as a compressed binary format instead of obj.

Output:

The result is name located in storage.

Example:

Input .Json Format: 
[
  [
    # 3d coordinates for 8 corners of a box
    [0,0.5,0.7],[0,1.2,2.3],[3.5,-0.2,0.7],[2.5,3.2,2.22],[5.25,6.12,1.12],[5.1,-12.2,3.3],[4.6,0.11,-8],[12,2.4,-3] 
  ],
  [
    # 3d coordinates for 8 corners of a box
    [4.1,0.5,0.2],[6,1.42,1.3],[4.2,3.2,5.1],[2.3,3.1,5.52],[7.28,6.72,5.42],[5.4,11.2,5.3],[22.6,2.44,1.2]
  ],
  # [[...],[...]....[...]]...... list of boxes composing the conformal grid
]


Required:
{
    "boxes":"Board_Grid.json",
    "component":"boardlatt_0.obj",
    "filename":"Skate_Lattice.obj",
    "t":[YOUR SECRET TOKEN]
}


Full request URL:

https://studiobitonti.appspot.com/boxMorph

Response:

    ["Skate_Lattice.obj"]

This file can be downloaded at 

https://studiobitonti.appspot.com/storage/download?name=Skate_Lattice.obj&t=[YOUR SECRET TOKEN]
Result:   Axon view of lattice array.

Result: Axon view of lattice array.

Result:   Side of lattice array.

Result: Side of lattice array.

Advance Example:

Using populate modulus with blend component and attractors.

Required:
{
    "boxes":"Board_Grid.json",
    "component":"box2.obj",
    "filename":"Board_Lattice.obj",
    "t":[YOUR SECRET TOKEN],
    "blendTargets":[
        {
            "component":"box3.obj",
            "attractor":{
                
                "point": [-4,0,0],
                "range": 4
            }
            
        },
        {
        
            "component":"box3.obj",
            "attractor":{
                
                "point": [4,0,0],
                "range": 4
                
            }
        },
        {
            "component":"box3.obj",
            "attractor":{
                
                "point": [0,-14,0],
                "range": 6
                
            }   
            
        }
    ]
    
}

Full request URL:

https://studiobitonti.appspot.com/boxMorph

Response:

    ["Board_Lattice.obj"]

This file can be downloaded at 

https://studiobitonti.appspot.com/storage/download?name=Board_Lattice.obj&t=[YOUR SECRET TOKEN]
Output:   Top View

Output: Top View

Output:   Axon View

Output: Axon View

Advanced Example:

Populating and blending between two meshes.

Input:   Solid mesh input A and B.

Input: Solid mesh input A and B.

Required:
{   
   "boxes":"Board_Grid.json",
   "component":"unit_3D.obj",
   "filename":"Skate_Lattice_3D.obj",
   "t": [YOUR SECRET TOKEN],
   "blendTargets":[
       {
           "component":"unit_3D2.obj",
           "attractor":{

               "plane": [0,1,0,-10],
               "range": 10
           }

       }
   ]

}

Full request URL:

https://studiobitonti.appspot.com/boxMorph

Response:

    ["Board_Lattice.obj"]

This file can be downloaded at 

https://studiobitonti.appspot.com/storage/download?name=Board_Lattice.obj&t=[YOUR SECRET TOKEN]
Result:   Blended mesh structure.

Result: Blended mesh structure.

Francis Bitonti