The Point3DGrid data type represents a cloud of points in a three-dimensional space. Although the points are organized in a grid structure just like in a Surface object, unlike there the X and Y coordinates of the points can have arbitrary values. Therefore the whole Point3DGrid object has only a virtual grid structure, there is no guarantee that two points that are neighbors in the grid lie close to each other in the space. However, the grid structure allows to define regions of interest for a Point3DGrid object. For every point in the cloud it is possible that it does not exist. In this case a special value of point is stored to mark that the point is missing.
For most purposes the Surface objects should be preferred than Point3DGrid objects. Surface requires much less space and ensures that two neighboring points lie quite close to each other, at least in XY plane.