| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить координаты предыдущего (активного) выбора объектов ?

Как получить координаты предыдущего (активного) выбора объектов ?

Ответ
Поиск в этой теме
Непрочитано 16.06.2016, 11:11 #1
Как получить координаты предыдущего (активного) выбора объектов ?
baksconstructor
 
Регистрация: 05.11.2014
Сообщений: 978

Выбираем рамкой объекты, создался набор.
Нужно получить координаты угловых точек которые указывали при выборе.
Команда (getvar "lastpoint") выдаёт только одну из них (начальную), нужна ещё конечная.
Перебор объектов в наборе с получением габаритов не подходит - габариты больше чем рамка выбора.
Есть у кого идеи как получить вторую точку выбора ? Любым методом...
Просмотров: 3751
 
Непрочитано 16.06.2016, 12:06
#2
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Не всё понял...
Типа так?
Код:
[Выделить все]
 (setq ss (ssget "_W" (setq p1 (getpoint "\nУкажите первую точку рамки")) (setq p2 (getpoint "Укажите вторую точку рамки"))))
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 16.06.2016 в 12:11.
Alan вне форума  
 
Автор темы   Непрочитано 16.06.2016, 12:13
#3
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Цитата:
Сообщение от Alan Посмотреть сообщение
Не всё понял...
Типа так?
Нет, это понятно, у Вас предлагается выбор.
Нужно - пользователь как обычно рамкой выбрал объекты в определенной области, через некоторое время нужно выбрать эту же область. Вот мне и нужно получить координаты рамки выбора которую юзер руками создал. Отловить в какком месте был выбор. Без принудительного задания выбора.
baksconstructor вне форума  
 
Непрочитано 16.06.2016, 12:33
#4
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Опять не понял.
Код:
[Выделить все]
 ;;;что-то выбрал
(setq ss (ssget "_C" (setq p1 (getpoint "\nУкажите первую точку рамки")) (setq p2 (getpoint "\nУкажите вторую точку рамки"))))
;;; поработал
;;;бла, бла, бал
выбрал еще раз новый набор в ранее указанной области
(setq ss2 (ssget "_C" p1 p2))
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 16.06.2016, 12:37
#5
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Цитата:
Сообщение от Alan Посмотреть сообщение
Опять не понял.
Код:
[Выделить все]
 ;;;что-то выбрал
этого и не должно быть.
Юзер сперва выбирает, а потом запускает команду.
baksconstructor вне форума  
 
Непрочитано 16.06.2016, 12:52
#6
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Нужно получить координаты угловых точек которые указывали при выборе.
ssnamex
Подробности в хелпе
kp+ вне форума  
 
Автор темы   Непрочитано 16.06.2016, 13:04
#7
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Цитата:
Сообщение от kp+ Посмотреть сообщение
ssnamex
ему же тоже нужно дать набор (допустим ss) из которого он получит инфу, но набора явного нет.
Может есть решение на VBA ?
baksconstructor вне форума  
 
Непрочитано 16.06.2016, 13:05
#8
trushev


 
Регистрация: 12.01.2015
Сообщений: 261


Может поэксперементировать с (grread)
trushev вне форума  
 
Непрочитано 16.06.2016, 13:19
#9
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
но набора явного нет
Что значит нет? Но ведь откуда-то известно, что было выбрано? В частности, может быть известно из предыдущего набора.
попробуйте
Код:
[Выделить все]
 (ssnamex (ssget "_p"))
kp+ вне форума  
 
Непрочитано 16.06.2016, 13:54
#10
Puroshev


 
Регистрация: 22.10.2008
Сообщений: 73
Отправить сообщение для Puroshev с помощью Skype™


Цитата:
габариты больше чем рамка выбора
В этом случае ты выбираешь не рамкой, а секрамкой.
А может записать координаты точек в файл?
Puroshev вне форума  
 
Автор темы   Непрочитано 16.06.2016, 13:56
#11
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Цитата:
Сообщение от Puroshev Посмотреть сообщение
А может записать координаты точек в файл?
Может... только их сперва получить надо... буду пробовать, жаль на VBA не получается, там удобнее дальнейшая обработка.
baksconstructor вне форума  
 
Непрочитано 16.06.2016, 15:24
#12
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
только их сперва получить надо
(ssnamex (ssget "_p")) не помог?
kp+ вне форума  
 
Автор темы   Непрочитано 16.06.2016, 15:25
#13
baksconstructor


 
Регистрация: 05.11.2014
Сообщений: 978


Цитата:
Сообщение от kp+ Посмотреть сообщение
(ssnamex (ssget "_p")) не помог?
Посмотрел справку, вроде можно вытащить, я в лиспе не силён, вечером буду пробовать.
baksconstructor вне форума  
 
Непрочитано 16.06.2016, 16:09
#14
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Alan тебе правильно написал в #4. Второй раз ничего не надо вручную выбирать, ssget САМО выберет объекты в области, указанной рамкой с точками p1 и p2.
Вот тебе 2 примера:
Выбор рамкой:
Код:
[Выделить все]
(setq pt1 (getpoint "\nПервый угол рамки: "))
(initget 35)
(setq pt2 (getcorner pt1 "\nВторой угол рамки: "))
......................
(setq ssl (ssget "_W" pt1 pt2))
Выбор многоугольной рамкой:
Код:
[Выделить все]
(setq ptn 0 sp_pt nil)
(setq pt (getpoint "\nУкажите начальную точку: "))
(setq sp_pt (append sp_pt (list pt)))
(While ptn
     (setq ptn (getpoint pt "\nУкажите следующую точку (Enter-Закончить): "))
     (if ptn
         (progn
         (setq sp_pt (append sp_pt (list ptn)))
         (grdraw pt ptn 1 1)
         ) ; progn
     ) ; if
     (setq pt ptn)
) ; while
.................................
(princ "\nСписок координат: ") (princ sp_pt)
(setq ssl (ssget "_WP" sp_pt))

Последний раз редактировалось Profan, 16.06.2016 в 16:16.
Profan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить координаты предыдущего (активного) выбора объектов ?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить координаты точки вставки атрибута, используя GetAttributes june Программирование 2 20.04.2012 06:42
координаты вершин выбранной полилинии на VB? как получить ssv22 Программирование 5 17.07.2008 00:01
После выбора объектов в панеле \"Свойства\" написа Леха Кучерявый AutoCAD 8 29.03.2007 13:29
Рамка выбора объектов и USC. vn AutoCAD 12 21.10.2006 18:41
Как получить таблицу свойств объектов такую же как в OrCad passat AutoCAD 1 08.12.2004 01:12