# BinaryArchiveReader class

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

```cs
public class BinaryArchiveReader
```

Represents an entity that is capable of reading a binary archive and instantiating strongly-typed objects.

## Properties

- [Archive3dmVersion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/archive3dmversion.md): If a 3dm archive is being read or written, then this is the version of the 3dm archive format (1, 2, 3, 4 or 5). 0 a 3dm archive is not being read/written 1 a version 1 3dm archive is being read/written 2 a version 2 3dm archive is being read/written 3 a version 3 3dm archive is being read/written 4 a version 4 3dm archive is being read/written 5 an old version 5 3dm archive is being read 50 a version 5 3dm archive is being read/written.
- [CurrentPosition](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/currentposition.md): current offset (in bytes) into archive ( like ftell() )
- [ReadErrorOccured](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readerroroccured.md): Gets or sets whether en error occurred during reading.

## Methods

- [AtEnd](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/atend.md): true if at end of a file
- [BeginRead3dmChunk](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/beginread3dmchunk.md): (2 overloads) Begins reading a chunk that must be in the archive at this location.
- [Dump3dmChunk](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/dump3dmchunk.md): (2 overloads) Function for studying contents of a file. The primary use is as an aid to help dig through files that have been damaged (bad disks, transmission errors, etc.) If an error is found, a line that begins with the word "ERROR" is printed.
- [EnableCRCCalculation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/enablecrccalculation.md): Expert user function to control CRC calculation while reading and writing. Typically this is used when seeking around and reading/writing information in non-serial order.
- [EndRead3dmChunk](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/endread3dmchunk.md): Calling this will skip rest of stuff in chunk if it was only partially read.
- [Read3dmChunkVersion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/read3dmchunkversion.md): A chunk version is a single byte that encodes a major.minor version number. Useful when creating I/O code for 3dm chunks that may change in the future. Increment the minor version number if new information is added to the end of the chunk. Increment the major version if the format of the chunk changes in some other way.
- [Read3dmStartSection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/read3dmstartsection.md)
- [ReadBool](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readbool.md): Reads a [bool](https://learn.microsoft.com/dotnet/api/system.boolean) from the archive.
- [ReadBoolArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readboolarray.md): Reads an array of [bool](https://learn.microsoft.com/dotnet/api/system.boolean) from the archive. An array is returned even if the input was another enumerable type.
- [ReadBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readboundingbox.md): Reads a [BoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.boundingbox.md) from the archive.
- [ReadByte](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readbyte.md): Reads a [byte](https://learn.microsoft.com/dotnet/api/system.byte) from the archive.
- [ReadByteArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readbytearray.md): Reads an array of [byte](https://learn.microsoft.com/dotnet/api/system.byte) from the archive. An array is returned even if the input was another enumerable type.
- [ReadCheckSum](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readchecksum.md): (obsolete) Reads a legacy ON_CheckSum, only provided to read data chunks from old V5 files, the CheckSum read is discarded
- [ReadColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readcolor.md): Reads a [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color) from the archive.
- [ReadCompressedBuffer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readcompressedbuffer.md): Reads an array of compressed [byte](https://learn.microsoft.com/dotnet/api/system.byte) information from the archive and uncompresses it. An array is returned even if the input was another enumerable type.
- [ReadDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readdictionary.md): Reads a complete [ArchivableDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.collections.archivabledictionary.md) from the archive.
- [ReadDouble](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readdouble.md): Reads a [double](https://learn.microsoft.com/dotnet/api/system.double) from the archive.
- [ReadDoubleArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readdoublearray.md): Reads an array of [double](https://learn.microsoft.com/dotnet/api/system.double) from the archive. An array is returned even if the input was another enumerable type.
- [ReadFont](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readfont.md): Reads a [Font](https://learn.microsoft.com/dotnet/api/system.drawing.font) from the archive.
- [ReadGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readgeometry.md): Reads a [GeometryBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase.md)-derived object from the archive. The [GeometryBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase.md) class is abstract.
- [ReadGeometryArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readgeometryarray.md)
- [ReadGuid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readguid.md): Reads a [Guid](https://learn.microsoft.com/dotnet/api/system.guid) from the archive.
- [ReadGuidArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readguidarray.md): Reads an array of [Guid](https://learn.microsoft.com/dotnet/api/system.guid) from the archive. An array is returned even if the input was another enumerable type.
- [ReadInt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readint.md): Reads a [int](https://learn.microsoft.com/dotnet/api/system.int32) from the archive.
- [ReadInt64](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readint64.md): Reads a [long](https://learn.microsoft.com/dotnet/api/system.int64) from the archive.
- [ReadIntArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readintarray.md): Reads an array of [int](https://learn.microsoft.com/dotnet/api/system.int32) from the archive. An array is returned even if the input was another enumerable type.
- [ReadInterval](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readinterval.md): Reads a [Interval](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.interval.md) from the archive.
- [ReadLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readline.md): Reads a [Line](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.line.md) from the archive.
- [ReadMeshingParameters](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readmeshingparameters.md): Reads a [MeshingParameters](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.meshingparameters.md) from the archive.
- [ReadObjRef](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readobjref.md): Reads a [ObjRef](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.objref.md) from the archive
- [ReadObjRefArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readobjrefarray.md): Reads an array of [double](https://learn.microsoft.com/dotnet/api/system.double) from the archive. An array is returned even if the input was another enumerable type.
- [ReadPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readplane.md): Reads a [Plane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane.md) from the archive.
- [ReadPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpoint.md): Reads a [Point](https://learn.microsoft.com/dotnet/api/system.drawing.point) from the archive.
- [ReadPoint2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpoint2d.md): Reads a [Point2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point2d.md) from the archive.
- [ReadPoint3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpoint3d.md): Reads a [Point3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point3d.md) from the archive.
- [ReadPoint3f](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpoint3f.md): Reads a [Point3f](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point3f.md) from the archive.
- [ReadPoint4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpoint4d.md): Reads a [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d.md) from the archive.
- [ReadPointF](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readpointf.md): Reads a [PointF](https://learn.microsoft.com/dotnet/api/system.drawing.pointf) from the archive.
- [ReadRay3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readray3d.md): Reads a [Ray3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.ray3d.md) from the archive.
- [ReadRectangle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readrectangle.md): Reads a [Rectangle](https://learn.microsoft.com/dotnet/api/system.drawing.rectangle) from the archive.
- [ReadRectangleF](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readrectanglef.md): Reads a [RectangleF](https://learn.microsoft.com/dotnet/api/system.drawing.rectanglef) from the archive.
- [ReadRenderSettings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readrendersettings.md): Reads a [RenderSettings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.rendersettings.md)-derived object from the archive.
- [ReadSByte](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsbyte.md): Reads a [sbyte](https://learn.microsoft.com/dotnet/api/system.sbyte) from the archive.
- [ReadSByteArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsbytearray.md): Reads an array of [sbyte](https://learn.microsoft.com/dotnet/api/system.sbyte) from the archive. An array is returned even if the input was another enumerable type.
- [ReadShort](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readshort.md): Reads a [short](https://learn.microsoft.com/dotnet/api/system.int16) from the archive.
- [ReadShortArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readshortarray.md): Reads an array of [short](https://learn.microsoft.com/dotnet/api/system.int16) from the archive. An array is returned even if the input was another enumerable type.
- [ReadSingle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsingle.md): Reads a [float](https://learn.microsoft.com/dotnet/api/system.single) from the archive.
- [ReadSingleArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsinglearray.md): Reads an array of [float](https://learn.microsoft.com/dotnet/api/system.single) from the archive. An array is returned even if the input was another enumerable type.
- [ReadSize](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsize.md): Reads a [Size](https://learn.microsoft.com/dotnet/api/system.drawing.size) from the archive.
- [ReadSizeF](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readsizef.md): Reads a [SizeF](https://learn.microsoft.com/dotnet/api/system.drawing.sizef) from the archive.
- [ReadString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readstring.md): Reads a [string](https://learn.microsoft.com/dotnet/api/system.string) from the archive.
- [ReadStringArray](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readstringarray.md): Reads an array of [string](https://learn.microsoft.com/dotnet/api/system.string) from the archive. An array is returned even if the input was another enumerable type.
- [ReadTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readtransform.md): Reads a [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.transform.md) from the archive.
- [ReadUInt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readuint.md): Reads a [uint](https://learn.microsoft.com/dotnet/api/system.uint32) from the archive.
- [ReadUShort](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readushort.md): Reads a [ushort](https://learn.microsoft.com/dotnet/api/system.uint16) from the archive.
- [ReadUtf8String](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readutf8string.md): Reads a [string](https://learn.microsoft.com/dotnet/api/system.string) from the archive.
- [ReadVector2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readvector2d.md): Reads a [Vector2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.vector2d.md) from the archive.
- [ReadVector3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readvector3d.md): Reads a [Vector3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.vector3d.md) from the archive.
- [ReadVector3f](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/readvector3f.md): Reads a [Vector3f](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.vector3f.md) from the archive.
- [SeekFromCurrentPosition](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/seekfromcurrentposition.md): (2 overloads) seek from current position ( like fseek( ,SEEK_CUR) )
- [SeekFromStart](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.binaryarchivereader/seekfromstart.md): seek from start position ( like fseek( ,SEEK_SET) )
