I don't see any way to use one declaration variable which is a three dimensional matrix already, as in your case. The only way that I am familiar with is the CWGraph3D1.Plot3DCurve ArrayX, ArrayY, ArrayZ. This takes three input arrays representing your X values, Y values, and Z values. In your case, it may be best if you were to "break" up your one large 3D array into three samller vectors, and go from there.