Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
LISP. Вычисление суммы чисел (например, в экспликации) (Страница 2 из 3)
Форумы CADUser → Программирование → Готовые программы → LISP. Вычисление суммы чисел (например, в экспликации)
Сообщения с 26 по 50 из 57
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Да.... а я только пупочку хотел... Ну, спасибо...
Re: LISP. Вычисление суммы чисел (например, в экспликации)
2ZZZ:
а что б результат заменял числа в строке вставки не трогая остальной текст можно сделать?
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Господа, прошу прощения, конечно точка вместо слеша http://geol-dh.ru/kai_stru.html
Извините, с ноября не было возможности смотреть форум.
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Здравствуйте товарищь.
Ваша программа великолепна.
Есть один странный глюк.
ИНОГДА в сумме теряется последний "0". например
91+9=10 а не 100. Что это может быть?
Re: LISP. Вычисление суммы чисел (например, в экспликации)
> ivan
Если это повторяется постоянно в одном файле, при повторном выборе текстов, тогда пришлите мне файл(обрезанный, только глюкнутый текст).
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Нет, это происходит в разных файлах на разных машинах. И не всегда причем. Не могу найти причину. Один и тот же файл на одной машине глючит на другой - нет. При этом глюк бывает на обоих машинах. Мистика!
PS. ACAD-2006
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Код от (2005-08-16 23:24:57) работает как часики,очень удобно. Спасибо огромное разработчику!
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Похоже в последнем варианте от ZZZ:
> ZZZ
дейсвительно присутствует ошибка - если число оканчивается нулями они проглатываются программой.
Исправляется заменой строки
(setq value (vl-string-right-trim ".0" value))
на строку
(setq value (vl-string-right-trim "." (vl-string-right-trim "0" value)))
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Программа работает классно! Но вот подскажите, пожалуйста, как можно сделать на панели размеров (например) кнопку, нажимая на которую будет запускаться данная функция?
Re: LISP. Вычисление суммы чисел (например, в экспликации)
dwg.ru/art/2
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Спасибо, с кнопкой разобрался! Вместо макроса пишу просто название функции. Но возникла другая проблема. При каждом новом запуске AutoCAD приходится заново подгружать файл с данной функцией. (я это делаю через меню Сервис -> AutoLISP -> Приложения...). Извините если вопрос глупый, но как автоматизировать процесс подгрузки таких вот дополнительных файлов функций? (на примере z-calc-text-value.lsp)
Re: LISP. Вычисление суммы чисел (например, в экспликации)
dwg.ru/art/8
:)
Re: LISP. Вычисление суммы чисел (например, в экспликации)
спасибо большое! Очень полезная информация!
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Еще немного модифицировал функцию ZZZ от (2005-08-18 11:32:34), чтобы вставляла результат в чертеж. Кто-нибудь поможет сделать такую же но с умножением?
(defun c:z-calc-text-value (/ value ent obj ss) (vl-load-com) (princ "\nВыберите текстовые объекты среди которых будет произведененна калькуляция" ) ;_ princ (setq ss (ssget '((0 . "TEXT,MTEXT")))) (if (not ss) (princ "Не выбраны объекты") (progn (setq value (rtos (apply (function +) (mapcar (function (lambda (a) (atof (vl-string-trim "%Uu {\\Ll}" (vl-string-subst "." "," (cdr (assoc 1 (entget a))) ) ;_ vl-string-subst ) ;_ vl-string-trim ) ;_ atof ) ;_ lambda ) ;_ function (vl-remove-if (function listp) (mapcar (function cadr) (ssnamex ss) ) ;_ mapcar ) ;_ vl-remove-if ) ;_ mapcar ) ;_ apply ) ;_ rtos ) ;_ setq (if (vl-string-position (ascii ".") value) (setq value (vl-string-right-trim ".0" value)) ) ;_ if (setq value (vl-string-subst "," "." value)) (princ (strcat "\n Сумма = " value)) (alert (strcat "Сумма = " value "\nУкажите точку вставки ")) (setvar "ERRNO" 0) (if (and ent (vlax-property-available-p (setq obj (vlax-ename->vla-object ent)) 'TextString ) ;_ vlax-property-available-p ) ;_ and (progn (vlax-put-property obj 'TextString value) (vlax-release-object obj) ) ;_ progn ) ;_ if ) ;_ progn ) ;_ if (setq pt2 (getpoint)) (setq r (* (getvar "DIMSCALE") (getvar "TEXT,MTEXT")) (command "_text" pt2 r 0 value) (princ) ) ;_ defun
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Виноват, опечатка
(defun c:z-calc-text-value (/ value ent obj ss) (vl-load-com) (princ "\nВыберите текстовые объекты среди которых будет произведененна калькуляция" ) ;_ princ (setq ss (ssget '((0 . "TEXT,MTEXT")))) (if (not ss) (princ "Не выбраны объекты") (progn (setq value (rtos (apply (function +) (mapcar (function (lambda (a) (atof (vl-string-trim "%Uu {\\Ll}" (vl-string-subst "." "," (cdr (assoc 1 (entget a))) ) ;_ vl-string-subst ) ;_ vl-string-trim ) ;_ atof ) ;_ lambda ) ;_ function (vl-remove-if (function listp) (mapcar (function cadr) (ssnamex ss) ) ;_ mapcar ) ;_ vl-remove-if ) ;_ mapcar ) ;_ apply ) ;_ rtos ) ;_ setq (if (vl-string-position (ascii ".") value) (setq value (vl-string-right-trim ".0" value)) ) ;_ if (setq value (vl-string-subst "," "." value)) (princ (strcat "\n Сумма = " value)) (alert (strcat "Сумма = " value "\nУкажите точку вставки ")) (setvar "ERRNO" 0) (if (and ent (vlax-property-available-p (setq obj (vlax-ename->vla-object ent)) 'TextString ) ;_ vlax-property-available-p ) ;_ and (progn (vlax-put-property obj 'TextString value) (vlax-release-object obj) ) ;_ progn ) ;_ if ) ;_ progn ) ;_ if (setq pt2 (getpoint)) (setq r (* (getvar "DIMSCALE") (getvar "DIMTXT"))) (command "_text" pt2 r 0 value) (princ) ) ;_ defun
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Подскажите пожалуйста, как все цифры
на черетеже увеличить на один и тот же коэффициент?
Очень нада. пожалуйста
Re: LISP. Вычисление суммы чисел (например, в экспликации)
> Алексей
Сам-то понял чего спросил? На будущее: "просто цифр" в файле dwg нет. Есть одно- или многострочные тексты; атрибуты; блоки с атрибутами; величины размеров и т.п. Это раз. Два: один вопрос - одна тема.
Re: LISP. Вычисление суммы чисел (например, в экспликации)
> Алексей
Три. И где пробывал искать?
Увеличение всех отметок на определенную величину
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Вадим (2007-11-08 11:43:36)
работает хорошо, но та же ошибка: съедаются нули в сумме. если сумма чисел равна 20, то ответ: 2
как исправить?
Re: LISP. Вычисление суммы чисел (например, в экспликации)
хотя.. попробовал в другом файле - все работает..
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Здравствуйте, успешно пользуюсь лиспом выложенным Вадимом. Прошу модифицировать лисп, так, чтоб в конце сумма не выводилась в новом тексте, а вписывалась в существующий, по принципу оверрайт. Буду очень благодарен.
Re: LISP. Вычисление суммы чисел (например, в экспликации)
Ой, извеняюсь такой вариант программы тут уже есть.
Re: LISP. Вычисление суммы чисел (например, в экспликации)
У меня имеются куча блоков электроприемников с заданным невидимым атрибутом "P" ( мощность кВт). Было бы круто если бы можно было лиспом посчитать сумму всех "Р" на чертеже.
Re: LISP. Вычисление суммы чисел (например, в экспликации)
У меня имеются куча блоков электроприемников с заданным невидимым атрибутом "P" ( мощность кВт). Было бы круто если бы можно было лиспом посчитать сумму всех "Р" на чертеже.
Колега, это делается штатными средствами акада, точнее экспресом экспортируете атрибуты блоков а дальше обрабатываете как захотите в эксельке, даже можете группу подшить на блок и погрупам разбивать нагрузку.
команда attout
Сообщения с 26 по 50 из 57
Тему читают: 1 гость
Форумы CADUser → Программирование → Готовые программы → LISP. Вычисление суммы чисел (например, в экспликации)
Форум работает на PunBB, при поддержке Informer Technologies, Inc