|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Net. Определить над каким размером находится курсор
Липецк, Москва
Регистрация: 12.06.2010
Сообщений: 534
|
||
Просмотров: 3204
|
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Я так понимаю, Вас во всех поисковиках забанили?
http://adn-cis.org/kak-poluchit-koor...shi-v-psk.html - C++ http://forums.autodesk.com/t5/net/cu...s/td-p/1330283 - C# |
|||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
Я просил помощи в другом вопросе. Даже не просил никаких кодов, а просил идею! Ну, в принципе, я уже сам придумал вариант: получаю stretchpoints размера. Делаю отрезок, соединив 3 и 4 точки (точки размерной линии). Затем методами Curve.GetClosestPointTo(Point3d) и Point3d.DistanceTo(Point3d) получаю список расстояний до размеров. С математической точки зрения - до какого размера это расстояние наименьшее, тот и является искомым. Да, забыл сказать - это все происходит в DrawJig Вот остался только еще нерешенный вопрос - как обработать вариант (не подходящий по ситуации) когда курсор оказывается как бы сбоку? Т.е. левее левого или правее правого (если забыть про 3D и посмотреть на приложенную выше картинку) Offtop: З.Ы. Я прям аж соскучился по остроумным ответам людей, даже не вникших в суть вопроса ))) |
|||
![]() |
|
||||
Что значит "над ними"? Курсор находится выше (по оси Y) в текущей пользовательской системе координат? Или в мировой СК? Или в СК экрана? Или курсор "над размером" в том смысле, что какой-то из элементов размера находится в прицеле курсора?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
Это значит, что если я удлиню размерные линии размера (как звучит-то коряво) до бесконечности (ну или очень далеко), то курсор окажется между ними. Т.е. если я из курсора отложу перпендикуляры на эти выносные линии, то эти перпендикуляры буду прямо противоположны по направлению друг к другу Не знаю как понятней объяснить. Просто в этом случае не важно какая СК. Ну и естественно - это речь не про случай, что какой-то из элементов размера находится в прицеле курсора) Как я уже писал выше - в принципе решение я нашел. Оно работает. Осталось только придумать как обработать вариант, когда курсор "не находится ни над одним размером" |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Вообще-то это критично. Для разных систем координат результат может быть совершенно неожиданным - вплоть до того, что надо будет сравнивать не те координаты.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
Не считая неотвеченного вопроса выше и маленького глюка (на видео видно, что один размер "убежал") вариант работает. И СК вроде роли сильно не играет... |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Какой вопрос, такой и ответ. Gomer уже намекнул, что "над" может быть совсем разным, "над" это по оси X? Y? или Z? Или может относительно вида?
Я понял "над" по своему. И исходя из этого ответил на Ваш вопрос. Единственная сложность в вашем вопросе, ИМХО, это получение координат курсора, сравнить координаты курсора с предельными координатами каждого элемента в размере (с учетом системы координат) не велика проблема. Если я правильно помню, база чертежа может быть доступна из jig класса, так что сложностей не вижу. А если размеры частично накладываются или пересекаются? Или "внутри" большого , нарисовано несколько маленьких? Последний раз редактировалось Boxa, 28.04.2015 в 15:36. Причина: Дополнил |
|||
![]() |
|
||||
Это явный признак того, что задача до конца не осознана
![]() Так а почему бы не реализовать это в коде? Пространство имен Autodesk.AutoCAD.Geometry содержит некоторые очень полезные объекты для таких "построений".
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить ширину полосы отвода для прокладки водопровода?Или по каким нормативным документам определяется ширина полосы отвода? | kess35 | Инженерные сети | 24 | 18.10.2023 02:54 |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Каким образом можно определить необходимость устройства ветрозащиты в навесной вентилируемой фасадной системе? | Aragorn | Конструкции зданий и сооружений | 15 | 02.05.2018 18:35 |
Каким размером должно быть заложено отверстие под воздуховод? | niger66 | Инженерные сети | 1 | 19.12.2012 20:20 |
По каким справочникам можно определить базовую цену проектирования электрообогрева трубопроводов | mvart | Поиск литературы, чертежей, моделей и прочих материалов | 4 | 14.06.2010 18:57 |