Hi GregStef,
The reason the Build Digital Waveform takes in a 2-D array of booleans is that the output of that funtion (the digital waveform) can contain data for multiple digital lines.
If you look at the input to the build digital waveform, it is type digital data. There is a function called build digital data that takes in a 2-D array to form the digital data. If you look at the LabVIEW Help for this function, you will see that the input data "contains the data values where each row in the 2D array represents the data on
the signals at a particular time with the most significant line of data first." In other words, this is a 2-D array where rows represent different times, and columns are different digital lines. This is done this way so that an entire digital port can easily be contained in one digital waveform. I hope this helps!
Nick R
NI