  | 
				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    Заголовок сообщения: Спистб Большое! | 
				     | 
			 
			
				
  | 
			 
			
				Спистб Большое! за Помощь!!!                   | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
  | 
   
 
		 |