Как восстановить корректную работу Lisp приложений в autocad 2018
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как восстановить корректную работу Lisp приложений в autocad 2018

Как восстановить корректную работу Lisp приложений в autocad 2018

Ответ
Поиск в этой теме
Непрочитано 21.10.2024, 15:27 #1
Как восстановить корректную работу Lisp приложений в autocad 2018
drun
 
Регистрация: 10.01.2012
Сообщений: 11

Добрый день!

В автокаде 2018 после переустановки перестали корректно работать Lisp приложения, которыми до этого успешно пользовались 5 лет. Такая ситуация сразу на нескольких компьютерах. На части машин эти же lisp приложения в 2018 акаде работают корректно. На всех машинах установлен сам Autocad 2018 и Vba enabler из стандартной сборки (пробовали и с ним, и без него, на работу Lisp не влияет).
При загрузке lisp приложения происходит его корректная загрузка, выполняется даже первая команда, но потом выскакивают такого рода сообщения об ошибках, работа приложения прерывается:

no function definition: VLAX-ENAME->VLA-OBJECT
неверный тип аргумента: VLA-OBJECT nil

Невозможно вызвать (command) из *error* без предварительного вызова (*push-error-using-command*).
Рекомендуется преобразовать (command) в (command-s).

Слыхал, что акад перешел на новые команды, но как объяснить в пределах одной версии акада корректную и некорректную работу одних и тех же приложений?
Может, существует простой алгоритм корректировки lisp приложения "на новый лад" ?
Прикладываю некорректно работающие lisp приложения .

Вложения
Тип файла: zip SuperFlatten1_2c.zip (23.7 Кб, 28 просмотров)
Тип файла: zip text2mtext.zip (4.9 Кб, 25 просмотров)
Тип файла: zip sumT.zip (739.7 Кб, 31 просмотров)

Просмотров: 1675
 
Непрочитано 21.10.2024, 15:33
#2
Кулик Алексей aka kpblc
Moderator

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


https://autolisp.ru/2010/06/09/no-fu...t-acad-object/ ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 21.10.2024 в 16:09.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.10.2024, 12:43
#3
drun


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


Спасибо, попробовал, твой способ не помог
drun вне форума  
 
Непрочитано 22.10.2024, 13:56
#4
Кулик Алексей aka kpblc
Moderator

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


Код не скачивал, а насчет
Цитата:
Сообщение от drun Посмотреть сообщение
как объяснить в пределах одной версии акада корректную и некорректную работу одних и тех же приложений?
Сделай как VVA:
Код:
[Выделить все]
(if command-s
  (command-s "и_тут_твоя_команда")
  (command "и_тут_твоя_команда")
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.10.2024, 15:07
#5
drun


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Код не скачивал, а насчет

Сделай как VVA:
Код:
[Выделить все]
(if command-s
  (command-s "и_тут_твоя_команда")
  (command "и_тут_твоя_команда")
)
Как мне понять о какой команде из множества речь?
Может, попробуете сделать на примере приложенного мною lisp приложения "sumT" (он особенно актуален)? Постараюсь уловить алгоритм и переделать остальные..
drun вне форума  
 
Непрочитано 22.10.2024, 15:26
#6
Кулик Алексей aka kpblc
Moderator

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


Код не буду проверять на работоспособность, ибо некогда. В sumt.lsp найди строку
Код:
[Выделить все]
 (command "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause) 
и замени ее на
Код:
[Выделить все]
 (if command-s 
  (command-s "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause)
  (command "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause)
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.10.2024, 16:01
#7
drun


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Код не буду проверять на работоспособность, ибо некогда. В sumt.lsp найди строку
Код:
[Выделить все]
 (command "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause) 
и замени ее на
Код:
[Выделить все]
 (if command-s 
  (command-s "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause)
  (command "_.copybase" "0,0" (entlast) "" "_.erase" (entlast) "" "_.pasteclip" pause)
)
Спасибо за участие. Я попробовал, акад перегрузил, не работает, те же сообщения выскакивают...
drun вне форума  
 
Автор темы   Непрочитано 23.10.2024, 09:37
#8
drun


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


Алексей, может еще что в коде поправить? не только command
drun вне форума  
 
Непрочитано 23.10.2024, 10:19
#9
Кулик Алексей aka kpblc
Moderator

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


Я бы открывал код в VLIDE и смотрел, в каком месте вообще ошибка появляется. Потому как именно в этих кодах я не вижу, где может появиться сообщение
Цитата:
Сообщение от drun Посмотреть сообщение
Невозможно вызвать (command) из *error* без предварительного вызова (*push-error-using-command*).
Рекомендуется преобразовать (command) в (command-s).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 24.10.2024, 08:22
#10
drun


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


Там то и оригинальный код работать будет, скорее всего. Сдаюсь.
drun вне форума  
 
Автор темы   Непрочитано 17.01.2025, 15:01
#11
drun


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


Нашел решение как восстановить корректную работу lisp приложений после переустановки acad:
https://www.autodesk.com/support/tec...n-AutoCAD.html
Миниатюры
Нажмите на изображение для увеличения
Название: unnamed.png
Просмотров: 75
Размер:	100.3 Кб
ID:	266358  
Вложения
Тип файла: zip lspfix.zip (363 байт, 56 просмотров)
drun вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как восстановить корректную работу Lisp приложений в autocad 2018



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стал ли быстрее AutoCAD 2017, 2018, 2019, 2020? АлексЮстасу AutoCAD 47 11.08.2022 20:00
Как перенести пользовательские настройки из обычного autocad 2018 в autocad mechanical 2020? artemm_1904 Вертикальные решения на базе AutoCAD 0 26.02.2020 18:55
Можно ли отключить клавишные подсказки в AutoCad 2018 Empto_key AutoCAD 17 21.11.2019 01:07
AutoCAD Architecture 2018 не корректно работает Break-line grh1 Вертикальные решения на базе AutoCAD 7 17.11.2017 18:09
LISP. Перестал работать нумератор в autocad 2017. Помогите найти ошибку. pobat LISP 2 19.07.2017 10:27