Лисп, автоматизированное изменение однострочного текста-числа формулой (+-1 и т.п.), автокад 2017
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Лисп, автоматизированное изменение однострочного текста-числа формулой (+-1 и т.п.), автокад 2017

Лисп, автоматизированное изменение однострочного текста-числа формулой (+-1 и т.п.), автокад 2017

Ответ
Поиск в этой теме
Непрочитано 10.08.2016, 13:50 #1
Лисп, автоматизированное изменение однострочного текста-числа формулой (+-1 и т.п.), автокад 2017
Tyhig
 
Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Ленинград
Регистрация: 30.01.2008
Сообщений: 19,449

Добрый день.

Чистый автокад 2017. Я противник любых сторонних приложений (типа веткада, СПДС и т.п.).
Номера экспликации помещений (100 штук) массово изменяются ежедневно на +-1 (добавляются/убираются помещения).
Надоело руками в автокаде перебивать.
Нет ли готового лиспа, который бы формулой делал (старое значение) Х+-1=Y (новое значение) для выделенных, допустим, 60 объектов однострочного текста ?

В принципе, все номера помещений есть и обновляются в базе в екселе. Но пока, думаю лучше вручную обновлять номера помещений.
Слишком сложно было бы делать связь, да и связь надо поддерживать и т.п. проблемы...
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Просмотров: 3761
 
Непрочитано 10.08.2016, 14:00
2 | #2
Хмурый


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


использую команду _find когда много марок балок следует изменить Б1 на Б2, Б2 на Б3 и т. д. При увеличении номера начинаешь со старшей, при уменьшении- с младшей, чтоб не путались
Хмурый вне форума  
 
Непрочитано 10.08.2016, 14:00
1 | #3
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


Поскольку вопрос в разделе "AutoCAD", лови: "номера помещений" - в блок с атрибутами, потом _.attout, обработка в Excel, сохранение и _.attin
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.08.2016, 14:12
#4
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 19,449


Хмурый, можно ли _find заставить считать самому автоматически формулой "старое+1=новое" ?
Хотя, видимо, это фантастика...

Кулик Алексей aka kpblc, видимо, рано или поздно приду к этому. Пока и сложно и некогда конкретный файл изменять под блоки с атрибутами. Спасибо.
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Tyhig вне форума  
 
Непрочитано 10.08.2016, 14:42
2 | #5
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от Tyhig Посмотреть сообщение
Нет ли готового лиспа, который бы формулой делал (старое значение) Х+-1=Y (новое значение) для выделенных, допустим, 60 объектов однострочного текста ?
Код:
[Выделить все]
 ;---------------------------------------------------------------------------------------;
; Функция: txt_factor - изм-е зн-я текста (text или Mtext) с пом-ю арифм. операций	;
; примеры ввода: 	*5 (умножить на 5)	+-1 (прибавить -1)  --2 (отнять -2)	;
;			/-2 (делить на -2)	-3 (отнять 3)				;
;.......................................................................................;
(defun c:txt_factor (/ ss		; <selection set>
		       n		; число выбранных позиций
		       i		; номер элемента <selection set>
		       txt_data		; данные текущего текста
		       txt_name		; (группа -1)
		       act		; знак операции
		       factor		; аргумент арифметич. функции
		       znach		; текущее значение текста
		       new_zn		; новое значение для текущего текста
		       n_renum		; колич. изменений
		     )  
  (setq ss (ssget '((-4 . "<OR")(0 . "TEXT")(0 . "MTEXT")(-4 . "OR>")))
	n (sslength ss)
	i 0 n_renum 0	
	factor (getstring "Действие и аргумент :")
	act (substr factor 1 1)
	factor (atof(substr factor 2))
	)  
  ;------------------------------------
  (repeat n
    (setq txt_name (ssname ss i)
	  txt_data (entget txt_name)
	  znach (atof(cdr(assoc 1 txt_data)))
	  new_zn (cond((eq act "+")(+ znach factor))
		      ((eq act "-")(- znach factor))
		      ((eq act "*")(* znach factor))
		      ((eq act "/")(/ znach factor))
		      (T (alert "Нужен знак операции !"))
		      ); cond
	  txt_data (subst (cons 1 (rtos new_zn 2 )) (assoc 1 txt_data) txt_data)
	  n_renum (1+ n_renum)
	  i (1+ i)
      ); setq
    (entmod txt_data)
    (entupd txt_name)
   ); repeat
  (princ (strcat "Всего изменений : " (itoa n_renum)))  		 
);defun p_factor
ытя вне форума  
 
Непрочитано 10.08.2016, 15:00
#6
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Цитата:
Сообщение от ытя Посмотреть сообщение
Код:
Так вопрос то в разделе чистого акада, у автора может LT версия и что ему с Вашим кодом делать?
Boxa вне форума  
 
Непрочитано 10.08.2016, 15:02
#7
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от Boxa Посмотреть сообщение
и что ему с Вашим кодом делать?
Цитата:
Сообщение от Tyhig Посмотреть сообщение
Нет ли готового лиспа
Это ли не лисп?
ытя вне форума  
 
Автор темы   Непрочитано 10.08.2016, 15:15
#8
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 19,449


ытя, спасибо большое. То что надо.
Правда уже сам изменил, но в следующий раз попробую лисп.
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Tyhig вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Лисп, автоматизированное изменение однострочного текста-числа формулой (+-1 и т.п.), автокад 2017



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета многострочного текста andybr AutoCAD 14 13.07.2017 11:49
Проблемы с редактированием однострочного текста в 2012 Sergalis AutoCAD 9 16.07.2013 11:30
Создание линии типа "_______текст_______ " с возможностью изменение текста xabraxabra AutoCAD 18 03.10.2011 02:35
Изменение значения текста в зависимости от Z координаты fortuna AutoCAD 20 21.12.2006 12:51