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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как получить конечные точки занимаемой области?

Как получить конечные точки занимаемой области?

Ответ
Поиск в этой теме
Непрочитано 08.02.2017, 10:51 #1
Как получить конечные точки занимаемой области?
prajdziswet
 
Регистрация: 30.03.2015
Сообщений: 152

Добрый день,
Можно ли получить конечные точки занимаемой области?
Например есть команда зуммирование _zoom "_e" , которая выводит все объекты в видимую часть экрана (не знаю как корректнее выразится, по команде я думаю догадались, что я имел введу)
Можно ли получить координаты этих конечных точек и как (имею введу координаты прямоугольной этой области верхний-левый край и правый-нижний, ну или другие по диагонали прямоугольника)

Объясню что хочу сделать, может более яснее будет:
У меня программа очищает полилинии, склеивает их и т.д
Если забирать все полилинии сразу ssget,а потом их модифицировать - то очень долго (ориентировочная время около 3суток)
Если выбрать область в ручную, а потом разбить их на квадратики и уже там брать ssget и обрабатывать -время меньше часа
(много элементов около 180 тыс поли линий, скрипт уменьшает до 80 тыс где-то)

И я хочу получить самые крайние точки (чтобы не вручную показать область), а потом работать с этими координатами....
Просмотров: 1580
 
Непрочитано 08.02.2017, 11:06
1 | 1 #2
valerik88


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


Есть функция, которая выдаёт координаты крайних точек экрана.
http://www.caduser.ru/forum/index.ph...0#message74210

Соответственно зумируешь экран, применяешь функцию, получаешь точки.

Процитирую тут
Код:
[Выделить все]
 (defun active_viewport_coners
       (/ vCen vHei vPix vWid lBot rTop)
  (setq vCen(getvar "VIEWCTR")
   vHei(getvar "VIEWSIZE")
   vPix(getvar "SCREENSIZE")
   vWid(* vHei(/(car vPix)(cadr vPix)))
   lBot(list(-(car vCen)(/ vWid 2))
       (-(cadr vCen)(/ vHei 2))
       ); end list
   rTop(list(+(car vCen)(/ vWid 2))
       (+(cadr vCen)(/ vHei 2))
       ); end list
   ); end setq
  (list lBot rTop)
  ); end active_viewport_coners
valerik88 вне форума  
 
Непрочитано 08.02.2017, 11:09
1 | 1 #3
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


https://habrahabr.ru/post/278765/
trir вне форума  
 
Автор темы   Непрочитано 08.02.2017, 12:19
#4
prajdziswet


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


valerik88
благодарю , это я и хотел...

ну и trir , тоже спасибо
prajdziswet вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как получить конечные точки занимаемой области?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить точки пересечения двух полилиний? Mozgunov Программирование 42 03.09.2023 09:38
AutoCAD 2015. Как получить фигуру, повторяющую базовую фигуру и точки которой равноудалены от точек базовой фигуры? baev_al AutoCAD 4 28.03.2016 10:30
Аттестация работников в области промышленной безопасности для разработки ППР/ППРк Bleba Технология и организация строительства 0 11.02.2016 20:03
Ищу пример "План управления контрактом в области ПЭБ, ОТ и ГЗ" Bendaho Поиск литературы, чертежей, моделей и прочих материалов 0 28.01.2016 11:08
Быстро получить Набор объектов попадающих в Сферу [N.S] Программирование 10 09.08.2009 11:04