Как узнать версию автокада
Перейти к содержимому

Как узнать версию автокада

  • автор:

Как получить информацию об установленных версиях AutoCAD?

Форумы CADUser → Программирование → Delphi → Как получить информацию об установленных версиях AutoCAD?

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 4

#1 Тема от Николай 5 апреля 2004г. 18:04:55

Тема: Как получить информацию об установленных версиях AutoCAD?

Хочу написать программу которая определяет все версии автокада установленные на данной машине и пути к ним не зависимо от версии автокад (начиная с 2000) и операционной системы (начиная с 98 se). Помогите пожалуйста.
Предупреждение! Используйте строчные буквы.
/Администратор./

#2 Ответ от GRF 8 апреля 2004г. 20:03:58

Re: Как получить информацию об установленных версиях AutoCAD?

Почитай этот топик (кстати рядом находится).
https://www.caduser.ru/forum/topic9186.html
Там ShaggyDoc кое-что по этому поводу написал.

#3 Ответ от GRF 27 апреля 2004г. 21:24:23

Re: Как получить информацию об установленных версиях AutoCAD?

Кстати тут вот подумал и возникла такая идея (правда на практике еще не проверял):
1. Программа, которой требуется узнать инфу о всех (или каких-то) версиях AutoCAD должна представлять из себя внешний сервер автоматизации.
2. Для того, чтобы узнать что-то программа последовательно делает CreateOleObject(‘AutoCAD.Application.N’) и посылает некую Lisp-функцию, выполняющую поиск этой информации и передачу ее на сервер.
3. На последнем этапе программа посылает AutoCAD команду Quit, тем самым решая проблему отсутствия метода Release у OleObject без библиотеки типов и спасая от некрасивого TerminateProcess.
Хотя здесь сразу бросается в глаза, что если при загрузке AutoCAD выполняется какая-то «кака», то что-нибудь может и случиться нехорошее.

#4 Ответ от GRF 28 апреля 2004г. 13:44:31

Re: Как получить информацию об установленных версиях AutoCAD?

Да, чего-то я раньше об этом не думал (т.к. в соновном из AutoCAD к Delphi обращаюсь), а ведь фигня получается. Причем это касается запуска AutoCAD вообще, а не только для получения информации.
Если при загрузке AutoCAD выполняется какая-то функция с диалоговым окном (alert например), то пока USER не нажмет в нем OK ни черта не будет. Даже инициирование нажатий клавиш не поможет, т.к. отработать это может только после отработки CreateOleObject, а вот диалог выскакивает где-то между.
В общем вариант, приведенный в предыдущем посте скорее всего отпадает, а вот вопрос с запуском как таковым, лично у меня остается.
Хотя конечно, возможно что где-то заблуждаюсь или чего-то не учел, т.к. повторюсь, что обычно действую в направлении AutoCAD->Delphi, а не наоборот.
Народ, высказывайтесь.

Сообщения 4

Тему читают:

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Форумы CADUser → Программирование → Delphi → Как получить информацию об установленных версиях AutoCAD?

Форум работает на PunBB , при поддержке Informer Technologies, Inc

В какой версии создан файл?

Как определить в какой версии AutoCAD был создан файл DWG?

Откройте файл DWG в любом текстовом редакторе.
По первым шести символам можно определить версию AutoCAD в которой был сохранен DWG файл.
Коды версий AutoCAD:
AC1021 — AutoCAD 2007
AC1018 — AutoCAD 2006
AC1018 — AutoCAD 2005
AC1018 — AutoCAD 2004
AC1015 — AutoCAD 2002
AC1015 — AutoCAD 2000i
AC1015 — AutoCAD 2000
AC1014 — Release 14
AC1012 — Release 13
AC1009 — Release 11/12
AC1006 — Release 10
AC1004 — Release 9
AC1003 — Version 2.60
AC1002 — Version 2.50
AC1001 — Version 2.22
AC2.22 — Version 2.22
AC2.21 — Version 2.21
AC2.10 — Version 2.10
AC1.50 — Version 2.05
AC1.40 — Version 1.40
AC1.2 — Version 1.2
MC0.0 — Version 1.0

Неточность в формулировкак? В какой версии ВЫПОЛНЕН? Очевидно, сохранен. Код AC1018 показывает аж 3 автокада. Но все равно интересно, может кому пригодится

Как узнать есть ли на компьютере версия AutoCAD по известному GIUD

Придумал небольшой способ адаптировать программы к разным версиям AutoCAD! Просто надо выбрать версию с которой работаем из списка. Но вот заполняется пока этот список всеми возможными версиями AutoCAD и если выбрать из этого списка версию которая не установлена на компьютере или файл библиотеки которой не зарегистрирован то файл программы Excel перестаёт компилироваться так как он отключается от рабочей библиотеки и не подключается к не найденой. Чтобы избежать подобных ситуаций надо заполнять список только имеющимися версиями AutoCAD. Для этого надо по известному GUID библиотеки найти зарегистрирована эта бибилиотека в системе или нет. Если зарегистрирована то добавлять в список а если нет то не добавлять.

