Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
rjdgtn
Зарегистрирован: 26.02.2009 Сообщения: 37
|
Добавлено: Пт 20 Мар 2009 19:59 Заголовок сообщения: приступить к созданию объекта. |
|
|
как приступить к созданию объекта програмно.
т.е. эффект как при нажатии Правка->Создать->"некий объект" |
|
Вернуться к началу |
|
 |
andreichernov
Зарегистрирован: 14.02.2005 Сообщения: 209 Откуда: Самара
|
Добавлено: Сб 21 Мар 2009 11:21 Заголовок сообщения: |
|
|
Из текста истории изменений Ингео 4.4 на сайте интегро:
----------------------
Добавлены два метода для объекта IIngeoMapWindows
StartObjectCreation(StyleID, Flags) - запускает процесс создания объекта, заданного стиля;
StartShapeCreation(ObjectID, StyleID, Flags) - запускает процесс добавления формы к объекту; |
|
Вернуться к началу |
|
 |
rjdgtn
Зарегистрирован: 26.02.2009 Сообщения: 37
|
Добавлено: Вс 22 Мар 2009 01:35 Заголовок сообщения: |
|
|
спасибо большое |
|
Вернуться к началу |
|
 |
rjdgtn
Зарегистрирован: 26.02.2009 Сообщения: 37
|
Добавлено: Пт 27 Мар 2009 23:57 Заголовок сообщения: |
|
|
хм. а как завершить режим создания объекта? |
|
Вернуться к началу |
|
 |
rjdgtn
Зарегистрирован: 26.02.2009 Сообщения: 37
|
Добавлено: Чт 02 Апр 2009 00:36 Заголовок сообщения: |
|
|
я честно пытался и не смог найти как выйти из режима создания объекта программно.
была идея сделать это через пункты меню
Апп->МаинВиндоу-> МаинМеню->Итем[1]-> СабМеню->Итем[3]->Эктион->Execute() но ничего путного не получается. кажется данных пункт меню обрабатывается как то подругому
P.S. Инедексы правильные-проверял по получению имени и заголовка
Кто может подсказать как решить эту проблему? |
|
Вернуться к началу |
|
 |
RuslanG

Зарегистрирован: 10.07.2005 Сообщения: 171 Откуда: ИНТЕГРО
|
|
Вернуться к началу |
|
 |
sirwalrus
Зарегистрирован: 02.12.2008 Сообщения: 81
|
Добавлено: Чт 02 Апр 2009 19:54 Заголовок сообщения: |
|
|
Кстати не плохо бы что бы ингео сам выходил из режима создания, когда активируешь другую карту другого слоя.
А то рисовал воду, переключился на канализацию. а получается что все равно рисую воду...... приходится заново все отрисовывать.
Хорошо если не много нарисовал еще. а то как то пол квартала пришлось перерисовывать. |
|
Вернуться к началу |
|
 |
rjdgtn
Зарегистрирован: 26.02.2009 Сообщения: 37
|
Добавлено: Пт 03 Апр 2009 23:18 Заголовок сообщения: |
|
|
вот человек собственно и объяснил.
пишу плагин который представляет из себя настраиваемую палитру для быстрого создания объектов. жмешь одну кнопку активизирется слой водобпровода и начинается создание объекта водопровод. жмешь другую создается другой
а проблема в том что пока вруную пользователь не завершит режим создание одного объекта, к режиму создания другого не приступить, вот и получается нарисовал воду, забыл выйти из режима создания, выбрал в палитре водопровод, нарисовал пару километров и в конце оказвыается что ты вместо того чтобы соединить водонапорную станцию с домомом водопроводом, нарисовал через весь город реку.... |
|
Вернуться к началу |
|
 |
Борис Салтыков

Зарегистрирован: 19.05.2008 Сообщения: 42 Откуда: angarsk / msk
|
Добавлено: Вт 06 Апр 2010 15:09 Заголовок сообщения: |
|
|
RuslanG писал(а): | По задумке пользователь интерактивно завершает редактирование. Для чего Вам необходимо завершать программно? |
пример: есть готовые нарисованные дома, и есть отдельная БД оборудования, установленного в этих домах.
было бы очень удобно создать пиктограммки для каждого типа оборудования, а потом написать утилитку, которая быстренько натыкает пиктограммок где-то в районе зданий. а уж потом вручную их чуть подровнять. зато все пиктограммки созданы и все паспорта заполнены автоматом.
хотя все равно приходится на каждом акте создания тыкать один раз мышкой, чтобы показать, где создать объект. как бы еще научиться полностью программно создавать объект нужного стиля с нужными координатами? (не тыкая мышкой физически).
т.е. нужно сэмулировать клик но как? |
|
Вернуться к началу |
|
 |
