EVO-CAD is a mini-CAD (computer aided design) system to design 2D structures. The user can build Lego structures and test to see if the structure will break, or hold. EVO-CAD also interfaces to an evolutionary algorithm that can assist in building the user's Lego creation.

To The Demo

The poster for this experiment

How To Use the Demo

The CAD System

This CAD system is a 2-D program which allows the user to view the structure from a side view.  To build something, click on a brick and drag to a desired location on the canvas, then release to unload the brick.  A "GROUND" brick designates the ground of a structure you are building.  All bricks are subject to the laws of gravity, which has a force downward, except for the ground brick which can be placed anywhere.  The user can check if a structure has falling bricks by pressing the "Check Stability" button.

Artificial Intelligent Assistance

Goals are defined to the evolutionary design system through loads , target points , and restrictions X.  The evolutionary algorithm will try to satisfy as many goals as possible within a thirty second time limit.  The goals will be fully satisfied if the structure touches all the target points and target load points, whereas avoiding all restriction points and supporting the specified loads points.  Once a user has specified the goals with load points, target points and restrictions, the user can press the "Evolve Structure" button to initiate the evolutionary algorithm.  In other words, target points , are points on the canvas that the artificial assistance will try to touch with bricks, while restriction points X, are points that can not be built upon.  Loads  represents different kinds of weight in grams.  The weight of a load can be changed by the user through the top choice pull down menu.  Loads are just like target points, but the bricks must also hold a specific amount of weight at that point also.  By pressing "Evolve Structure" while the user has weights defined, the artificial assistance will also attempt to build a structure that supports a certain amount of weight.  

Other Options

-   The size of the grid or canvas can be changed with second choice to build big or small structures with big
      bricks or small bricks.
 -   Structures can be saved once and loaded later through the save and load option.
The amount of load can be changed with the top choice pull down menu to add more weight or reduce the weight. Weight is measured in grams.
 X The size of the restriction can be changed to be taller or longer.
 -   The entire screen can be cleared, or just the bricks, by pressing their respective buttons. Also, single bricks, targets or restrictions     points can be erased by dragging them one at a time over the trash and then releasing the mouse button. The object must be completely over the trash when the mouse button is released.


Please send your comments to lapat1@cs.brandeis.edu