Geospatial sensors are generating increasing amounts of three-dimensional (3D) data. While Discrete Global Grid Systems (DGGS) are a useful tool for integrating geospatial data, they provide no native support for 3D data. Several different 3D global grids have been proposed; however, these approaches are not consistent with state-of-the-art DGGSs. In this paper, we propose a general method that can extend any DGGS to the third dimension to operate as a 3D DGGS. This extension is done carefully to ensure any valid DGGS can be supported, including all refinement factors and non-congruent refinement. We define encoding, decoding, and indexing operations in a way that splits responsibility between the surface DGGS and the 3D component, which allows for easy transference of data between the 2D and 3D versions of a DGGS. As a part of this, we use radial mapping functions that serve a similar purpose as polyhedral projection in a conventional DGGS. We validate our method by creating three different 3D DGGSs tailored for three specific use cases. These use cases demonstrate our ability to quickly generate 3D global grids while achieving desired properties such as support for large ranges of altitudes, volume preservation between cells, and custom cell aspect ratio.