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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Последовательный просмотр и редактирование выбранных элементов файла

Последовательный просмотр и редактирование выбранных элементов файла

Ответ
Поиск в этой теме
Непрочитано 12.09.2010, 01:09 #1
Последовательный просмотр и редактирование выбранных элементов файла
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,072

Существует ли под Автокад пограмма поочередного поштучного просмотра множества выбранных элементов? Например последовательного?
В одном из приложений одной из графических сред такой программкой я с удовольствием пользовался. Называлась "Очередь" ("Queue"). Хочешь - просматриваешь элементы выборки по возрастанию порядкового номера, хочешь - в обратном порядке, хочешь - указываешь порядковый номер элемента выборки. Кстати, и запомнить выборку (точнее - идентификаторы элементов) тоже было можно и загрузить потом нужную выборку тоже было можно. Была и настройка отображения просматриваемого элемента на экране - степень увеличения, показывать весь элемент или с его начальной точки и т.п.
Чрезвычайно удобно для исправлений, проверок, когда необходимо с однотипными элементами производить разные действия. Помогает не пропустить какие-то элементы, не делать такие выборки по много раз. Даже посмотр с редактированием больших выборок элементов (до тысячи) с помощью такой программы производился в реальные сроки, и из безнадежного превращается во вполне реальный.

Последний раз редактировалось АлексЮстасу, 12.09.2010 в 16:34.
Просмотров: 7299
 
Непрочитано 12.09.2010, 01:52
#2
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


gomer вне форума  
 
Автор темы   Непрочитано 12.09.2010, 02:42
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


В самом же базовом Автокаде есть даже похожая функция - поиска/замены текстов. Говоришь какой текст ищешь (как бы выборка), и можно последовательно просмотреть все найденное, и что нужно с этими текстами сделать.
АлексЮстасу вне форума  
 
Непрочитано 12.09.2010, 16:06
#4
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


ну вот так попробуй:
Код:
[Выделить все]
(defun c:test ( / ss i minp maxp)
  (vl-load-com)
  (if (setq ss (ssget))
	(progn
	  (setq i 0)
	  (terpri)
	  (repeat (sslength ss)
		(vla-GetBoundingBox (vlax-ename->vla-object (ssname ss i)) 'minp 'maxp)
		(vla-ZoomWindow (vlax-get-acad-object) minp maxp)
		(getkword "\rpress enter to continue")
		(setq i (1+ i))
	  )
	)
  )
  (princ)
)
И фантазируй, фантазируй
gomer вне форума  
 
Автор темы   Непрочитано 12.09.2010, 16:33
#5
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
ну вот так попробуй:
И фантазируй, фантазируй
Круто!
(а ведь только-только подумал, что не точно назвал тему. Нужно было: Последовательный просмотр и редактирование выбранных элементов файла. Ведь от простого просмотра толку - как от просмотра порножурнала Необходимо же не просто полистать, но и поделать желаемое).
Я не фантазирую - подобной программой вовсю пользовался сам, и считал ее совершенно незаменимой.
Т.е. можно прикрутить сюда еще и возможность действия с каждым выбранным элементом? С возможностью вернуться к пролистыванию элементов?
Да, а подсветить текущий просматриваемый элемент возможно?

Последний раз редактировалось АлексЮстасу, 12.09.2010 в 16:58.
АлексЮстасу вне форума  
 
Непрочитано 12.09.2010, 17:20
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515




Ну тогда тебе нужны две глобальные переменные: gCCurentSelectionSet, gCCurentSelectionSetItem; панель с кнопочками: Новый набор, Добавить объект в набор, Приблизить, Приблизить к следующему, Приблизить к предыдущему, Сохранить набор в файл, Открыть набор из файла и Большая красная
Это еще без сортировки...
Представляешь фронт работ?
Для каждой кнопочки своя функция!
Как по мне лучше с видами работать и сохранять именно их
gomer вне форума  
 
Автор темы   Непрочитано 12.09.2010, 17:59
#7
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение


Ну тогда тебе нужны две глобальные переменные: gCCurentSelectionSet, gCCurentSelectionSetItem; панель с кнопочками: Новый набор, Добавить объект в набор, Приблизить, Приблизить к следующему, Приблизить к предыдущему, Сохранить набор в файл, Открыть набор из файла и Большая красная
Это еще без сортировки...
Представляешь фронт работ?
Для каждой кнопочки своя функция!
Как по мне лучше с видами работать и сохранять именно их
Сортировка - это бы от жиру.
Большая красная - это завсегда от умища.
А вот остальные - буквально ведь так в той незабвенной программке и было сделано. Там только вместо "Добавить объект в набор" (тоже пусть бы и будет, но в лучшие времена) была кнопка настройка отображения и действия: степень увеличения, показывать весь элемент или его начало, какую команду по умолчанию активизировать.
Кстати, "приблизить" работает и сейчас в твоей проге, что приятно - колесико покрутить.
Фронт работ к счастью не представляю
С видами - это как?

