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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перестали работать лиспы для арифметических рассчётов.

Перестали работать лиспы для арифметических рассчётов.

Ответ
Поиск в этой теме
Непрочитано 19.07.2013, 19:59 #1
Перестали работать лиспы для арифметических рассчётов.
Borikv
 
Регистрация: 24.10.2007
Сообщений: 108

Много лет пользуюсь лиспами для арифметических рассчётов в Автокаде. Нормально работали во всех версиях и в том числе на моей 2011-й. И вдруг что-то произошло и они перестали работать. Привожу для примера лисп для сложения и сообщения Автокада при попытке его использования. Может кто-нибудь поможет разобраться?

Вложения
Тип файла: zip lisp.zip (838 байт, 52 просмотров)

Просмотров: 1338
 
Непрочитано 20.07.2013, 09:31
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Там такой простой код, что легко самому разобраться.
На будущее, лучше код не в файле в архиве прикладывать, а копировать в сообщение и не забывать про теги, вот так:
Код:
[Выделить все]
 (defun C:SUM1 (/ SS L N SUM1 INSPT TXT E )
;Sum of several numbers
   (setq *ERROR* STOP)
   (princ "\nSelect Numbers to Add... ")
   (setq SS (ssget)
         L (sslength SS)
         N 0
         SUM1 0
         INSPT (getpoint "\nText Right Insertion Point: ")
   )
   (repeat L
      (setq E (entget (ssname SS N))
            TXT (atof (cdr (assoc 1 E)))
            SUM1 (+ SUM1 TXT)
            H (cdr (assoc 40 E))
            N (1+ N)
      )
   )
   (setvar "cmdecho" 0)
   (command "text" "s" "h" "r" INSPT H 0 (rtos SUM1 2 0))
   (setvar "cmdecho" 1)
)
;
(defun STOP (msg)
   (cond
      ((or (eq msg "console break")
           (eq msg "Function cancelled")
           (eq msg "quit / exit abort")
        )
        (terpri)
      )
      (T
          (princ "error: ")
          (princ msg)
      )
   )
   (setq *error* nil)
   (PrinC)
)
(C:SUM1)
Код:
[Выделить все]
Command: sum
Select Numbers to Add...
Select objects: 1 found

Select objects: 1 found, 2 total

Select objects:
Text Right Insertion Point: Unknown command "TEXT".  Press F1 for help.
Unknown command "S".  Press F1 for help.
Unknown command "H".  Press F1 for help.
Unknown command "R".  Press F1 for help.
100.000000

Unknown command "SUM".  Press F1 for help.
0
Unknown command "16".  Press F1 for help.
1
Do$ вне форума  
 
Непрочитано 20.07.2013, 13:49
#3
gomer

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


Не понимаю как вообще это работало
проблема в строке
Код:
[Выделить все]
 (command "text" "s" "h" "r" INSPT H 0 (rtos SUM1 2 0))
gomer вне форума  
 
Автор темы   Непрочитано 21.07.2013, 12:42
#4
Borikv


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


Таки работало.
Эти простенькие лиспы работают довольно исправно уже лет двадцать, начиная с 10-го Автокада. В моём же случае причиной проблемы оказался недавно установленый WinHeb. Кому актуально - его параметр DDEDIT должен быть DIALOG или DEFOULT в режиме же WINHEB автоматически перехватываютя все команды TEXT, в том числе зашитые в лисп и лисп затыкатся .
Всем спасибо за участие

Последний раз редактировалось Borikv, 21.07.2013 в 15:01.
Borikv вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перестали работать лиспы для арифметических рассчётов.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестали работать команды Sneginka_Clan AutoCAD 3 03.12.2018 18:44
перестали работать trim и extend с блоками LAmyk AutoCAD 20 08.05.2009 14:14
Перестали работать команды некоторые mvart AutoCAD 3 19.05.2008 10:47
Поля перестали работать ie.spb AutoCAD 30 16.01.2008 14:03
Перестали работать лиспы в 2006 solo LISP 6 16.08.2006 12:19