|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
12.01.2014, 22:12 | #1 | |
Выбор рамкой под углом
ОПС
Kazakhstan
Регистрация: 29.03.2012
Сообщений: 128
|
||
Просмотров: 6803
|
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
roaa, идея замечательная, поэтому есть замечания и пожелания:
1. При нажатии на правую кнопку (Enter) на запрос базовой точки (и/или угла) напрашивается, на мой взгляд, запрос выбора опорного объекта, например, линии или сегмента полилинии, с которого возьмется угол рамки. 2. У динамической рамки, как бы это выразиться, всего одна степень свободы, т.е. прямоугольник растягивается только по высоте либо только по ширине, что не очень удобно. 3. Если нажать Esc при указании второго угла рамки, то на чертеже эта рамка остается. Т.е. нужна обработка ошибок. 4. Раз программа так называется (ключевое слово "выбор"), то и возвращать она, по-хорошему, должна набор, а не список точек. 5. Хочется, чтоб рамка была как родная автокадовская: в одну сторону секущая (и к тому же штриховая), в другую - охватывающая. 6. Можно добавить возможность производить выбор циклически, используя первый заданный угол. 7. При выборе с Shift'ом с попавших в рамку уже выбранных объектов хорошо бы, чтоб выделение снималось. 8. Ну и неплохо бы иметь возможность добавлять фильтры выбора. А там и в "Готовые программы" ее можно |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
|
|||
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
Цитата:
2. Тут у меня пока не хватает знаний как от этого покрасивше избавиться. 3. Добавил. 4. Да...неудачное название 5-8. Это функция...уж простите. К тому же Ваш код практически это выполняет. Последний раз редактировалось roaa, 17.01.2014 в 23:59. |
|||
|
||||
У меня лично когда-то была "идея фикс" сделать свой инструмент выбора взамен стандартного SSGET с использованием GRREAD. Так вот, споткнулся я как раз на этом:
100% "родную автокадовскую" сделать, скорее всего, не получится. Мало того, что она штриховая, так еще прямоугольник выбора закрашивается зеленым или синим цветом, в зависимости от типа рамки. Закрашивание это - прозрачное, с помощью лиспа такого не сделать и никак не сымитировать. По крайней мере, у меня не получилось.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
ОПС Регистрация: 29.03.2012
Kazakhstan
Сообщений: 128
|
Do$,
Для прямоугольной рамки это нетрудно Код:
Немного изменил код. Теперь вторая точка находится динамически, немного удобней. Добавил возможность задания угла. Последний раз редактировалось roaa, 19.01.2014 в 11:19. |
|||
|
||||
command "_.select"... - это практически командная обертка SSGET, даже, наверное, ее изначальной ObjectARX реализации. Но не все, что доступно в ARX можно реализовать в ЛИСПе, в том числе, с использованием командных методов. К примеру, сможешь ты в этом коде сделать так, чтобы стандартное сообщение "Select objects:" ("Выберите объекты:") заменить своим? Причем таким образом, чтобы оно висело в комстроке, пока идет выбор и бегало за курсором, если включен динамический ввод?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
что-то типа такого?
|
||||
|
||||
дороги Регистрация: 12.07.2019
СПб
Сообщений: 134
|
|
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
В старых версиях это может быть и полезно, но в новых то версиях (как минимум с 2017) можно же выбирать с помощью лоссо, зачем еще код какой то.
По поводу картинки, kоMon специально оживил этот шестилетний некротопик , что бы похвастаться =) |
|||
|
||||
дороги Регистрация: 12.07.2019
СПб
Сообщений: 134
|
так лассо не удобно что вести надо аккуратно - вымерять ровную линию, а на гифке то чётко всё показывает прям как надо...
в теме https://forum.dwg.ru/showthread.php?t=7620, с которой я сюда попал, один из форумчан (kp+) "раскрыл" великолепный секрет, который эту рамку заменяет: после нажатия л.к.м. написать "_w", "_f " или "_с" и тогда в принципе задача решается удобнее чем этим лассо вымерять ровную линию |
|||
|
||||
кодов для совмещения нет. он один. то есть всё крутится, перемещается и переключается в одном запуске.
merkur1y верно подметил, что лассо это не от слова совсем удобная вещь для тонкого выбора, и потом у него же и был первый реанимирующий пост про выбор рамкой под углом. и да, я, присоединившись к группе реаниматолога(ов), взглянул на задачу под несколько другим углом рамки и всё. Цитата:
я знаю что могу, ты знаешь что я могу, и вероятно даже знает что я могу. поэтому рассматривай это как антисаNETарный проход в защиту зашпинянного, вечно-живого, с готовностью идущего на помощь и молодого лиспа |
||||
|
|||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Цитата:
Цитата:
Цитата:
Если речь про #1 и #4, то нужно просто подгрузить оба кода и вызывать командой TEST. Я в свое время этот код под себя допилил - стояла подобная задача, но использовал его от силы несколько раз. Хотел выложить на форум, но подзабыл, видимо, да и интереса к этой теме не было. Там из свистелок только возможность выбора рамкой секущей или опоясывающей, в зависимости от направления рамки (по принципу родной рамки ssget), а также возможность с зажатым Shift'ом удалять объекты из набора (только, если ExpressTools установлены). Из перделок (заливка рамки фоном, верчение её в реальном времени по кругу, подсветка попавших в рамку примитивов) ничего нет. Но для задачи выбрать все объекты, находящиеся между двумя прямыми, может, и сойдет. Код:
|
||||
|
||||
Я хочу выразить неиссякаемый респект skkkk, за тонкий ироничный (ирония - лучший юмор имхо) фрагмент "Пятерых из Простолиспово". Я настойчиво прошу автора приделать автофокус чтобы завершить гармонически фрагмент. Offtop: Про переделки как-то не очень)))
|
||||
|
||||
|
||||
|
||||
так будет получше
|
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выбор в автокаде | ASЪ | AutoCAD | 39 | 26.06.2014 20:19 |
Выбор и подсветка объектов в 2013 Акаде. | Astartes | AutoCAD | 4 | 20.05.2013 13:24 |
Выбор рамкой (работает глючно) | Strannyk | AutoCAD | 2 | 24.05.2011 11:40 |
Выбор объектов рамкой, вне экрана? | Berejnoy | AutoCAD | 8 | 03.01.2008 13:44 |
Выбор примитивов в функции (command) | mmax | Программирование | 12 | 19.05.2006 20:02 |