# DisplayPen class

Namespace: [Rhino.Display](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.display.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public class DisplayPen
```

Pen used to define stroke applied to several DisplayPipeline draw functions

## Properties

- [CapStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/capstyle.md): How caps are drawn at the ends of open curves
- [Color](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/color.md): Color applied to stroke
- [HaloColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/halocolor.md): Halos are blended colors drawn around a curve for purposes like selection
- [HaloThickness](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/halothickness.md): Halos are blended colors drawn around a curve for purposes like selection
- [JoinStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/joinstyle.md): How corners of curves are joined
- [PatternAutoscale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternautoscale.md): Scale pattern in detail views
- [PatternBySegment](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternbysegment.md): Restart patterns at corners in a curve
- [PatternLengthInWorldUnits](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternlengthinworldunits.md): If true, lengths in pattern definition are interpreted to be in world units. If false, screen pixel distances are used.
- [PatternOffset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternoffset.md): Offset to apply to pattern. If RhinoMath.UnsetSingle, then pattern is centered to keep even dash lengths at ends
- [PatternScale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternscale.md): Scale applied to the pattern, use 0.0 to let Rhino apply global scale.
- [Thickness](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/thickness.md): Thickness for stroke
- [ThicknessSpace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/thicknessspace.md): Coordinate system for the pen's thickness

## Methods

- [Duplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/duplicate.md): Create a duplicate of this display pen.
- [FromLinetype](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/fromlinetype.md): (2 overloads, static) Create a display pen that matches a linetype definition
- [PatternAsArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/patternasarray.md): Get the pattern for this pen as an array of dash,gap,dash,gap... values
- [SetPattern](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/setpattern.md): Set pattern to apply for a stroke.
- [SetTaper](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/settaper.md): Positions and thickness at those positions along a curve that define a taper.
- [TaperAsArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypen/taperasarray.md): Collection of positions and thicknesses at those positions to define a taper Rhino currently only supports either no taper or a single taper. An array is used here in case Rhino supports multiple taper values in the future.
