Boolean

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

The boolean function process the input of two mesh objects into a combined, divided or insertion of the meshes.

Input:

Input1: Name of first .obj component file uploaded to storage.
Input2: Name of second .obj component file uploaded to storage.
Output: Result file name for the boolean operation in .obj format.
Operation: Choose one from union,difference and intersection.

Union - Combines the given meshes.
Difference - Splits the given meshes.
Intersection -  Intersection between the given meshes.

Engine: (‘Carve’) Algorithm choices for the operation.

Carve - Default engine, often the quickest
igl - Slower and more percise


Token: [YOUR SECRET TOKEN]


Output:

A list of result file in storage

Example - Boolean Union

Boolean Input A and B. Sphere and textured sphere.

Boolean Input A and B. Sphere and textured sphere.

 
Inputs A and B positioned on top of each other.

Inputs A and B positioned on top of each other.

genysis.upload('ball.obj','input1.obj')
genysis.upload('spikes.obj','input1.obj')
genysis.boolean('input1.obj', 'input2.obj', 'output.obj', 'union', token, engine='carve')
Boolean Union Result

Boolean Union Result

 

Example - Boolean Difference

genysis.upload('ball.obj','input1.obj')
genysis.upload('spikes.obj','input1.obj')
genysis.boolean('input1.obj', 'input2.obj', 'output.obj', 'difference', token, engine='carve')
 
Boolean Difference Result

Boolean Difference Result

Example - Boolean Intersection

genysis.upload('ball.obj','input1.obj')
genysis.upload('spikes.obj','input1.obj')
genysis.boolean('input1.obj', 'input2.obj', 'output.obj', 'intersection', token, engine='carve')
Boolean Intersection Result

Boolean Intersection Result

Francis Bitonti