Всем привет!
Для очистки списка аннтотативных масштабов у объектов использую простейший код (сначала удаляю все, затем добавляю текущий):
foreach (var objId in psr.Value.GetObjectIds())
{
using (var ent = tr.GetObject(objId, OpenMode.ForWrite, false, false))
{
if (ent.Annotative == AnnotativeStates.True)
{
foreach (var objectContext in occ)
{
var scale = (AnnotationScale)objectContext;
if (ent.HasContext(scale))
ent.RemoveContext(scale);
}
ent.AddContext(currentscale);
}
}
}
Для текста и размеров срабатывает как положено. А вот с мультивыносками беда
Допустим, создал я аннотативные размеры и выноску с масштабами 1:100. Потом добавил к ним масштаб 1:50. Затем я включаю текущий аннотативный масштаб 1:20 и использую этот код: у размеров очистится список масштабов, поставится 1:20 и они будут выглядеть соответственно своему масштабу. А вот выноска останется такой-же как и была
Если проделать такую-же процедуру через свойства выноски (удалить все масштабы и поставить 1:20), то выноска так-же уменьшится, как и размеры
Как правильно менять аннотативный масштаб для выносок?