|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Команда или макрос для выделения в файле только текста
Россия
Регистрация: 29.08.2007
Сообщений: 28
|
||
Просмотров: 10258
|
|
||||
Регистрация: 21.03.2007
Санкт-Петербург
Сообщений: 2,703
|
Цитата:
Ещё есть команда SelectSimilar (Выбрать подобное), но я не знаю работает она в голом КАДе. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Это команда ADT, ее в "чистом" каде нет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектирование Регистрация: 17.11.2004
г. Москва
Сообщений: 328
|
Цитата:
^C^C(setq a(ssget "_X" '((0 . "TEXT"))));(sssetfirst nil a) Для выбора MTEXT ^C^C(setq a(ssget "_X" '((0 . "MTEXT"))));(sssetfirst nil a) Как совместить не знаю. Пусть поможет Кулик Алексей aka kpblc. |
|||
![]() |
|
||||
работник по монтажу, то посижу, то полежу!!! Регистрация: 24.01.2007
г.Владимир
Сообщений: 348
![]() |
Или
Ctrl+A > Быстрый выбор > (дальше по надобности) либо "Текст", либо "МТекст" > Оператор - "Выбрать все" > ОК! - или это не из той оперы?
__________________
Положительные эмоции - это эмоции, которые возникают, если на все положить!!! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
> tokhot: нечто типа
Код:
А если надо еще и RTEXT, например, выделять, то можно так: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
F1
![]() http://dwg.ru/forum/viewtopic.php?t=110 http://dwg.ru/forum/viewtopic.php?p=16319 http://cad.dp.ua/ Ну и какая-то часть болтается здесь.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
Привет!!!
А не мог бы объяснить эти две строчки. (if (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) (sssetfirst ss ss) Не понятно что такте "_Х". И даже в справочнике искал назнавение sssetfirst, но не нашол :-(. За ранее очень признателен! |
|||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
Извини за беспокойство, последний вопрос отпадает. Я нашол.
Но возник новый вопрос . После того как выделили ТЕКСи МТЕКСТ. Код: (defun c:mysel (/ ss) (if (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) (sssetfirst ss ss) ) ;_ end of if ) ;_ end of defun Можно сменить так же программым кодом текстовый стиль у выделенного текста? Наверное по отдельности. Сначала у ТЕКСТа потом у МТЕКСТа. |
|||
![]() |
|
||||
Цитата:
Я раньше не знал такого способа. Очень остроумно. Чтобы не потерялся, Вы напишите сообщение в закреплённую тему http://dwg.ru/forum/viewtopic.php?t=...281850f03307df |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Еще один вариант:
Код:
P.S. На дин.блоках не проверял. Не тестировалось на файлах с внешними ссылками (возможно, там работать будет некорректно).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
Класс!!!
Спасибо!!! Только знаешь (извини за настойчивость) стиль то меняется на текущий, но свойства (например высота) остается от предыдущего. А нельзя статически забить в это прогу значения высоты, ширины и т.д. и чтоб это применялось ко всему тексту. Может просто покажешь куда и как а я по аналоги может и осилю. За ранее огромное спасибо!!! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
С высотой и прочим...
Высоту откуда брать? Из свойств стиля? А если там установлено 0? Или предлагать? Ширину-то многострочника сделать не проблема, это (ЯТД) будет нормально, но что такое ширина для атрибута, к примеру - я пас. "и т.д." - что тут подразумевается? Для варианта "все забито в лисп" (хотя я бы такое точно не применял): Код:
![]() Для собственной модификации см.комментарии.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
В принципе для меня более важно только ТЕКС и МТЕКС.
Помнишь ты дал код как его выделить. Так что в основном надо сменить шрифт и высоту. последняя прога которую ты дал она меняет и шрифт и высоту. Супер!!! Вопрос. т.е. она все это берет из текушего текстового стиля? А как сделать текстовый стиль текущим? С меня точно пивцо!!! ![]() |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Подправил пост 14.
Взял пару ф-ций у Алексея. Код:
Текстам, Атрибутам, Размерам назначаестя степень сжатия-растяжения, угол наклона и высота из описания текстового стиля. Если высота в стиле 0, то оставляется текущая. Вспрочем все это можно забить постоянными цифрами (см. комментарии в коде) *** PS Наверное высота текста для размеров из текстового стиля не есть гуд :?: |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
> Кулик Алексей aka kpblc
Пару замечаний по ф-циям loc:layer-status-restore и loc:layer-status-save. 1. Переменную layer_lst в конце loc:layer-status-restore лучше обнулять. 2. loc:layer-status-restore не восстанавливает состояние слоев, т.к. assoc к сохраняемому элементу списка item [типа (#<VLA-OBJECT IAcadLayer2 023dedc4> ("freeze" . :vlax-false) ("lock" . :vlax-true)) ] дает ошибку. Правильнее (vla-put-lock (car item) (cdr (assoc "lock" (CDR item)))) |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
> VVA : Осознал
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Загрузишь соответствующую версию: AutoCAD 2004-2006: SelSim2006.arx AutoCAD 2007-2008: SelSim2007.arx Выбираешь примитив(ы) и жмешь правую кнопку мыши (или набираешь _SELSIM в командной строке). |
||||
![]() |
|
||||
Цитата:
Кстати зря отказываешься. Для примера выбрал окружность, нажал правую кнопку мыши, выбрал Выбор по образцу и выбрались все окружности на слое указанной окружности. Ну и т.д. Упрощенный и ускоренный Быстрый выбор. |
||||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Цитата:
Кстати если выбираешь, например окружность и отрезок, то она выберет все окружности, лежащие на слое выбранной окружности и все отрезки на слое выбранного отрезка. Ну и т.д. Нет времени писать подробную инструкцию. Ее очень удобно использовать в паре с этой функцией: GeomProps — площадь, длина, объем выбранных примитивов |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
> ct_ycte : Я код не проверял и не тестировал:
Код:
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
Кулик Алексей->
Привет!!! Да ты тут много что переписал, но если честно меня в полне устраивал предпоследний вариант (он указан ниже). Только вот если шрифт был TTF то он почему то не менялся на шрифт текущего стиля SHX. Вот я и подумал что можно добавить пару строк в этот код чтоб шрифт как и высота прописывался статичечки. Сам пытаюсь найти команды необходимые, пока безрезультатно ![]() Очень тебе благодарен за помощь!!! Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Ну на самом деле очень мало - если код проанализировать, будет понятно, что много места занимает элементарные вещи - выбор стиля и ввод высоты текста.
А твоя проблема на самом деле намного глубже: в многострочных текстах (прямо внутри каждого объекта) может болтаться собственное форматирование (фонт, наклон текста, высота текста и т.п.). Для этого несколько лиспов болтались. Поиск по "форматир многостр текст" вывел на топики http://dwg.ru/forum/viewtopic.php?p=97727#97727 и http://dwg.ru/forum/viewtopic.php?p=107607#107607 , но какой код там "более рабочий" - сейчас сообразить не могу (второй литр пива все же сказывается).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2007
Россия
Сообщений: 28
|
Привет!!! снова я.
Спасибо тебе!!! Вроде нашол подходящую програмку для сброса форматирования многострочного текста. Алгоритм теперь такой: Сначала той прогой сбрасываю форматирование потом прогой (приведена ниже) устанавливаю форматироваание которое необходимо. Проблема: угол наклона не устанавливается, хотя в текстовом стиле он 15 градусов. Может его как и высоту статически прописать. И тогда все будет хорошо. Вся надежда только на тебя!!! Код:
Используй тэги [code] и [/code], вычленить лисп иначе тяжко. kpblc |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Попробую вечером, сейчас шансов нуль
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>ct_ycte Пробуй это
Код:
Для мтекста угол наклона и степень сжатия задаются тэгами. Все данные задаются явно. Ищи в тексте Код:
|
|||
![]() |