public static int CreLayoutsList()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
List<ObjectId> layouts = new List<ObjectId>();
// Get the layout and plot settings of the named pagesetup
using (Transaction tr = db.TransactionManager.StartTransaction())
{
DBDictionary layoutDic = tr.GetObject(db.LayoutDictionaryId, OpenMode.ForRead, false) as DBDictionary;
if (layoutDic != null)
{
foreach (DBDictionaryEntry entry in layoutDic)
{
ObjectId layoutId = entry.Value;
Layout layout = tr.GetObject(layoutId, OpenMode.ForWrite, false, true) as Layout;
if (layout.LayoutName.Contains("Лист"))
{
ObjectIdCollection viewPorts = layout.GetViewports();
foreach (ObjectId viewPort in viewPorts)
{
Viewport viP = tr.GetObject(viewPort, OpenMode.ForWrite, false, true) as Viewport;
if (viP != null)
{
Matrix2d displacement = Matrix2d.Displacement(-viP.ViewCenter.GetVectorTo(Point2d.Origin));
Point2d newPoint3d = viP.ViewCenter.TransformBy(displacement);
viP.ViewCenter = newPoint3d;
}
}
}
}
}
}
return layouts.Count;
}