# Builder class

Namespace: [Grasshopper2.UI.Icon.Vector](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.icon.vector.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class Builder
```

Provides a pipeline for populating vector icons.

## Constructors

- [Builder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/ctor.md): (2 overloads) Create an empty icon builder.

## Properties

- [CurrentEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/currentedge.md): Gets the current edge edge.
- [CurrentFill](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/currentfill.md): Gets the current fill brush.
- [CurrentOrder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/currentorder.md): Gets the current draw order value.
- [CurrentRank](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/currentrank.md): Gets the current rank.
- [CurrentStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/currentstyle.md): Gets the current style. The style is a mashup of the order, edge and fill states.
- [Size](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/size.md): Gets the size of this icon. The 'Current' prefix is for naming consistency, the size is set from the constructor and never changes during the lifetime of the builder.

## Methods

- [Arc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/arc.md): (2 overloads) Add an arc to this icon.
- [Arrow](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/arrow.md): Add a standard fixed arrow shape to this icon. This method adds a line (for the arrowshaft) and a polyline (for the arrowhead).
- [Bezier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/bezier.md): (4 overloads) Add a bezier curve to this icon.
- [Box](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/box.md): (3 overloads) Add a rectangle to this icon.
- [Circle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/circle.md): (3 overloads) Add a circle to this icon.
- [Curve](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/curve.md): (2 overloads) Add a polyarc curve to this icon. Polyarcs are curves consisting of lines and circular arcs. Consecutive points are always connected with a straight line, consecutive points with an angle or direction constraint in between them are connected by a tangent arc.
- [Element](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/element.md): Add a shape to the icon.
- [Ellipse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/ellipse.md): (3 overloads) Add an ellipse to this icon.
- [Line](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/line.md): (4 overloads) Add a line to this icon.
- [Lune](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/lune.md): Add a lune to this icon. A lune is an arc with an elliptic arc on the inside, like the lit part of the crescent or gibbous moon.
- [PainterDelegate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/painterdelegate.md): Gets a painting delegate for this builder.
- [Polyline](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/polyline.md): (3 overloads) Add a polyline to this icon.
- [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/state.md): (2 overloads) Add an icon state.
- [Text](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/text.md): Add regular text to this icon.
- [TextBold](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/textbold.md): Add bold text to this icon.
- [TextItalic](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/textitalic.md): Add italic text to this icon.
- [WithEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/withedge.md): (4 overloads) Set the current edge state and returns a disposable object for using blocks.
- [WithFill](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/withfill.md): (3 overloads) Set the current fill state and returns a disposable object for using blocks.
- [WithOrder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/withorder.md): Set the current draw order and returns a disposable object for using blocks.
- [WithRank](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.builder/withrank.md): Set the current category and returns a disposable object for using blocks.