kirigal
Зарегистрирован: 01.12.2009 Сообщения: 5
|
Добавлено: Ср 21 Июл 2010 15:19 Заголовок сообщения: |
|
|
Возможно ли программно запустить редактирование существующего объекта? |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Чт 22 Июл 2010 09:47 Заголовок сообщения: |
|
|
kirigal писал(а): | Возможно ли программно запустить редактирование существующего объекта? |
Возможно.
Вот пример:
Код: | sub StartShapeEditing(anObjectId, aShapeIndex)
Application.Selection.SelectAlone anObjectId, aShapeIndex
Application.MainWindow.Actions("ActionsEditReshapeSelection").Execute
end sub
sub TestShapeEditing
StartShapeEditing "000300000FDF", 0
end sub |
Правда, не совсем понятно, зачем это нужно.
Пользователь и так легко может начать редактирование. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
netkiller
Зарегистрирован: 21.04.2008 Сообщения: 16
|
Добавлено: Чт 05 Авг 2010 11:01 Заголовок сообщения: |
|
|
rjdgtn писал(а): | я честно пытался и не смог найти как выйти из режима создания объекта программно.
была идея сделать это через пункты меню
Апп->МаинВиндоу-> МаинМеню->Итем[1]-> СабМеню->Итем[3]->Эктион->Execute() но ничего путного не получается. кажется данных пункт меню обрабатывается как то подругому
P.S. Инедексы правильные-проверял по получению имени и заголовка
Кто может подсказать как решить эту проблему? |
Я завершаю создание объекта командой
MapX.Ingeo.MainWindow.Actions.Item[34].Execute;
только вот не помню что за действие, давно это делал)) |
|
Вернуться к началу |
|
 |
Алексей В. Бастриков
Зарегистрирован: 02.06.2008 Сообщения: 118 Откуда: ООО "Инфопроект", г. Екатеринбург
|
Добавлено: Пт 06 Авг 2010 08:00 Заголовок сообщения: |
|
|
Название команды ActionsEditStartSelection
MainWindow.Actions["ActionsEditStartSelection"].Execute() должно гарантировать завершение создания объекта, при этом окно карты возвращается в обычный режим (выделения объектов). |
|
Вернуться к началу |
|
 |
Володченко Станислав
Зарегистрирован: 01.12.2005 Сообщения: 18 Откуда: Питер
|
Добавлено: Пт 29 Окт 2010 12:07 Заголовок сообщения: |
|
|
Борис Салтыков писал(а): | RuslanG писал(а): | По задумке пользователь интерактивно завершает редактирование. Для чего Вам необходимо завершать программно? |
пример: есть готовые нарисованные дома, и есть отдельная БД оборудования, установленного в этих домах.
было бы очень удобно создать пиктограммки для каждого типа оборудования, а потом написать утилитку, которая быстренько натыкает пиктограммок где-то в районе зданий. а уж потом вручную их чуть подровнять. зато все пиктограммки созданы и все паспорта заполнены автоматом.
хотя все равно приходится на каждом акте создания тыкать один раз мышкой, чтобы показать, где создать объект. как бы еще научиться полностью программно создавать объект нужного стиля с нужными координатами? (не тыкая мышкой физически).
т.е. нужно сэмулировать клик но как? |
а что мешает воспользоваться обычным, не интерактивным созданием объектов? Вот мы так поступаем с дорожными знаками, есть база знаков по дорогам (привязка их к пикетажу + сторонность привязки), создаешь объекты в нужном слое в зависимости например от группы знаков, пишешь к ним семантику (например пикет+), вуаля, все готов. В последнее время часто пользуюсь символьными методами отображения для объектов - очень удобно.
Точнее так, мне не ясно зачем эмулировать создание объекта, если АПИ позволяет создавать объекты, в любом слое и любого стиля.
Ну только в случае плагина для палитры типовых объектов это объяснимо, а для случая массового создания - нет. |
|
Вернуться к началу |
|
 |
|