Тема: Суммирование чисел

Задачка такая: рисуются схемы  прокладки тел. кабелей не в масштабе. Длина каждого пролёта указывается просто DTEXT'ом. Существут ли возможность сложить эти величины и получить суммарную длину трассы?

Re: Суммирование чисел

Конечно. Надо извлекать программно тексты, превращать в числа функцией atof и складывать. Это общая схема, в деталях надо проверять, можно ли преобразовать этот текст в число.

Re: Суммирование чисел

Задачу можно решить посредством lisp-программы:
1. Выбрать из чертежа все текстовые примитивы
(setq U4 (ssget "X" '((0 . "TEXT")))),
что позволить сформировать необходимый набор U4 (если только на чертеже не используется команда DTEXT
для других целей - ну, например, для подрисуночных подписей)
2. Определить количество записей в наборе
(setq q1 (sslength U4))
3. Прочитать последовательно все записи(0..(q1-1)), выбирая из каждой только точечные пары с кодом 1, которые определяют длину (z)пролета
(setq i 0 j 0)
   (while (<= i (- q1 1))
     (setq sp (entget (ssname U4 i)))
     (setq z (cdr (assoc 1 sp)))
      (setq j (+ j (atof z)))
     (setq i (+ i 1))
   )
4. В результате в переменной j сохраняется сумма всех длин пролетов т.е. трассы.
Прошу извинить, если где-то что-то не учел. - Времени нет детально разбирать.
Пиши  - буду рад ответить. Привет.

Re: Суммирование чисел

Ага, спасибо! Меня в первую очередь интересовали принципиальная возможность и, в свете этого, смысл изучения Лиспа. Теперь я понял - смысл есть :)