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

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

Удаление ненужной части текста

Ответ
Поиск в этой теме
Непрочитано 06.06.2014, 12:05 #1
Удаление ненужной части текста
nynokne
 
Регистрация: 17.02.2014
Сообщений: 50

Здравствуйте. Подскажите пожалуйста, возможно ли решить следующую проблему средствами Автокада?:
В файле есть множество текстов, содержащих текст типа "П-1 ПК1+00", мне нужно убрать из всех таких текстов "П-1 (2,3..10000)", чтобы осталось только "ПК1+00".
Заранее благодарен за помощь.
Просмотров: 4323
 
Непрочитано 06.06.2014, 12:34
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,326


Если это однострочные тексты, то при помощи _find найти и выделить все тексты, содержащие ПК1+00 и в их свойствах разом поменять содержимое на ПК1+00
Хмурый вне форума  
 
Непрочитано 06.06.2014, 12:38
#3
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Замена на пробел тоже работает. Так что необязательно однострочные. А тут даже проще. Что менять - "П-1 П". На что менять - "П". А вот уже все П-х разом так не получится.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Автор темы   Непрочитано 06.06.2014, 12:55
#4
nynokne


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


Неправильно объяснил проблему: "ПК1+00" не всегда, т.е. "П-1 ПК1+00" "П-2 ПК1+20" и т.п. При изменении П-1(2..1000) меняются цифры после ПК..
nynokne вне форума  
 
Непрочитано 06.06.2014, 14:26
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,090


Цитата:
Неправильно объяснил проблему: "ПК1+00" не всегда, т.е. "П-1 ПК1+00" "П-2 ПК1+20" и т.п. При изменении П-1(2..1000) меняются цифры после ПК..
Решение прежнее: _FIND. Эта команда вполне нормально работает с подстановочными знаками (*, ?, #, !, ~). Подробности в справке
kp+ вне форума  
 
Непрочитано 06.06.2014, 14:33
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Это не поможет?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.06.2014, 05:19
#7
gomer

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


Цитата:
Сообщение от VVA Посмотреть сообщение
Это не поможет?
str-str-lst Тут поможет... Писать код лень., хоть там 3 строчки всего
gomer вне форума  
 
Непрочитано 09.06.2014, 06:47
#8
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


полусырой вариант: вбить в ком строку и два раза ткнуть на каждый текст
Код:
[Выделить все]
 (while t (vla-put-textstring (vlax-ename->vla-object (car (entsel))) (substr (vla-get-textstring (vlax-ename->vla-object (car (entsel)))) 6 12)))
надо не так часто, поэтому как лисп оформлять было лень...

PS. один фиг утром делать нефиг было...
Код:
[Выделить все]
 ;(ver)"Visual LISP 2010 (ru)"
(vl-load-com)
(defun c:robur-pk ( / ent_sad)

 				(vla-startundomark ;начальная метка 
    				(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
		    		);end undo 
(setq ent_sad (entnext))
(while ent_sad
 (if (= (cdr (assoc 0 (entget ent_sad))) "TEXT")
   (if (vl-string-search " Пк " (vla-get-TextString (vlax-ename->vla-object ent_sad)) 1)
   (vla-put-textstring (vlax-ename->vla-object ent_sad) (substr (vla-get-textstring (vlax-ename->vla-object ent_sad)) 6 12))
   );if
 );end if
(setq ent_sad (entnext ent_sad)); счетчик для условия выхода...
);end while
	 	 		(vla-endundomark adoc) ;конечная метка
;---------------------------------------------------------------------------------
);defun
(defun C:pk (/) (C:robur-pk))
(princ "\n PK - Вычищает подписи поперечников из робура.")
(princ)
;;(c)SADist
з.з.ы. есть еще несколько плюшек для робура (если я не обознался конечно), но это у же в личку, потому что коды кривые и на всеобщее обозрение стыдно
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...

Последний раз редактировалось Vladimir_Sergeevich, 09.06.2014 в 07:13.
Vladimir_Sergeevich вне форума  
 
Непрочитано 09.06.2014, 17:12
#9
gomer

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


Vladimir_Sergeevich, привыкайте писать правильно и красиво, без лишних телодвижений...
Код:
[Выделить все]
 (defun c:rpk ( / explode_string ent entlist str)

  (defun explode_string (str / i)
    (cond 
      ( (= str "") nil)
      ( (setq i (vl-string-search " " str))
        (cons (substr str 1 i)
              (explode_string (substr str (+ 2 i)))
        )
      )
      (T (list str))
    )
  )  

  (setq ent (entnext))

  (while ent

    (if (and (= "TEXT"
                (cdr (assoc 0 (setq entlist (entget ent))))
             )
             (wcmatch  (setq str (cdr (assoc 1 entlist)))
                       "* ПК*" ; маска фильтра строк
             )
        )
        (entmod (subst (cons 1 (cadr (explode_string str)))
                       (cons 1 str)
                       entlist
                )
        )
    )
    (setq ent (entnext ent))
  )
)
gomer вне форума  
 
Непрочитано 10.06.2014, 06:38
#10
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


Еще бы держать все эти функции в голове и уметь их применять... Целенаправленно сидеть и изучать лисп нет времени, есть книга полещука и кое какие представления о синтаксисе.
А "wcmatch" вообще впервые вижу... постойте... там есть рекруссия? это я не осилю.
Задача была проще: робур подписывает поперечники конкретным способом, я же топорно обрубаю ненужное.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 24.08.2018, 08:42
#11
AlexKey

будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69
<phrase 1=


Добрый день всем. Очень нужна аналогичная утилита, только с возможностью выбора объектов. Может кто сможет прикрутить?
AlexKey вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Удаление ненужной части текста

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Редактирование текста в AutoCAD2008 kkiak AutoCAD 7 01.10.2009 12:29
Удаление текста из файла. Залётный Программирование 20 15.04.2008 21:41
Помогите продумать поворот части выноски! Tonic Программирование 40 02.07.2007 20:21
Изменение форматированного текста посредством lisp Tramp LISP 4 03.03.2006 11:28