Setting Voxel Coordinates I've been looking online for a long time, searching for documentation on the subject of Blender Voxel Data. So far, I know that Blender uses many file types, including the .bvox file type. For the .bvox file type, I have found that it uses ASCII characters to load in density values, starting with the dimensions. For example, a data set with dimensions 64,64,64 would save into the .bvox file as:

@@@

However, only the density values are saved. The data set I have is formatted as follows, where dd is a density value:

xx yy zz dd
xx yy zz dd


My python code strips each line and takes only the density values and uses pythons pack struct to pack the values into a .bvox file. This works fine, but I am wondering how Blender knows where to put the coordinates of the densities? Each density value has to be at a specific point, and how does Blender know where that point is? And also, is it possible to specify my own coordinates for each value?
In the Blender wiki article it says


  The voxels are stored in a flat z/y/x grid of floats.


That means that the coordinates of every density is defined by its position in the file. I guess that your original data set is sorted that way too. For example:

xx yy zz dd
-----------
12 20 00 dd
12 20 01 dd
12 20 02 dd
...
12 21 00 dd
12 21 01 dd
...


In this case the coordinates are redundant because they can be easily deduced from the position in the list. Thus the coordinates can be omitted.

Also the file format doesn't use ASCII characters. It is a binary file and simply stores numbers. Every number can be interpreted as an ASCII character. The character for 64 is @. But in this case this is irrelevant.