Plugin Installation

  1. Download GHShot Plugin here
  2. Drag and drop GHShot.gha into your Grasshopper Document.
  3. Otherwise, you can also put GHShot.gha into C:\Users\Your_Username\AppData\Roaming\Grasshopper\Libraries

Creating a New Project

  1. Log in into your user account
  2. Click the 'Add Project' button on the top right of your main page.
  3. Type in your project name and set the access level that you want. Note that space and underscore isn't allowed for username.
    • Private project is accessible to you only.
    • Public project is accessible to everyone.
    • Group project is accessible only to a group of users. To create a group, go to top right of the main page and choose 'Add Group' dropdown.

  4. Once project is successfully created, you will be redirected to the main page. Your new project is now ready to use. Copy the url generated to be used as the server name in the next step.

Sending Your First Design

GHShot consists of 3 components: GHShot, GH_Settings, and GH_Input. GHShot can be found under the Connect tab once it is installed.

For this example, we will use a simple tower parametric model attached to Karamba components (note that you don't need Karamba to use GHShot, this is just an example). Alternatively, for 20.211 students, use the initial model and attach use Pipe & Mesh component after.

If you don't have Karamba, you can download it here (version 1.3.2). You can also download the Grasshopper file used in this project: initial parametric model , or final version .

  • GH_Settings
    Paste the url we copied before to the panel attached to the server input. Also, key in your username.

  • GHShot
    This is the main component that sends data to the server. When a server URL has been specified and GHShot cannot connect to that address, component will turn red

    1. settings: contains information on project url and username/creator of this design
    2. modelname: name of this model
    3. mesh/curve: 3D mesh model / curve so that you can view your model online (optional) Note that currently polyline is not supported and need to be converted to curve.
    4. input: Key, value information you want to put about the current design (see next section for more details). Pipe in output from GH_Input
    5. notes: Your personal notes about this design (optional)
    6. save: Once save button is clicked, snapshot of the current model will be sent to the server
    7. branch: False means that snapshot sent is a continuation of previous design, True means that a branch will be created (parallel progression / variation)
    8. lastFile: modelname of the last snapshot sent. Keep the panel empty for first time sending. Subsequently, for each snapshot, automatic running number will be generated if modelname is not changed
    9. info: output panel, showing sending status
  • GH_Input
    Contains key-value pair of variables/parameters you would like to record. Key stands for the variable name, value stands for the actual value of that variable. You can choose In this example, we get the Displacement value from AnalyzeThi component and numOfSides value representing the base polygon shape from the slider.

Once everything is piped in, click on the save Button and the info panel will be updated with information of your model being saved. Make sure that all data components are internalised, otherwise your Grasshopper file will have empty data components when it is downloaded

Congratulations! Your first snapshot had just been sent to the server! You can see that your design is available now in your main page.

Finding Difference in Parent - Child Designs

Now let's continue to modify our tower model: add rotation, and send our second snapshot. Note that if we didn't specify new modelname, automatic numbering will be generated by the system. This is to simplify having to rename model everytime.

When we go to the web, in the 3D viewer page, we can now see the difference with its previous snapshot (parent). Notice that the newly added components are highlighted in green. Changed components are highlighted in yellow, and deleted ones are highlighted in red (we don't have red ones in this example).

To Branch or Not To Branch

  1. Currently, if you go to the web and go to Tree View, your design Tree will look like this:

    This because by default branch settings in GHShot is set to false, and hence the linear progression.
  2. Let's try to make a branch / parallel snapshot in the Tree. Change the number of sides of the base polygon of this tower to 4.

  3. Set Branch toggle to True, and click send. Repeat this one more time, set slider to 5 this time and send again.
  4. Let's go to the web and open our Tree now. We will see additional two snapshots we have sent to the server. Because branch is set to true, every snapshot sent will always be a child of tower snapshot. We can download any snapshot and set branch to False if we want to work from that snapshot (details in the next section).

  5. Additionally, you can also compare design snapshots using the Graph view.

Downloading Designs

Design snapshot can be downloaded using the download button on the project page (top) or the 3D viewer page (bottom). In this tutorial, we will be downloading from tower_1 to show how design can be continued from a specific snapshot.

Open your recently downloaded file with Grasshopper. Note that the format of file downloaded is .ghx, hence you can only open the file from File -> Open Document menu in Grasshopper (drag and drop the file in Grasshopper wouldn't work.) For every newly downloaded snapshot, username panel will be empty. Fill in with your username.

Finally, if you do modification and click to send again, your tree will look like this.

Export Graph Image

Image of History Tree and Graph View can be save as SVG (Scalar Vector Graphics) format.

To open downloaded SVG file in Adobe Illustrator correctly, first open the file with your web browser and print to PDF format. After, open the PDF in Adobe Illustrator.

Deleting Snapshot

Snapshot that has already be sent cannot be deleted, however, you can choose to hide them for exporting image purpose in the history tree page. Tick Delete Checkbox and start selecting snapshots (click on the nodes). Press delete button to delete the snapshots you have chosen. You could save this view so that it can be loaded the next time you visit the page.

Merging two Snapshots

Currently we provide mechanism to merge two snapshot manually and automatically. To merge, check on the checkbox beside manual merge and select 2 snapshots that you want to merge.

If you choose manual merge, the difference between two parametric model will be highlighted in the downloaded file. Once you finish editing the parametric model, you can send the model again to the server from GHShot in the blue-box. Automatic merging is experimental and the resulting parametric model might not be a valid parametric model.

Your merging is reflected in the history tree.

For 20.211 students: Additional GHShot_AutoRecorder

For research purpose, you are required to add GHRecorder unto your Grasshopper file. This will help us to understand your parametric modeling activity. Connect GHRecorder input to GHSettings for GHRecorder to be setup correctly and add panel to the output. If you see the output is "Sending Active.", then it's all good.