RUS  ENG 

Изменение графического типа в плагине

Страницы: 1
RSS
Изменение графического типа в плагине
 
Добрый день. Можно ли изменить графический тип элемента после добавления его в слой сети?
Эелемент переносится из слоя источника и имеет сл. свойства
Графический тип = простой символ
Тип = -1
Режим = -1

если с типом и режимом все вроде понятно - есть функция ChangeTypeMode()
то как быть с Графическим типом?
Нужно поменять на Графический тип = Типовой символ
 
Программно одной функцией нельзя. Если только получить координаты символа. Записать с этими координатами типовой символ, исходный удалить а новому поменять ID на исходный.
 
Спасибо за подсказку.
решил сл. образом
получил координаты (X,Y) элемента из слоя источника
добавил в слой сети символ AddSymbol(X, Y, 6, 1)
 
Если это массовый перенос из другого слоя, то можно для слоя источника использовать Layer1.EnumElements для перебора всех объектов, а для записи в слой Layer2.AddEnumElementEx с указанием типа. Только версия должна быть одной из последних.
 
Да это массовый перенос.
пытался использовать AddEnumElementEx в версии 7.0.0.5302, но Layer2.AddEnumElementEx всегда возвращала -1.
 
вот пример исполнения
var destLayer = mapDoc.Layers[8]; //слой - сеть
var en = srcLayer.EnumElements(); // итератор EnumElements слоя источника
en.MoveFirst();
while (!en.IsEOF())
{
destLayer.AddEnumElementEx(en, en.ElemID, 6, 1, 0); // 6 - рег. устройство; 1 - режим ГРС
-- всегда равно -1, пытался поставить вместо en.ElemID -1, для автоматического присвоения id, результат тот же--
en.MoveNext();
}
 
5302 не годится. Из нетипового в типовой совсем недавно добавили. Обновите версию. Не заработает, будем смотреть.
 
Все работает, спасибо.
Страницы: 1