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

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

Lisp Как программно получить данные о версии AutoCad?

Ответ
Поиск в этой теме
Непрочитано 22.08.2016, 13:09 #1
Lisp Как программно получить данные о версии AutoCad?
Kirill_Ja
 
Мурманск
Регистрация: 28.07.2008
Сообщений: 208

Вот уж не думаг где может найти коса на камень!

Взялся я задать BackgroundColour ячейке таблицы. Опять все выглядит просто, но кто мог знать, что класс AcCmColor по разному создается в разных версиях AutoCad.

Код:
[Выделить все]
 _$ (setq b (vlax-create-object "AutoCAD.AcCmColor.18"))
nil
_$ b
nil
_$ (setq b (vlax-create-object "AutoCAD.AcCmColor.19"))
#<VLA-OBJECT IAcadAcCmColor 1b1c9c60>
Чтобы обеспечить работоспособность в будущих версиях AutoCad нужен номер версии в которой запущен код.
Где-то я видел как его получали средствами то-ли Lisp то-ли в какой-то системной переменной хранился номер версии.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Просмотров: 3463
 
Непрочитано 22.08.2016, 13:52
#2
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
 (itoa (atoi (getvar "acadver")))
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 22.08.2016, 14:19
#3
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Благодарю за помощь

Код:
[Выделить все]
 _$ (setq BG_color (vlax-create-object (strcat "AutoCAD.AcCmColor." (itoa (atoi (getvar "acadver"))))))
#<VLA-OBJECT IAcadAcCmColor 1b3334a0>
_$ (vlax-release-object BG_color)
0
_$ BG_color
#<VLA-OBJECT 00000000>
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 22.08.2016, 14:35
#4
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
по разному создается в разных версиях AutoCad.
Не забудь еще про платформу:
Код:
[Выделить все]
 Команда: (getvar "platform")
"Microsoft Windows NT Version 6.2 (x86)"
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 06.09.2018, 10:41
#5
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Подскажите, как на Lisp определить версию SP установленную для AutoCad?
sdv79 вне форума  
 
Непрочитано 06.09.2018, 10:54
#6
Кулик Алексей aka kpblc
Moderator

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


Устанавливаешь ACAD без SP, делаешь снимок реестра (всего или только каких-то веток). Потом устанавливаешь SP, снова снимок реестра. А потом сравниваешь.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.09.2018, 11:13
#7
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


В Acad 2019 столкнулся с https://forums.autodesk.com/t5/net/t...y/td-p/7882080 или (http://adn-cis.org/forum/index.php?topic=8389.0) ее вылечили в SP1, соответственно если Acad2019 чистый - я запускаю код из темы, если Acad2019+SP1 - мне код из форума запускать не нужно. Возможно ли средствами Lisp определить версию SP?
sdv79 вне форума  
 
Непрочитано 06.09.2018, 11:23
#8
Кулик Алексей aka kpblc
Moderator

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


Насколько я помню, в 2019 поменяли подход к формированию рисунков кнопок - вместо BMP используется PNG. Так что проще всего все подобные вещи загонять в ресурсную dll и класть ее рядом с cuix. Быстро, дешево и просто.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.09.2018, 14:37
#9
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


dll это здорово (раньше так и было - не понравилось), неужели нет способа средствами Lisp определить версию SP?
sdv79 вне форума  
 
Непрочитано 06.09.2018, 15:33
#10
frostmourn


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


Ищется за 10 минут
http://bushman-andrey.blogspot.com/2...p-autocad.html
frostmourn вне форума  
 
Непрочитано 06.09.2018, 15:36
#11
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


для v2011
Код:
[Выделить все]
 (strcat "HKEY_LOCAL_MACHINE\\" (vlax-product-key) "\\Service Packs\\")
Vov.Ka вне форума  
 
Непрочитано 06.09.2018, 16:04
1 | #12
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от frostmourn Посмотреть сообщение
Это работало в старых версиях AutoCAD. В AutoCAD 2019 этого нет. Зато есть такая информация:


Простейший способ получения версии:
Код:
[Выделить все]
 (getvar "_VERNUM")

Последний раз редактировалось Александр Ривилис, 06.09.2018 в 16:11.
Александр Ривилис вне форума  
 
Непрочитано 06.09.2018, 16:50
#13
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


У кого Acad 2019 без SP подскажите что выдает код
Код:
[Выделить все]
 (getvar "_VERNUM")
в Acad 2019+SP1=2019.1 результат "P.103.0.0 (UNICODE)"

Последний раз редактировалось sdv79, 06.09.2018 в 17:14.
sdv79 вне форума  
 
Непрочитано 06.09.2018, 16:56
1 | #14
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от sdv79 Посмотреть сообщение
У кого Acad 2019 без SP подскажите что выдает код
Код:
[Выделить все]
 (getvar "_VERNUM")
в Acad 2019+SP1 результат "P.103.0.0 (UNICODE)"
P.46.0.0 - это версия AutoCAD 2019
P.61.0.0 - это версия AutoCAD 2019.0.1
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp Как программно получить данные о версии AutoCad?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в lisp программно заполнить таблицу созданную в autoCad? SNIIP LISP 8 26.04.2013 10:20
Нужен LISP: получить список групп в которые входит объект koval_a_r LISP 9 05.04.2013 14:49
lisp из autocad 2004 некорректно выполняется в autocad 2008 sid_geo LISP 13 11.10.2012 11:20
Выгрузить данные зи таблицы Autocad в Excel gizmo_zx AutoCAD 4 14.07.2011 11:40
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27