simple code to do it...just to share it
[CommandMethod("vis")]
public static void vis()
{
// a vector...for example
Vector3d vdir = new Vector3d(1, 0, 0);
Document d = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
using (DocumentLock l = d.LockDocument())
{
Database db = HostApplicationServices.WorkingDatabase;
Transaction tr;
if (db.TileMode == true)
{
//modelspace
//get current viewporttablerecord
try
{
using (tr = db.TransactionManager.StartTransaction())
{
ViewportTableRecord vpr = (ViewportTableRecord)tr.GetObject(db.CurrentViewportTableRecordId, OpenMode.ForWrite);
vpr.ViewDirection = vdir.GetPerpendicularVector();
vpr.ViewTwist = vdir.GetAngleTo(Vector3d.XAxis, Vector3d.ZAxis);
d.Editor.UpdateTiledViewportsFromDatabase();
tr.Commit();
}
}
catch { }
}
}
}