ADN Club > Civil 3D API

Как определить что запущен именно Civil?

<< < (4/4)

Вильдар:
У меня такая проверка, что это Civil - вызвать апи, если не будет исключения, значит Civil

--- Код - C# [Выбрать] ---CivilApplication.ActiveDocument;

Дмитрий Загорулькин:

--- Цитата: Вильдар от 17-12-2018, 14:37:40 ---У меня такая проверка, что это Civil - вызвать апи, если не будет исключения, значит Civil
--- Конец цитаты ---
Тоже, в принципе, вариант! :) Но он не поможет в этом случае:

--- Цитата: simson43 от 17-12-2018, 13:13:57 ---Нужно чтоб отличал Civil as Autocad от Civil(
--- Конец цитаты ---

А так-то, я уже давно этой проверкой не пользуюсь, т.к. в Bundle прописан только Civil3D:

--- Код - XML [Выбрать] ---... <RuntimeRequirements  OS="Win64"  Platform="Civil3D"  SeriesMin="R20.1"  SeriesMax="R20.1"/> ... 

Привалов Дмитрий:
Еще вариант, проверял на 2015



--- Код - C# [Выбрать] ---HostApplicationServices hs = Autodesk.AutoCAD.DatabaseServices.HostApplicationServices.Current;                        //Определяем запущенное приложениеstring userRegistryProductRootKey = hs.UserRegistryProductRootKey;//Software\\Autodesk\\AutoCAD\\R20.0\\ACAD-E000:419bool isCivilApp = System.Text.RegularExpressions.Regex.IsMatch(userRegistryProductRootKey, @"ACAD-\w{2}00(\:)");bool isAutoCADApp = System.Text.RegularExpressions.Regex.IsMatch(userRegistryProductRootKey, @"ACAD-\w{2}01(\:)"); dynamic application = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;string applicationName = application.Name;//Autodesk AutoCAD Civil 3D 2015//AutoCAD bool isAutoCAD = isAutoCADApp && applicationName == "AutoCAD";bool isCivil = isCivilApp && applicationName.Contains("Civil 3D");bool isCivilAsAutoCAD = isCivilApp && applicationName == "AutoCAD"; string yearVersion = hs.releaseMarketVersion;//2015string coreVersion = application.Version;//20.0s (LMS Tech)

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии