# GH_IWriter interface

Namespace: [GH_IO.Serialization](https://developer.rhino3d.com/api/gh1/namespace/gh-io.serialization.md) · Assembly: [GH_IO](https://developer.rhino3d.com/api/gh1/assembly/gh-io.md)

```cs
public interface GH_IWriter : GH_IChunk
```

Provides access to a subset of GH_Chunk methods used for writing archives.

**Derived types:** [GH_Chunk](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-chunk.md)

## Methods

- [AddComment](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/addcomment.md): Adds a text comment to this chunk. Comments are serialized only if the output flavour is a human readable format. Comments are never deserialized, they are purely for the benefit of the humans reading the file data.
- [CreateChunk](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/createchunk.md): (2 overloads) Create a new child chunk with the specified name and index qualifier. If another chunk already exists with similar properties, an exception will be thrown.
- [RemoveChunk](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/removechunk.md): (3 overloads) Remove the specified chunk from the litter.
- [RemoveItem](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/removeitem.md): (2 overloads) Remove an indexed item from this chunk.
- [SetBoolean](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setboolean.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetBoundingBox](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setboundingbox.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetByte](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setbyte.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetByteArray](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setbytearray.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDate](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdate.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDecimal](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdecimal.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDouble](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdouble.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDoubleArray](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdoublearray.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDrawingBitmap](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingbitmap.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDrawingColor](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingcolor.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetDrawingPoint](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingpoint.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetDrawingPointF](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingpointf.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetDrawingRectangle](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingrectangle.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetDrawingRectangleF](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingrectanglef.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetDrawingSize](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingsize.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetDrawingSizeF](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setdrawingsizef.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetGuid](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setguid.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetInt32](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setint32.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetInt64](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setint64.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetInterval1D](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setinterval1d.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetInterval2D](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setinterval2d.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetLine](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setline.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetPath](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setpath.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetPlane](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setplane.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetPoint2D](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setpoint2d.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetPoint3D](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setpoint3d.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetPoint4D](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setpoint4d.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetSingle](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setsingle.md): (2 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.
- [SetString](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setstring.md): (2 overloads) Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.
- [SetVersion](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-iwriter/setversion.md): (4 overloads) Add a new data item to this chunk. The name must be unique or an exception will be thrown.

## Inherited Members

- From [GH_IChunk](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk.md): [Archive](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/archive.md), [ArchiveLocation](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/archivelocation.md), [ChunkCount](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/chunkcount.md), [Chunks](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/chunks.md), [Index](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/index.md), [ItemCount](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/itemcount.md), [Items](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/items.md), [Name](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/name.md), [AddMessage](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ichunk/addmessage.md)
- From [GH_IBinarySupport](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport.md): [Read](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport/read.md), [Write](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ibinarysupport/write.md)
- From [GH_IXmlSupport](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport.md): [Read](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport/read.md), [Write](https://developer.rhino3d.com/api/gh1/type/gh-io.serialization.gh-ixmlsupport/write.md)
