App.Document doc = App.Application.DocumentManager.MdiActiveDocument;
Db.Database dbCurrent = doc.Database;
Ed.Editor edCurrent = doc.Editor;
Db.ObjectId idBTR = Db.ObjectId.Null;
using (Db.Database db = new Db.Database(false, true))
{
db.ReadDwgFile(
"H:/MainProg/ID_AutoCad/ID_AutoCad/bin/Debug/Sektor.dwg",
System.IO.FileShare.Read,
true,
"");
idBTR = dbCurrent.Insert(Db.BlockTableRecord.ModelSpace, "Sektor", db, true);
}
if (idBTR.IsNull)
{
edCurrent.WriteMessage("\nНет блока");
return;
}
Ed.PromptPointResult rse = edCurrent.GetPoint("\nУкажите точку вставки блока: ");
if (rse.Status != Ed.PromptStatus.OK) return;
using (Db.Transaction trans = dbCurrent.TransactionManager.StartTransaction())
{
Db.BlockTableRecord btr = (Db.BlockTableRecord)trans.GetObject(dbCurrent.CurrentSpaceId, Db.OpenMode.ForWrite);
Gem.Point3d p = rse.Value;
foreach (var i in d)
{
int deg = Convert.ToInt32(i);
using (Db.BlockReference brf = new Db.BlockReference(p, idBTR))
{
brf.Rotation = deg * Math.PI / 180;
btr.AppendEntity(brf);
trans.AddNewlyCreatedDBObject(brf, true);
}
}
trans.Commit();
}