Due to the coordinate systems / transforms occurring within the application (based on real-world position) the 'ground' is rotated in different planes (arbitrary x,y,z rotations), and so the camera is also rotated to view the current scene as if it were level.
Therefore, in order to place models within the scene, they also have to be rotated to align with the current camera view, for which I store the required rotations as up and direction vectors.
This all happens at runtime as the models/ objects are dynamically created from in-bound data.
There is possibly easier ways to get the same result, but the current method works well.
An alternative, possibly proffered (?), method could be to create a plane with a high level of transparency to represent the ground and add this.
Incidentally I have managed to create the grid with Polylines now by calculating the real-world coordinates and running them through the existing transformational process to world coordinates, but its a little bulky compared to starting with world coordinates and setting their direction (see screeny), although I would like to use Polylines a lot more within the scene compared to creating very thin Objects.
Hope this makes some sense!
[attachment deleted by admin]