What is the differences between Arrays and BitArrays?

An Array in MAXScript can contain any number of elements, and each element can be of any type incl. integers, floats, strings, Point3 values, colors, and even other arrays.

A BitArray on the other hand can contain only one type of information. As the name suggests, this type is a single bit, a binary digit. A bit can be either set (1, true) or not set (0, false). This means that a BitArray can only store binary information, any number of bits representing true or false values. Obviously, a bitArray is much more memory-efficient as it can store 8 values in a single byte, while a single element of a regular array requires multiple bytes to store a single value!

A bitArray can be very useful when getting and setting face properties like selected status etc.

You can convert a bitArray to an Array, and an Array containing only true and false values to bitArray.

Note:

Appending elements to a bitArray tends to be slower than appending elements to a regular array. Pre-defining a bitArray to the desired size first and then setting its elements by index is much, much faster.