# AiComponentLogic class

Namespace: [Grasshopper2.Components.Descriptive](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.components.descriptive.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class AiComponentLogic
```

Base class for the logic hosted inside an [AiComponent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aicomponent.md).

## Methods

- [CreateInputParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aicomponentlogic/createinputparameters.md): Return an array of freshly constructed and correctly set up input parameters.
- [CreateOutputParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aicomponentlogic/createoutputparameters.md): Return an array of freshly constructed and correctly set up output parameters.
- [Execute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aicomponentlogic/execute.md): Implementation of the component logic. This is just invoked direcly from the [Component.Process(IDataAccess)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.component/process.md) method.
