What you could do is to draw projected lines yourself from the view3D.Paint event handler with the help of PointToClient(Point3D) method:
private void diagramView3D_Paint(object sender, PaintEventArgs e)
{
var cube = new[]
{
new Point3D(00, 00, 00),
new Point3D(10, 00, 00),
new Point3D(10, 00, 10),
new Point3D(00, 00, 10),
new Point3D(00, 10, 00),
new Point3D(10, 10, 00),
new Point3D(10, 10, 10),
new Point3D(00, 10, 10)
};
for (int i = 0; i < 4; i++)
DrawEdge(e.Graphics, cube[i], cube[(i + 1) % 4]);
for (int i = 0; i < 4; i++)
DrawEdge(e.Graphics, cube[i + 4], cube[(i + 1) % 4 + 4]);
for (int i = 0; i < 4; i++)
DrawEdge(e.Graphics, cube[i], cube[i + 4]);
}
private void DrawEdge(Graphics g, Point3D p1, Point3D p2)
{
var cp1 = diagramView3D.PointToClient(p1);
var cp2 = diagramView3D.PointToClient(p2);
g.DrawLine(Pens.Black, cp1, cp2);
}
You will also need to implement some kind of Z culling - i.e. do not draw a line when any of its points is behind the camera of you will get strange results.
I hope that helps,
Stoyan