- Imports Autodesk.AutoCAD.ApplicationServices 
- Imports Autodesk.AutoCAD.EditorInput 
- Imports Autodesk.AutoCAD.Runtime 
- Imports System.Drawing 
- Imports System.Drawing.Text 
- Imports System.IO 
- Imports System.Reflection 
-   
- Public Class Initialization 
-   
-     Implements IExtensionApplication 
-   
-     Friend Shared kdLoad As Boolean = False 
-     Friend Shared reLoad As Boolean = False 
-     Friend Shared cuixLoad As Boolean = False 
-     Friend Shared bExist As Boolean = False 
-     Friend Shared fExist As Boolean = False 
-     Friend Shared rsLoad As Boolean = False 
-   
-     Private cVersion As String 
-   
-     Public Sub Initialize() Implements IExtensionApplication.Initialize 
-   
-         cVersion = Core.Application.Version.Major & "." & Core.Application.Version.Minor 
-   
-         Dim ed As Editor = Core.Application.DocumentManager.MdiActiveDocument.Editor 
-         ed.WriteMessage(vbCrLf) 
-   
-         ed.WriteMessage(vbCrLf & "SomeSmallTools {0}.", My.Application.Info.Version) 
-   
-         ed.WriteMessage(vbCrLf & "Версия среды: {0}.", cVersion) 
-   
-         'Проверяем наличие файлов расширений 
-         Try 
-             Assembly.LoadFrom(My.Application.Info.DirectoryPath & "\Extensions\KDTree.dll") 
-             kdLoad = True 
-             ed.WriteMessage(vbCrLf & "Модуль KDSharp: Загружен. ") 
-         Catch ex As Exception 
-             kdLoad = False 
-             ed.WriteMessage(vbCrLf & "Модуль KDSharp: Не удалось загрузить. " & vbCrLf & ex.ToString) 
-         End Try 
-         Try 
-             Assembly.LoadFrom(My.Application.Info.DirectoryPath & "\Extensions\RandomExtension.dll") 
-             reLoad = True 
-             ed.WriteMessage(vbCrLf & "Модуль RandomExtension: Загружен. ") 
-         Catch ex As Exception 
-             reLoad = False 
-             ed.WriteMessage(vbCrLf & "Модуль RandomExtension: Не удалось загрузить. " & vbCrLf & ex.ToString) 
-         End Try 
-   
-         'Проверяем наличие файлов шаблонов 
-         If File- . Exists(- My. Application- . Info- . DirectoryPath & "\Templates\Blocks.dwg") Then
 
-             bExist = True 
-             ed.WriteMessage(vbCrLf & "Файл шаблонов Blocks.dwg: Найден. ") 
-         Else 
-             ed.WriteMessage(vbCrLf & "Файл шаблонов Blocks.dwg: Не найден. ") 
-         End If 
-   
-         'Проверяем наличие библиотек ресурсов 
-         Select Case cVersion 
-             Case "19.0", "19.1" 'Shared 2013+ 
-                 If File- . Exists(- My. Application- . Info- . DirectoryPath & "\Interface\Shared 2013+\SSToolsUI.dll") Then
 
-                     rsLoad = True 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Найдены. ") 
-                 Else 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Не найдены. ") 
-                 End If 
-             Case "20.0", "20.1" 'Shared 2015+ 
-                 If File- . Exists(- My. Application- . Info- . DirectoryPath & "\Interface\Shared 2015+\SSToolsUI.dll") And
 
-                     File- . Exists(- My. Application- . Info- . DirectoryPath & "\Interface\Shared 2015+\SSToolsUI_light.dll") Then
 
-                     rsLoad = True 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Найдены. ") 
-                 Else 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Не найдены. ") 
-                 End If 
-             Case "21.0", "22.0", "23.0", "23.1" 'Shared 2017+ 
-                 If File- . Exists(- My. Application- . Info- . DirectoryPath & "\Interface\Shared 2017+\SSToolsUI.dll") And
 
-                     File- . Exists(- My. Application- . Info- . DirectoryPath & "\Interface\Shared 2017+\SSToolsUI_light.dll") Then
 
-                     rsLoad = True 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Найдены. ") 
-                 Else 
-                     ed.WriteMessage(vbCrLf & "Компоненты интерфейса: Не найдены. ") 
-                 End If 
-         End Select 
-   
-         'Проверяем наличие шрифтов в системе 
-         Dim fs As New InstalledFontCollection 
-         Dim fCount As Integer = 0 
-         For Each ff As FontFamily In fs.Families 
-             If ff.Name = My.Settings.SSToolsNormalFont Or ff.Name = My.Settings.SSToolsFramedFont Then 
-                 fCount += 1 
-             End If 
-         Next 
-         If fCount = 2 Then 
-             fExist = True 
-             ed.WriteMessage(vbCrLf & "Шрифты: Установлены.") 
-         Else 
-             ed.WriteMessage(vbCrLf & "Шрифты: Не установлены.") 
-             With My.Settings 
-                 .XYZDUsePluginFont = False 
-                 .XYZDVertDiffsFrameOn = False 
-                 .Save() 
-             End With 
-         End If 
-         ed.WriteMessage(vbCrLf) 
-   
-     End Sub 
-   
-     Public Sub Terminate() Implements IExtensionApplication.Terminate 
-         Console.WriteLine("Работа SomeSmallTools завершена. ") 
-     End Sub 
-   
- End Class 
-