int autocadSnapMode = cadApp.ActiveDocument.GetVariable("osmode"); // Запомнить привязку
cadApp.ActiveDocument.ObjectSnapMode = false; //Отключить привязку
string sourceName = "d:\\1.dwg";
double x = 0; //x точка вставки
double y = 0; //y точка вставки
int activeDoc = 0;
for (int i = 0; i < cadApp.Documents.Count; i++)
{
if (cadApp.Documents.Item(i).Active == true)
{
activeDoc = i;
break;
}
}
cadApp.Documents.Add(sourceName);
dynamic sset = cadApp.ActiveDocument.SelectionSets.Add("vols");
List<double> dubList = new List<double>();
//здесь добавление 4х точек для "секущего прямоугольника"
double[] dubArr = dubList.ToArray();
sset.SelectByPolygon(AcSelect.acSelectionSetCrossingPolygon, dubArr);
AcadEntity[] obj = new AcadEntity[sset.Count];
for (int i = 0; i < sset.Count; i++)
{
obj[i] = sset.Item(i);
}
foreach (AcadEntity item in obj)
{
item.Move(AcadPoint(0, 0), AcadPoint(x, y));
}
cadApp.ActiveDocument.Database.CopyObjects(obj, cadApp.Documents.Item(activeDoc).ModelSpace);
cadApp.ActiveDocument.Close();
cadApp.Documents.Item(activeDoc).Activate();
cadApp.ActiveDocument.SetVariable("osmode", autocadSnapMode);
cadApp.ZoomExtents();
cadApp.ActiveDocument.Regen(AcRegenType.acAllViewports);