А можно просмотр и его направление повесить не на Enter, а на стрелочки клавиатуры. Например, на влево-вправо? Они вроде бы ничем не заняты.

Последний раз редактировалось АлексЮстасу, 12.09.2010 в 18:08.
АлексЮстасу вне форума  
 
Непрочитано 12.09.2010, 23:14
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Для начала о неприятном... Если объект удален, может возникнуть либо ошибка, либо путаница... Поэтому нужно повесить реактор, который бы удалял из набора удаленный элемент...


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
С видами - это как?
есть команда -view с опциями save и restore



Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
А можно просмотр и его направление повесить не на Enter, а на стрелочки клавиатуры.
на стрелки лучше повесить pan, и в оригинале они тоже полезны...
gomer вне форума  
 
Автор темы   Непрочитано 13.09.2010, 00:59
#9
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Для начала о неприятном... Если объект удален, может возникнуть либо ошибка, либо путаница... Поэтому нужно повесить реактор, который бы удалял из набора удаленный элемент...
Зришь в самый корень! Я оставлял просто это за скобками.

Цитата:
Сообщение от gomer Посмотреть сообщение
есть команда -view с опциями save и restore
В данном случае виды как использовать? Я видами еще никогда не пользовался.

Цитата:
Сообщение от gomer Посмотреть сообщение
на стрелки лучше повесить pan, и в оригинале они тоже полезны...
У меня на штатно установленных разных Автокадах на стрелки влево-вправо ничего не повешено. Вверх-вниз - да, перебор вызванных команд.
А перемещение экрана у меня на средней кнопке мыши.
С дугой стороны, т.к. данный режим просмотра-редактирования не совсем обычен, то пусть стрелки будут заняты именно перебором элементов выборки. Пока работает этот просмотр. (Ведь ты же использовал Enter с необычным для него действием?). Так ведь можно основательно сэкономить на кнопках для этой программы.
Или такой подход неправилен?
АлексЮстасу вне форума  
 
Непрочитано 13.09.2010, 01:33
#10
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
В данном случае виды как использовать? Я видами еще никогда не пользовался
Попробуй, возможно, этот способ удобнее... просто запоминаешь виды с именами 1, 2, 3.... потом восстанавливаешь по очереди... Конечно все в голове нужно держать... но с другой стороны с помощью видов отображать не один объект, а несколько... как узлы и редактировать их
gomer вне форума  
 
Автор темы   Непрочитано 13.09.2010, 01:44
#11
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Попробуй, возможно, этот способ удобнее... просто запоминаешь виды с именами 1, 2, 3.... потом восстанавливаешь по очереди... Конечно все в голове нужно держать... но с другой стороны с помощью видов отображать не один объект, а несколько... как узлы и редактировать их
Гм... А как я запомню виды? Сначала с помощью твоей доработанной программы (доработанной уже до возможности не только смотреть, но и вызывать команды Автокада) последовательно просмотрю все элементы (допустим, штук 126), всякий раз вызывая view, задавая оцию save, вводя номер вида. А потом с ее же помощью в три этапа вызывать нужные виды. Естественно, что аккуратно отмечая на бумажке какие виды уже просмотрены
АлексЮстасу вне форума  
 
Непрочитано 13.09.2010, 01:57
#12
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Кстати, а что за элементы ты просматриваешь? Надеюсь, не точки...
gomer вне форума  
 
Автор темы   Непрочитано 13.09.2010, 02:15
#13
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Кстати, а что за элементы ты просматриваешь? Надеюсь, не точки...
Самые обычные и самые разные. Блоки, тексты, полилинии. Элементы какого-то слоя, с каким-то цветом, типом линий. Марки ошибок, созданные разными программами, фирменными (Map 3D) и самодельными.
Пометки корректора. И т.п.
Эта программа востребована всякий раз, когда есть элементы с общим признаком, но с этими элементами необходимо сделать не однотипное действие (например, все удалить, всем дать один цвет, все на одно расстояние сдвинуть и т.п.), а разные - по ситуации. Сейчас приходится делать эту выборку столько раз, на сколько хватает зрительной памяти. Если файл большой и сложный, то ее хватает запомнить местоположение в файле 2-3 элементов. Соответственно, начинаешь лениться (или надеяться, что все уже просмотрел глазами), соответственно - появляются ошибки, недоделки.

