# Konstru Grasshopper

Konstru for Grasshopper

You will find Konstru for Grasshopper in the Konstru menu tab. The components are split into **Create** - to create new elements, **Get** - to extract element data, **Model** - to download or upload a version and **Profiles** - for reading or creating section profiles.

![Components](https://konstru.zendesk.com/hc/article_attachments/115013341727/2017-05-25_15h51_30.png)

### Download Model

To download a model you'll need two components: first **Select Model** to select the model you want to work with. Simply place the component on the canvas and click Select to open the selection dialog. Once you selected your model the component will output a modelID. Use this ID as an input for the Version Data component. This component will automatically download the latest version of your model if no version is specified. Once downloaded you can access all model data. To visualize the model content simply plugin the element type you want to see, eg. **Get Beams** or **Get Columns**. Those components will render the elements and provide access to geometry, attributes and analytical base lines.

![2017-05-25\_12h19\_29.png](https://konstru.zendesk.com/hc/article_attachments/115013333927/2017-05-25_12h19_29.png)

### Get Element Properties

To access attributes or properties like section profile or type name, simply use the **Get Element** component. It will extract all generic element information so you can process it in Grasshopper:

![2017-05-25\_12h33\_57.png](https://konstru.zendesk.com/hc/article_attachments/115013334047/2017-05-25_12h33_57.png)

### Update Elements

To update elements, like names or section sizes, use the **Update Element** component. The example below shows changing one section size of an element. Simply pick the element you want to change and plug it into the **Update Element** component. Then specify the property you want to change. Plugin the output into the **Add or Update Elements** port of the **Create Version** component and hit update to see your changes in the review dialog.

![testing.png](https://konstru.zendesk.com/hc/article_attachments/115013348267/testing.png)

### Create Wall

To create a wall simply use the **create wall** component and plugin a baseline (centered) and specify width and height of the wall.

![2017-05-25\_13h00\_27.png](https://konstru.zendesk.com/hc/article_attachments/115013411588/2017-05-25_13h00_27.png)

### Create Beam

Create new beams using the **create beam** component. It requires a minimum input of a profile section and a curve (line or arc) for the beam. In this example you can see the creation of a rectangular profile based on Width, Height and Catalog.

![2017-05-25\_12h45\_11.png](https://konstru.zendesk.com/hc/article_attachments/115013334567/2017-05-25_12h45_11.png)

### Create Column

To create a column you'll have to use the **Create Column** component and specify the base curve (line) and a profile section. In this example you can see a profile created by Profile Name. First use the **Get Profile Names** component to select profile names. Plugin its output into the **Get Profile By Name** component.

![2017-05-25\_12h48\_32.png](https://konstru.zendesk.com/hc/article_attachments/115013334647/2017-05-25_12h48_32.png)

### Join Settings

If you want to specify join settings in Grasshopper use the **Create Attribute** component to create an attribute called "**Join**" and a value using the "**Join Member at end**" dropdown component to specify if the beam should join at start, end, both or none of the ends.

![testing.png](https://konstru.zendesk.com/hc/article_attachments/115013421108/testing.png)

### Create new Version

To create a new Version place the **Create Version** component on the canvas and connect the model ID you want to update. Plugin a button to trigger the upload, a commit message describing your changes and all elements you want to add, modify or delete. Once ready simply click the button to trigger the upload.

![2017-05-25\_13h09\_42.png](https://konstru.zendesk.com/hc/article_attachments/115013335767/2017-05-25_13h09_42.png)

### Delete Elements

To delete elements simply plugin the entire element you want to delete into the delete elements port of the **Create Version** component. Specify the model by ID, a change message and connect a button to trigger creating a new version.

![testing1.png](https://konstru.zendesk.com/hc/article_attachments/115013411688/testing1.png)

### Profile Sections by Geometry

When creating profiles from curves or surfaces make sure your profile is defined around the origin in XY Plane. The origin at 0,0,0 will be the base point of your profile, usually this is the center of the profile. Define your geometry in XY Plane only where Y will later be global Z. The images below are showing you two valid examples:

![2017-05-24\_13h19\_58.png](https://konstru.zendesk.com/hc/article_attachments/115013331667/2017-05-24_13h19_58.png)![2017-05-24\_13h17\_28.png](https://konstru.zendesk.com/hc/article_attachments/115013331647/2017-05-24_13h17_28.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://konstru.gitbook.io/konstru-manual/konstru-revit/konstru-grasshopper.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
