Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Замыкание контура, нарисованного програмно

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
Cherezov Max



Зарегистрирован: 01.09.2006
Сообщения: 10

СообщениеДобавлено: Пт 03 Ноя 2006 11:05    Заголовок сообщения: Замыкание контура, нарисованного програмно Ответить с цитатой

Рисую множество объектов (аналогия разбивка на планшеты) ипользую несколько измененный код от предложенного в примерах но получается что могу выделить только первый объект, а остальные не поддаются выделению......??? Второе необходимо чтобы каждый прямоугольник был площадным объектом, а получается контуром Как его замкнуть програмно......??? Question Очень прошу Помогите!! Crying or Very sad
-------------------------------------------------------------------------
theLayerID = theLayer.ID
theStyleID = theStyle.ID
for i =0 to KolPX-1
for j = 0 to KolPY-1
Set MapObjects = Application.ActiveDB.MapObjects
set theObject = MapObjects.AddObject(theLayerID)
set theShape = theObject.Shapes.Insert(0, theStyleID)
set theContourPart = theShape.Contour.Insert(-1)
theContourPart.InsertVertex -1, K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K+K*j, 0
theContourPart.InsertVertex -1, K*i, K+K*j, 0
theContourPart.InsertVertex -1, K*i, K*j, 0
MapObjects.UpdateChanges
next
next
theStyle.Update
theLayer.Update
heMap.Update
-------------------------------------------------------------------------
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Пт 03 Ноя 2006 13:07    Заголовок сообщения: Re: Замыкание контура, нарисованного програмно Ответить с цитатой

Цитата:

theContourPart.InsertVertex -1, K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K+K*j, 0
theContourPart.InsertVertex -1, K*i, K+K*j, 0
theContourPart.InsertVertex -1, K*i, K*j, 0

Последнюю строку удаляем и вместо нее пишем другую:
Код:

theContourPart.InsertVertex -1, K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K*j, 0
theContourPart.InsertVertex -1, K+K*i, K+K*j, 0
theContourPart.InsertVertex -1, K*i, K+K*j, 0
theContourPart.Closed = True

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Cherezov Max



Зарегистрирован: 01.09.2006
Сообщения: 10

СообщениеДобавлено: Пт 03 Ноя 2006 14:02    Заголовок сообщения: Не выделяет Ответить с цитатой

А как быть с выделением объектов!
После создания объектов выделяется только первый объект а все остельные остаются не активными!
Может все дело в том что при создании обекта надо для каждого объекта создавать индекс, а не рисовать все в 0 индексе
set theShape = theObject.Shapes.Insert(0, theStyleID)
подскажите Очень Очень Надо! Question Shocked
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
RuslanG



Зарегистрирован: 10.07.2005
Сообщения: 171
Откуда: ИНТЕГРО

СообщениеДобавлено: Пн 13 Ноя 2006 00:50    Заголовок сообщения: Ответить с цитатой

-1 надо ставить.. Тогда будет создаваться в цикле новый объект с новым шейпом, контуром и.. И будет выделяться каждый объект.
Код:
set theShape = theObject.Shapes.Insert(-1, theStyleID)

Обновлять изменения лучше после цикла - будет затрачено меньше времени на исполнение программного кода..
Код:
next
next
MapObjects.UpdateChanges

_________________
С уважением, Руслан Гадеев
Видео уроки ИнГео
Документация ИнГео
Обновления ИнГео
Интегропедия


Последний раз редактировалось: RuslanG (Вт 14 Ноя 2006 14:13), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Cherezov Max



Зарегистрирован: 01.09.2006
Сообщения: 10

СообщениеДобавлено: Вт 14 Ноя 2006 00:11    Заголовок сообщения: Спистб Большое! Ответить с цитатой

Спистб Большое! за Помощь!!! Very Happy Very Happy Very Happy Very Happy Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB