 |
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Cherezov Max
Зарегистрирован: 01.09.2006 Сообщения: 10
|
Добавлено: Пт 03 Ноя 2006 11:05 Заголовок сообщения: Замыкание контура, нарисованного програмно |
|
|
Рисую множество объектов (аналогия разбивка на планшеты) ипользую несколько измененный код от предложенного в примерах но получается что могу выделить только первый объект, а остальные не поддаются выделению......??? Второе необходимо чтобы каждый прямоугольник был площадным объектом, а получается контуром Как его замкнуть програмно......??? Очень прошу Помогите!!
-------------------------------------------------------------------------
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)
подскажите Очень Очень Надо!  |
|
Вернуться к началу |
|
 |
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 раз |
|
Вернуться к началу |
|
 |
Cherezov Max
Зарегистрирован: 01.09.2006 Сообщения: 10
|
Добавлено: Вт 14 Ноя 2006 00:11 Заголовок сообщения: Спистб Большое! |
|
|
Спистб Большое! за Помощь!!!  |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|