Реально эта возможность просматривать и что-то сделать с каждым найденным элементом есть и в самом Автокаде, но не в базовом, а встроенная в Drawing Cleanup из AutoCad Map 3D. В Drawing Cleanup можно выбрать интерактивный режим редактирования, который позволяет последовательно просмотреть все соответствующие места файла, с возможностью что-то отредактировать, а что-то оставить как есть, пометить спорные места специальными марками. Но, во-первых, Drawing Cleanup предназначен только для геометрической коррекции чертежей, и делает только ее.
Во-вторых, такая возможность есть только встроенной конкретно в Drawing Cleanup (как есть похожая и в поиске/замене текстов), а отдельной и в AutoCad Map 3D тоже нет.

Последний раз редактировалось АлексЮстасу, 13.09.2010 в 03:28.
АлексЮстасу вне форума  
 
Непрочитано 13.09.2010, 20:54
#14
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Вот, набросал по быстрому... пока без реактора... Времени катастрофически нет...
rev.1.2
Добавлена настройка коэффициента приближения
rev.1.2.1
Добавлена очистка выделения при навигации по объектам
rev.1.2.2
Добавлена подсветка приближаемого объекта
rev.1.3
Добавлено удаление объекта из набора при его удалении
При отмене объект не восстанавливается в наборе!
Вложения
Тип файла: zip ssNavigate.zip (10.2 Кб, 131 просмотров)

Последний раз редактировалось gomer, 07.11.2010 в 16:15.
gomer вне форума  
 
Автор темы   Непрочитано 14.09.2010, 00:17
#15
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Вот, набросал по быстрому... пока без реактора... Времени катастрофически нет...
Дважды ку!
И за палетку, и за возможность редактировать элементы, и за просмотр в прямом и обратном направлении. Уже здорово!
Первую и вторую кнопку (Выбрать объекты, Добавить объект в набор) в принципе я даже не планировал. Можно ведь вполне обойтись и существующими возможностями выбора. Вот запомнить выборку - было бы здорово.
Кстати, есть возможность запоминать не сами элементы, а только их идентификаторы?
На третьей и четвертой кнопках можно вместо "SS" изобразить стрелки вправо/влево?
И можно сделать кнопку для задания вручную порядкового номера? Вечером уходил на 134-м элементе, а утром включил, и начал сразу со 135-го?
Геометрию элементов уже можно изменять отдельно у каждого элемента. Но при перекрашивании, назначении весов изменения происходят у всех элементов выборки.
После выхода (Esc), после создания новой выборки и повторного входа в программу, первая выборка не сбрасывается.
И, конечно, хорошо бы сообщать в ком. строке: сколько всего элементов и какой просматривается.
А так - круто!
АлексЮстасу вне форума  
 
Непрочитано 14.09.2010, 01:29
#16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
На третьей и четвертой кнопках можно вместо "SS" изобразить стрелки вправо/влево?
Там и есть стрелочки, или это не заметно?
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
при перекрашивании, назначении весов изменения происходят у всех элементов выборки.
После выхода (Esc), после создания новой выборки и повторного входа в программу, первая выборка не сбрасывается.
Этого не понял...
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
И можно сделать кнопку для задания вручную порядкового номера?
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
И, конечно, хорошо бы сообщать в ком. строке: сколько всего элементов и какой просматривается.
Если будет завтра время - сделаю

Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Кстати, есть возможность запоминать не сами элементы, а только их идентификаторы?
А в чем смысл... Я, например не пользовался ими никогда... и не жаловался
gomer вне форума  
 
Автор темы   Непрочитано 14.09.2010, 02:39
#17
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Там и есть стрелочки, или это не заметно?
Сослепу не разглядел. Думал, что это какие-то звездочки. Можно их сделать побольше и вместо "SS"?

Цитата:
Сообщение от gomer Посмотреть сообщение
Этого не понял...
Если я просматриваемому элементу меняю цвет, вес или т.п., то изменяется у всех элементов, а не только у этого конкретно.
Э... В первый раз не заметил, что программка работает только со своей выборкой. Потому я и напутал. Но необходимо, чтобы она работала с уже сделанной выборкой. Тем же Quick Select'ом. Иначе - поди найди нужное...

Цитата:
Сообщение от gomer Посмотреть сообщение
Если будет завтра время - сделаю
ку!


Цитата:
Сообщение от gomer Посмотреть сообщение
А в чем смысл... Я, например не пользовался ими никогда... и не жаловался
Был бы файл идентификаторов с другим расширением, не dwg, и было бы понятно, для чего он, удалять, хранить его, и что с ним вообще делать.
И меньше размером был бы, чем dwg. И был бы больше независим от изменения элементов.
Или я ломлюсь в открытую дверь? Сейчас как сохраняются выборки? В виде собственно самих элементов?
АлексЮстасу вне форума  
 
