|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
03.08.2016, 21:08 | #1 | |
Редактирование атрибута дин. блока по двойному нажатию мышью.
ГИП
Регистрация: 07.06.2015
Сообщений: 1,254
|
||
Просмотров: 9444
|
|
||||
ГИП Регистрация: 07.06.2015
Сообщений: 1,254
|
Спасибо! Работает.
На тот случай, если а) под точкой идёт примечание, чем она является. Например, "Т. 1/Врезка в существующую сеть". б) если у одной и той же точки есть два обозначения. Например, когда наш колодец также относится к другой сети: "Л-1/К-86.5-1". Я пока что до этих точек не дошёл. Но вроде бы такой многострочный текст должен экспортироваться в таблицу без проблем. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Сначала мне этот способ тоже понравился, но на некоторых блоках, где есть атрибуты в других наборах параметра видимости частенько вылезает не тот атрибут, на который "контрольно даблкликнул", а другой, скрытый в данном состоянии видимости; после этого вылезший атрибут больше не пропадает - приходится отменять сделанное. Глюк, в общем, какой-то. Кто знает из-за чего он и как победить - буду признателен за рассказ.
Я нашел другое решение. В адаптации (_CUI) в операциях при двукратном нажатии на атрибут динамического блока ставим макрос (не для LT): Код:
И вдогонку: если не нравится штатный редактор атрибутов (а он, мягко говоря, слегка кастрирован - уж не знаю, зачем), назначаем переменной ATTIPE значение 1 и работаем в удобном и привычном редакторе м-текста. |
|||
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,374
|
А как быть, если нужно удалить какой-нибудь атрибут?
__________________
Как-то так. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Не понятен вопрос. Разве его можно как-то удалить при помощи стандартного варианта редактирования атрибутов? Я имею в виду операцию при двукратном нажатии по умолчанию. Насколько я понимаю, удалить атрибут надо войдя в редактор блока. Или речь не об этом?
|
|||
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,374
|
Я пытался прикрутить Ваш макрос для редактирования атрибутов блока при двукратном нажатии в чертеже. По-умолчанию, появляется окно стандартного редактора (скрин 1). Иногда, некоторые атрибуты необходимо удалить. В этом случае удаление происходит безболезненно. А при использовании макроса удалить значение атрибута невозможно, хотя на мой взгляд, работать с ним удобнее.
__________________
Как-то так. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Теперь понял - удалить значение атрибута (содержимое). Действительно, при попытке стереть текст в редакторе м-текста и выходе из него содержимое восстанавливается. Один из вариантов - добавить кнопку или сочетание клавиш на вызов стандартного окна редактирования. Я же в таких случаях ставлю просто пробел.
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
skkk (#4), можно попробовать команду, про которую мало кто помнит, Называлась она TEDIT и принадлежала к экспрессам старых автокадов, а затем исчезла.
Я ее лисп все время тащил в каждую новую версию ибо она работает несколько по-другому чем стандартная команда DDEDIT редактирования текста. Затем в 2016 имя TEXTEDIT появилось в основном автокаде заменив имя сущ. команды DDEDIT, ничего не изменив по сути. Экспрессовский лисп перестал работать. Выкладываю подправленный лисп. Попробуй для своей задачи Вот этот лисп Он покажет все атрибуты блока, насчет невидимых не проверял, попробуй. Кстати, не проверял лисп на версиях старше 2016. Если не сработает, надо разыскать (поиском по форуму) старую версию TEDIT Код:
Последний раз редактировалось Vova, 23.08.2017 в 20:46. Причина: в 2016 имя TEDIT (CHANGED TO TEXTEDIT) появилось в основном автокаде.... |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Да, attedit и tedit выдают одинаковое диал. окно, оно называется Edit attributes. Разница в том, что первая выдает диал окно сразу после клика на блок а вторая позволяет заселектировать много блоков (и текстов) последовательно и редактирование начинается после нажатия Enter. Диал. окна появляются в той же последовательности в которой проходило селектирование, что весьма удобно. Но это не столько важно для твоей задачи как то что если у блока неск. атрибутов, то в окне они видны все (про скрытые параметром видимости я не проверял)
Команда DDEDIT (в автокадах до 2016) и Textedit (от 2016) выдает окно Enhanced Attribute Editor, более сложное и менее удобное для твоей, как мне кажется, задачи (если я ее правильно понял) |
|||
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,374
|
Offtop: Vova, в последнее время не часто можно видеть Вас на форуме. Пользуясь случаем, хочу сказать Вам спасибо за Вашу книгу. Уже больше десятка лет она у меня настольная.
И не в качестве "мебели", а именно востребованной справочной литературы, которая очень "упростила мне жизнь"! В сочетании с "Секретами... Д.Эббота
__________________
Как-то так. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Набросал "макролиспик" (можно оформить в лисп-команду или просто в строке макросов вбить), который можно закрепить за операцией при двукратном нажатии на атрибут блока (и атрибут динамического блока): Код:
Вместо этого окна можно реализовать, например, открытие блока в редакторе блоков. Или его расчленение |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Поставил это лисп-выражение в макрос, и ничего не получилось: сначала после однократного клика на атрибут он подсветился синим (то есть готов для редактирования). Затем при всех других попытках однократного и двойного клика как по атрибуту так и по блоку но мимо атрибута выдается диал. окно. Иногда все-таки подсвечивается синим но чаще диал окно...
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Vova,
1. Макрос вбили в операцию при двукратном нажатии на атрибут блока или на атрибут дин.блока? 2. Нажимаете двойной клик с зажатым Ctrl? Надо без него. А синим атрибут подсвечивается при одном клике с Ctrl вроде? Я проверял на 2011-м. Позже смогу проверить на 2015-м. |
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Я не понимаю выражения "Макрос вбили в операцию..."
Я создал команду с данным выражением на палете. Что не так? У Sertor в ролике данное выражение работает точно также как здесь |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Вот это и не так.
Смысл всего в том, чтобы данный макрос (точнее, в нашем случае макро-лисп) вызывался при двойном клике на блоке. И в зависимости от того, где именно на блоке был произведен даблклик, последуют разные события: если на атрибуте, то этот атрибут откроется в текстовом редакторе, а если на линии внутри блока или круге, то откроется окно редактирования всех атрибутов. Этот макро-лисп не рассчитан на вызов из палитры, поскольку при двойном клике происходит считывание координат курсора и анализ подобъекта блока, который находится в момент клика под курсором. В _CUI есть пункт "Операции при двукратном нажатии" ("Double Click Actions"), там из списка надо выбрать "Атрибут блока" (боюсь ошибиться в точном английском написании), раскрыть его и выбрать подпункт. Справа среди прочих появится окно для ввода макроса. Туда и вставляем это выражение. Уж и не припомню сейчас, почему я решил выложить это выражение в виде макроса, то ли потому что тут Vova и я машинально подался к макросам, то ли потому что первые более простые предложенные мной решения были в виде макросов, то ли не хотелось возиться с локализацией переменных, но посмотрев видео sertor'а и увидев столько шума в командной строке, я решил исправиться и оформить всё это дело в функцию: Код:
Код:
|
|||
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
Что касается функции лиспа (н-р 19) то как ее использовать? Получается, даблклик не дает возможность использовать окно EATTEDIT, необходимое для большинства стандартных работ в автокаде. Для его вызова теперь надо вызывать команду _eattedit (например, из меню на правой кнопке). Поэтому работа с даблкликом является полезной только для тех кто чаще всего редактирует только текст атрибутов, а не размеры или цвет, стиль и др., заложенное в EATTEDIT. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выключение редактирование атрибута блока | ArtyLight | AutoCAD | 10 | 16.10.2019 15:28 |
Запрет на редактирование значения атрибута в составе вхождения блока | hwd | AutoCAD | 10 | 26.01.2016 12:02 |
Lisp. авто-нумерация атрибута блока. | DonJad | LISP | 10 | 26.10.2014 02:04 |
Присвоение атрибуту блока значения атрибута другого блока. | shartal | Программирование | 4 | 14.11.2013 14:02 |
Непонятное поведение многострочного атрибута блока | Нитонисе | AutoCAD | 2 | 11.09.2010 17:35 |