ADN Club => AutoCAD .NET API => Тема начата: Даниил от 13-02-2015, 15:07:10
Название: Редактирование объектов с чертежа по ObjectID
Отправлено: Даниил от 13-02-2015, 15:07:10
Здравствуйте. Скажите, можно ли в autoCAD объекты чертежа редактировать по его ID. Постараюсь кратко ввести в курс дело:
1. У меня есть метод, который должен изменить координаты точки/окружности/линии(2 точки) и их высоту. 2. Со слоем проблем нет, я просто вызываю метод, блокирую чертеж, проверяю id_слоя и по нахождению нужного мне ID меняю его атрибуты 3. Не нашел хорошего примера, как можно по такому же принципу редактировать графические примитивы.
пытался работать с текущим набором через SelectAll(), брал entity. Но проблема в том, что entity, как я понимаю, это некий абстрактный объект, а не конкретный. И через нее я не могу задать новые значения координат для объекта. Пытался сделать так:
DBPoint point = trans.GetObject(selObj.ObjectId, OpenMode.ForWrite)as DBPoint;
if(point !=null)
{
point.Position.X= X1;
}
}
}
}
Но столкнулся с такой проблемой, что свойства DBPoint.X не имеет возможности установки (has no setter)
Подскажите пожалуйста, можно ли по такому принципу, как я хочу редактировать объекты, и если да, то как именно? Возможно нужно делать данную процедуру иным способом?
Буду благодарен за помощь
Название: Re: Редактирование объектов с чертежа по ObjectID
Отправлено: bargool от 13-02-2015, 15:12:49
Название: Re: Редактирование объектов с чертежа по ObjectID
Отправлено: bargool от 13-02-2015, 15:30:27
Согласен. Просто хотел обозначить, что Point3d - это неизменяемый тип. При каждом изменении необходимо создавать новый объект
Название: Re: Редактирование объектов с чертежа по ObjectID
Отправлено: Даниил от 13-02-2015, 15:32:08
Приложение будет предусматривать возможность поменять все 3 координаты для точки, координаты двух точек линии, радиус и координаты центра для окружности Действительно, все работает. Нужно создавать новый объект.