# Profiles

There are a number of ways in-which you can define and place structural profiles within BullAnt.

## Catalogue Profiles

**`ggCatalogueProfile`**

The catalogue component within BullAnt provides access to a wide range of standard sections from around the world to use in your projects.

By right-clicking on the catalogue profile component you can view and select all the available profiles from Geometry Gyms standard library. The image below shows typical country section profiles available.

![](/files/hbX1eIkjQ7D9ekN6fIW8)

{% hint style="info" %}
If there is a list of profiles that you use regularly that are not within the standard profile list please get in touch and we can likely add.
{% endhint %}

### Working with Catalogue Profiles

#### Casting a Catalogue Profile

When working with most profile types, the output in grasshopper will be a IFC profile representation (typically in JSON) format when wired into a grasshopper panel.

If you want to access the plain curve geometry of a profile components allow to cast that geometry to a **Curve** component (to represent the outline) or a **Brep** component (to represent the area) to allow you to bake, manipulate or reference geometry.

![Casting a Profile](/files/UmHL5GkVfQYdgQXhYHNt)

#### Generating lists of profiles

A number of structural programs allow for list section inputs. This may allow for the program to choose which section is best suited when undertaking a design. You also may want to develop your own way of allowing profiles or sections to be chosen from a list of different inputs.

The **ggSearchSectProp** component allows you to use star notation to select a list of associated profiles from the typical Geometry Gym catalogue database. The image below denotes a typical example. You can use the catalogue as a reference for knowing which prefix to use in order to find the appropriate sections.

![Selecting a range of Profiles/Sections](/files/hIPi95TLvjlGXZrb8xeJ)

## User Defined Profiles

There are a set of components under the BullAnt Panel which allow you to create user defined sections for typical structural profiles that are not included in the Geometry Gym standard library for typical shapes. The image below shows some of the typical profile generation types available available.

![BullAnt Custom Profiles](/files/CGYKO2SBEt3s9wbMw2UY)

{% hint style="warning" %}
For complex user defined profiles and tapered sections it is recommended that the ggIFC or ggRevit plugin is used.
{% endhint %}

## User Defined Profile Library

It is also possible to generate your own Profile Library of different shapes. For example you may have a library of custom size Circular sections which are not available within the standard Geometry Gym catologue.

It is possible to add user defined profiles to the standard Geometry Gym Catalogue profiles component. In order to provide user defined profiles to the ggCatalogueProfile component add a .ifc profile library file to the following location.

Instead of having to rebuild these for each grasshopper script it is possible to load these into the standard library folder

C:\Users\\\[*User*]\AppData\Roaming\GeometryGym\UserProfiles

{% hint style="warning" %}
You will likely need to create the UserProfiles folder if no user profiles have been defined.
{% endhint %}

One of the easiest ways of Generating a Profile Library .ifc file is to use grasshopper. You can use Grasshopper to import excel files to generate these libraries as well. For more information on how to generate a user library using Grasshopper visit this page:

{% content-ref url="/pages/-LZraFScO2g5kWJPu\_pW" %}
[Material Profiles](/rhino-grasshopper/ifc/ifc-grasshopper/create-ifc/material-profiles.md)
{% endcontent-ref %}

## Profile Placement

Note that the default insertion axis for a profile is the origin point (0,0,0) on world XY plane. By taking a top view of the profile you can understand where the centroid placement of the section will be when applying a profile to a given curve.

You can modify this placement on a curve by defining the cardinal insertion point when assigning to a curve. If you need a specific insertion point you can transform (move) the profile curve in relation to the X-Y plane to suit the location.

### Profile on Curve

The **ggProfileOnCurve** on curve component allows you to place a profile along a curve at one or a multitude of curve parameters while providing a vector orientation for the profile.

### Sweep Profile

The **ggSweepProfile** sweep profile on curve allows you to create a swept surface representation of a structural member along a curve.


---

# 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://technical.geometrygym.com/rhino-grasshopper/bullant/structure/profiles.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.