Непрочитано 15.09.2010, 01:29
#18
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
В первый раз не заметил, что программка работает только со своей выборкой. Потому я и напутал. Но необходимо, чтобы она работала с уже сделанной выборкой. Тем же Quick Select'ом. Иначе - поди найди нужное...
Ну конечно же со своей!
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Сейчас как сохраняются выборки? В виде собственно самих элементов?
Сейчас сохраняется только один набор в течение одного сеанса Autocad...
Обновил программу... Добавил:
Две команды - Показать текущий, Показать по индексу... Надеюсь пригодятся...
Номер элемента теперь отображается в ком.строке
Теперь обрабатывается ошибка при отсутствии набора и попытке навигации или добавления элемента;
Теперь обрабатывается нажатие ESC...
gomer вне форума  
 
Автор темы   Непрочитано 15.09.2010, 03:39
#19
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Ну конечно же со своей!
Почему? Нужно же со внешней выборкой.

Цитата:
Сообщение от gomer Посмотреть сообщение
Сейчас сохраняется только один набор в течение одного сеанса Autocad...
Я-то думал, что уже принято выборки как-то сохранять.

Цитата:
Сообщение от gomer Посмотреть сообщение
Обновил программу... Добавил:
Две команды - Показать текущий, Показать по индексу... Надеюсь пригодятся...
Номер элемента теперь отображается в ком.строке
Теперь обрабатывается ошибка при отсутствии набора и попытке навигации или добавления элемента;
Теперь обрабатывается нажатие ESC...
Все это замечательно, только обновление не приложено...
АлексЮстасу вне форума  
 
Непрочитано 15.09.2010, 18:59
#20
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Почему? Нужно же со внешней выборкой.
Ну, так... Если вы не знаете, где находится какая-то вещь, то не можете ее использовать... И всегда запоминаете, где что находится... Так и с набором... Программа его запоминает и работает с ним... Все логично...

Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Я-то думал, что уже принято выборки как-то сохранять.
Сохранять-то можно... Это как плей-лист... В котором есть ссылки, а самих файлов нет...
Впрочем, все возможно...

Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Все это замечательно, только обновление не приложено...
Смотри пост #14
gomer вне форума  
 
Автор темы   Непрочитано 16.09.2010, 03:37
#21
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


Цитата:
Сообщение от gomer Посмотреть сообщение
Ну, так... Если вы не знаете, где находится какая-то вещь, то не можете ее использовать... И всегда запоминаете, где что находится... Так и с набором... Программа его запоминает и работает с ним... Все логично...
Понял. Т.е. теперь я делаю выборку, нажимаю на "Выбрать объекты", и выборка загружается в программу.

Добавленные сообщения - шикарно.
Добавление кнопки "Показать текущий" - супер. Вспомнил, что в той чужой палетке тоже была такая кнопка! Когда увлечешься редактированием других элементов, то с ее помощью удобно вернуться в очередь.
Добавление кнопки "Показать по индексу" - классно. Удобно для быстрой "прокрутки фильма". Если выборку можно будет сохранять, а потом загружать, то будет удобно и для возвращения к работе утром или в понедельник. Можно ее переназвать в "Показать с номером" или "Показать с пор. номером" или "Показать с порядковым номером"? Это все ж таки не так приводит в трепет как "индекс"
Обрабатывается Esc - здорово! Теперь можно перекрашивать, назначать типы линий и т.п. отдельным элементам выборки.
Об иконках. Нарыл в Автокаде некоторые, и две сообразил сам (одну из существующей). Иконки, как мне кажется, подходящие для соответствующих действий, и более информативные.
SEL_SET.BMP - Выбрать объекты
SEL_ADD.BMP - Добавить объект в набор
SEL_FWD.BMP - Показать следующий
SEL_CUR.bmp - Показать текущий
SEL_NUM.bmp - Показать по индексу (Показать с порядковым номером)
SEL_BACK.BMP - Показать предыдущий
Конкретно на этих иконках я не настаиваю. Можно еще порисовать-поискать.
Кстати, на пробу удалил один из элементов выборки. Программа сказала: "Ошибка 2: bad argument type: VLA-OBJECT nil". Но дело свое не бросила А можно сообщать вместо этого что-нибудь вроде: "Объект ... из выборки удален"? Вместо многоточия - его порядковый номер.

Уже практически все работает как нужно
Вложения
Тип файла: rar Выбор_элементов.rar (2.5 Кб, 67 просмотров)
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Последовательный просмотр и редактирование выбранных элементов файла



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
DwgRuLispLib: Функция открытия диалога Open\Save As файла (файлов) Supermax Библиотека функций 20 14.03.2018 10:05
Порекомендуйте литературу для повышения квалификации(грунты, геотехника) acid Поиск литературы, чертежей, моделей и прочих материалов 6 13.05.2015 22:14
Случайный эксцентриситет p_sh Прочее. Архитектура и строительство 14 22.07.2009 11:32
структурированный список Holon Программирование 22 11.09.2007 14:09