Private Sub ComboBox1_ВерсияAutoCAD_Click() strНачВерсияAutoCAD = ComboBox1_ВерсияAutoCAD End Sub Private Sub ComboBox1_ВерсияAutoCAD_Change() Dim objReferences As Object On Error Resume Next 'Отключим библиотеку не используемой версии AutoCAD Select Case strНачВерсияAutoCAD Case "AutoCAD2000" 'Отключение библиотеки типов AutoCAD2000 Application.VBE.ActiveVBProject.References.Remove (ReferenceFromGuid("")) Case "AutoCAD2006" 'Отключение библиотеки типов AutoCAD2006 Application.VBE.ActiveVBProject.References.Remove (ReferenceFromGuid("")) Case "AutoCAD2007" 'Отключение библиотеки типов AutoCAD2007 Application.VBE.ActiveVBProject.References.Remove (ReferenceFromGuid("")) End Select 'Подключим библиотеку используемой версии AutoCAD Select Case ComboBox1_ВерсияAutoCAD Case "AutoCAD2007" 'Подключение библиотеки типов AutoCAD2007 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) If TypeOf objReferences Is Object Then If Not objReferences.isbroken Then MsgBox "AutoCAD2007 подключён", vbInformation, gstrНазваниеПрограммы End If Case "AutoCAD2006" 'Подключение библиотеки типов AutoCAD2006 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) If TypeOf objReferences Is Object Then If Not objReferences.isbroken Then MsgBox "AutoCAD2006 подключён", vbInformation, gstrНазваниеПрограммы End If Case "AutoCAD2000" 'Подключение библиотеки типов AutoCAD2000 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) If TypeOf objReferences Is Object Then If Not objReferences.isbroken Then MsgBox "AutoCAD2000 подключён", vbInformation, gstrНазваниеПрограммы End If End Select End Sub Private Function ReferenceFromGuid(strGuid As String) As Variant Dim objReference As Object For Each objReference In Application.VBE.ActiveVBProject.References If objReference.GUID = strGuid Then Set ReferenceFromGuid = objReference Exit Function End If Next End Function

Добавление библиотек в список происходит при открытии рабочей книги Excel:

Private Sub Workbook_Open() Dim objReferences As Object ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD.AddItem "AutoCAD2000" ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD.AddItem "AutoCAD2002" ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD.AddItem "AutoCAD2004" ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD.AddItem "AutoCAD2006" ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD.AddItem "AutoCAD2007" On Error Resume Next Select Case ActiveWorkbook.Sheets(1).ComboBox1_ВерсияAutoCAD Case "AutoCAD2007" 'Подключение библиотеки типов AutoCAD2007 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) Case "AutoCAD2006" 'Подключение библиотеки типов AutoCAD2006 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) Case "AutoCAD2000" 'Подключение библиотеки типов AutoCAD2000 Set objReferences = Application.VBE.ActiveVBProject.References.AddFromGuid("", 1, 1) End Select End Sub

В этой процедуре и надо проверять по известному GUID наличие библиотек в системе. Как это сделать? Может быть есть специальные функции API?

САПР для инженера

В очередной раз пришлось лечить по фотографии консультировать клиента в удаленном режиме и возникла необходимость определить версию файла DWG. Чтобы в очередной раз не пытаться объяснить на пальцах, написал инструкцию по определению версии DWG, делюсь с вами.

Существует два простых способа идентификации версии, выбирайте для себя самый подходящий.

1. Открыть файл в AutoCAD

Самый естественный способ узнать версию DWG — открыть файл в AutoCAD. Если файл открылся удачно, то в командной строке будет выведена строка с номером версии

«Открывается файл формата AutoCAD XXXX»

Напомню, что историю сообщений командной строки можно открыть нажатием клавиши F2.

Однако, этот способ не всегда подходит. Во-первых, на компьютере может быть не установлен AutoCAD, во-вторых, файл DWG может быть поврежден и просто напросто не открыться, и в- третьих, файл DWG может быть создан в более поздней версии, чем та, которая установлена на компьютере (в этом случае AutoCAD не откроет файл и выдаст соответствующее сообщение).

2. Открыть файл в текстовом редакторе

Чтобы узнать версию файла DWG откройте его в текстовом редакторе, например, стандартном Блокноте MS Windows (в Проводнике кликните на файле правой кнопкой мыши и выберите «Открыть с помощью»).

В первых шести символах файла закодирована версия файла DWG

  • AC1014 — AutoCAD R14
  • AC1015 — AutoCAD 2000
  • AC1018 — AutoCAD 2004
  • AC1021 — AutoCAD 2007
  • AC1024 — AutoCAD 2010
  • AC1027 — AutoCAD 2013
  • AC1032 — AutoCAD 2018

Заключение

Важно понимать, что существует разница между версией файла DWG и версией AutoCAD, в которой он был сохранен, поскольку один и тот же формат может быть нативным для разных версий программы. Как видите, версию DWG определить легко, а вот версию программы, в которой он был сохранен — практически невозможно.

С уважением, Андрей

Если вы получили ответ на свой вопрос и хотите поддержать проект материально — внизу страницы для этого есть специальная форма.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *