I have a 3D model of an object in CAD format, that I need to perform a visibility analysis for across the landscape (I have a DEM to cover the area of interest). The height of the 3D model varies; not only does the elevation of the DEM vary across the footprint of the model, but there is a varying Z value of the model vertical extent above the ground it covers. I want to take this Z value variation into account - the tallest part of the model would be seen from more vantage points, of course, than the shorter parts would. I'm not sure that the changing Z values would be observed in the visibility (or geodesic viewshed) tool. It seems the tools are designed to assume a single elevation of a single 'observer'. Is my only option to create a few points defining the edges of the 3D model as 'observer' points, or will the tool take into account height variation in my model, if, say, I use a polyline with Z enabled, corresponding to the outer shell of the model, as an observer input. I do realize what I am trying to do would be pretty computationally intense.