|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Узнавать сразу обо всех объектах в указанной точке экрана
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,072
|
||
Просмотров: 3981
|
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Имхо, возможно все.
Я бы это делал так, в процессе черчения выстраивал бы иерархическую структуру (xml) и вновь создаваемые элементы добавлял бы в нее. Т.е. если по простому, перед черчением линии или вставкой блока спрашивал бы у пользователя какому элементу будет принадлежать добавляемый. А уж вывести фрагмент xml довольно просто и не нагружает систему. Хотя, может я не правильно понимаю задачу... |
|||
![]() |
|
||||
Про "лампочки", "провода" и "комнаты" - это я изначально написал для образности. Убрал. Пусть речь только о блоках, полилиниях и штриховках/областях и т.д.
Пока что единственный прецедент работы в Автокаде по указанному месту на экране, который я знаю - указание точки экрана для BOUNDARY. Которая может ввергнуть Автокад навеки в задумчивость или ничего не дать вообще. ![]() Цитата:
![]() В Мапинфо, кажется, никакой иерархии нет. Там вообще элементы разных "таблиц" могут храниться в разных группах файлов. Допустим, площадные в одной "таблице", линейные в другой, а точечные в третьей.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 18.12.2014 в 18:19. |
||||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,107
|
AutoCAD (в 2015 есть)
А вообще всё просто все эти проги наверняка используют R-tree - а оно так и работает ;=) ![]() http://mikhailov-andrey-s.blogspot.r...v-autocad.html Последний раз редактировалось trir, 18.12.2014 в 20:17. |
|||
![]() |
|
||||
Цитата:
![]() В 2015-м чудо уже свершилось? А поточнее можно - что именно?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Правильно ли я понял задачу? Нужно, чтобы при указании точки программа проверила, какие объекты проходят через эту точку (линии, собственно точки, блоки), а также проверила, в какие замкнутые (или не очень) контуры попадает наша указанная точка и выдала информацию о них? Кстати, какую информацию? Алгоритм мне видится таким: указали точку, с помощью ssget вычислили, что через нее проходит. С помощью одной из программ для проверки принадлежности точки замкнутой линии определили, внутри каких контуров находится данная точка и сделали, например (временно) все эти объекты красными или пунктирными. Кликнули на один из них и в панели Свойства или Быстрые свойства увидели информацию. Так?
|
|||
![]() |
|
||||
Цитата:
Можно, например, чтобы выдавалось окно со списком найденных объектов - как у trir на картинке. Указал в этом окне все найденные - выделились все, указал один - выделился он. А Свойства или Быстрые свойства - само собой, соответственно. Очень интригует это - "С помощью одной из программ для проверки принадлежности точки замкнутой линии". Честно - искал, долго, но, кроме негодящей BOUNDARY, видел пока только одну, самодельную, да и та, возможно, доступной не станет.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 18.12.2014 в 21:14. |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
АлексЮстасу, это тут: Как определить, лежит ли точка внутри контура. Там в теме еще ссылки есть.
Основную проблему вижу в выводе информации. Если выделено более одного объекта, то информативность окна Свойства стремится к нулю. И еще одного не пойму: в каком таком возможном случае подобное может понадобиться? Почему нельзя зумировать и посмотреть, какие объекты пересекают или обрамляют данную точку? И после поочередно изучить свойства любого из них? Какова конечная цель? Может, и примерчик есть, чтоб наглядно понять смысл подобного софта? |
|||
![]() |
|
||||
Цитата:
Назначение - просто для удобства. Удобнее обнаружить объекты, скрытые под другими объектами. Удобнее находить контуры площадей или обнаруживать, что их нет или они не замкнуты. Удобнее узнавать о вложенности объектов.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
Код:
В общем, пока, я лично не вижу, как должны работать эти "хотелки". Может быть, есть возможность показать, как это реализовано в MapInfo? |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Как отразить звуки от распахнутого окна квартиры? | trel | Архитектура | 44 | 18.06.2015 06:11 |
как в мономахе производить действия на всех этажах сразу? | Евгений Д. | Мономах | 7 | 19.03.2011 17:35 |