Вопросы по Autodesk.AutoCAD.ApplicationServices Namespace

Автор Тема: Вопросы по Autodesk.AutoCAD.ApplicationServices Namespace  (Прочитано 9262 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Здравствуйте, Уважаемые форумчане.
Возник следующий вопрос:
В книге Полещука (стр. 198) есть такой фрагмент кода:
Код - C# [Выбрать]
  1. using cad = Autodesk.AutoCAD.ApplicationServices.Application;
  2.  
Если написать так, то VS показывает ошибку

В официальной документации:

Смысл в том, что, если добавить
Код - C# [Выбрать]
  1. using Autodesk.AutoCAD.ApplicationServices.Core;
  2.  
то
Код - C# [Выбрать]
  1. Document acDoc = Application.DocumentManager.MdiActiveDocument;
  2.  
проходит без ошибок, а если просто (без *.Core)
Код - C# [Выбрать]
  1. using Autodesk.AutoCAD.ApplicationServices;
  2.  
то нет такого в пространстве имен

в чем проблема и как правильно?
« Последнее редактирование: 03-11-2019, 15:21:42 от Александр Ривилис »

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Потому как с 2013 версии автокада часть этого пространства была перенесена в Autodesk.AutoCAD.ApplicationServices.Core.Application. Вот тема есть

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
из этой ссылки не очень понятно к чему всё это и там ничего не сказано о том, что
Цитировать
часть этого пространства была перенесена
или я не заметил.
Чтобы не "закапываться" в глубину, скажите, можно просто использовать пространство  Autodesk.AutoCAD.ApplicationServices.Core для доступа к объекту Application?
И получается, что официальная документация не актуальна?
И код из официальной документации

просто не рабочий?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Да, если пишите под 2013 и выше, то используйте Autodesk.AutoCAD.ApplicationServices.Core
Если интересно зачем было произведено такое разделение, то можете почитать тут и тут
Если кратко, то это разделение было для работы с консольной версией автокада (Core Console), т.е. без графического представления. Данная технология в итоге используется в Forge.

И что у вас за официальная документация, которая неверная?

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
И что у вас за официальная документация, которая неверная?
Официальная документация вроде AutoCAD 2020
https://help.autodesk.com/view/OARX/2020/ENU/?guid=GUID-034504F8-59F8-4D6D-8777-3EF8A9C251DF

Да, если пишите под 2013 и выше, то используйте Autodesk.AutoCAD.ApplicationServices.Core
Только под AC 2020 и только под х64

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Официальная документация вроде AutoCAD 2020
Да там видимо код копипастят со старых версий справки, не особо запариваясь ))

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Да там видимо код копипастят со старых версий справки, не особо запариваясь ))
а потом человеку, который первый раз пишет программу на C#, первый раз использует МЫ и Autodesk API "ни в зуб ногой" поди и разберись самостоятельно что и как.

Какую-нибудь обучалку бы на youtube, типа быстрый старт и прочее. У Дмитрия Загорулькина вроде есть видео, но я там ничего не слышу, а покупать усилитель "жаба давит" ))

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
У Дмитрия Загорулькина вроде есть видео, но я там ничего не слышу, а покупать усилитель "жаба давит" ))
Savefrom позволяет скачать видел, а VLC Media Player позволяет усиливать звук. Все бесплатно )

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
И получается, что официальная документация не актуальна?
а потом человеку, который первый раз пишет программу на C#, первый раз использует МЫ и Autodesk API "ни в зуб ногой" поди и разберись самостоятельно что и как.
Использую Application из Autodesk.AutoCAD.ApplicationServices (без Core) для всех своих приложений с версии AutoCAD 2012 и до нынешней 2020. Приложения компилируются и выполняются без ошибок. В чём проблема?
Какую-нибудь обучалку бы на youtube, типа быстрый старт и прочее.
Есть такое, от Autodesk. Только оно для VB.NET и на английском с индийским акцентом. Гугл в помощь по словам Autodesk DevHelp.
Хотя, вроде как, был даже перевод на русский от Марата Миргалеева. В общем, кто ищет - тот всегда найдёт.
« Последнее редактирование: 03-11-2019, 15:40:11 от Александр Ривилис »

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Использую Application из Autodesk.AutoCAD.ApplicationServices (без Core) для всех своих приложений с версии AutoCAD 2012 и до нынешней 2020. Приложения компилируются и выполняются без ошибок. В чём проблема?
проблема в том, что при закомментированном using Autodesk.AutoCAD.ApplicationServices.Core; теряется Application


Отмечено как Решение Александр Ривилис 03-11-2019, 15:22:02

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Надо просто добавить ссылку на AcMgd.dll.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Luca,
Ты добавил обе сборки accoremgd.dll и acmgd.dll в проект?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Надо просто добавить ссылку на AcMgd.dll.
если добавить ссылку на AcMgd.dll, то, как я понимаю, нафиг не надо было Install-Package AutoCAD.NET.Core -Version 23.1.0 делать - верно?
можно было просто ссылки добавить и всё.
тогда вопрос: а куда девается Application из Autodesk.AutoCAD.ApplicationServices при использовании AutoCAD.NET.Core -Version 23.1.0?

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Ты добавил обе сборки accoremgd.dll и acmgd.dll в проект?
чет я не понимаю ))
я же добавил пакет AutoCAD.NET.Core -Version 23.1.0
ещё и accoremgd.dll и acmgd.dll добавлять надо?
а как тогда у меня программа работает?? ))

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Спроси у разработчиков этого пакета. Я этой приблудой не пользуюсь.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Спроси у разработчиков этого пакета
Autodesk разработчики этого пакета ))

Вообще там три пакета так-то

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Спроси у разработчиков этого пакета. Я этой приблудой не пользуюсь.
вот и ответ-если Вы ей не пользуетесь, то это означает исключающее или.

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Вообще там три пакета так-то
все три может надо устанавливать? )) или может, вообще, не заморачиваться, а пойти по пути Дмитрия?
Ещё такой вопрос:
у Полещука я читал что-то про какие-то файлы для отладки...

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

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Autodesk разработчики этого пакета ))
Это намёк на то, что от них ответа не дождёшься? :)

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
у Полещука я читал что-то про какие-то файлы для отладки
Я бы Вам посоветовал изучить для начала C#, VS, Net Framework, SOLID, ООП... Хотя бы немного. Такие вопросы к автокаду не относятся ))

Файлы отладки (файлы с расширением pdb) - это файлы, которые позволяют получать больше информации при отладке вашей программы

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
нафиг не надо было Install-Package AutoCAD.NET.Core -Version 23.1.0 делать - верно?
А зачем ты его инсталлировал? Ты думал, что делаешь или просто решил поэкспериментировать? Этот пакет для работы с AcCoreConsole и Forge, когда самого AutoCAD нет. Ты же пишешь приложения для AutoCAD. Так что просто добавляй три сборки к проекту (это для начала - потом могут понадобится и другие): acdbmgd.dll, acmgd.dll, accoremgd.dll И не забывай выставлять для них CopyLocal в False.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
А зачем ты его инсталлировал? Ты думал, что делаешь или просто решил поэкспериментировать.
так вот в этой ветке https://adn-cis.org/forum/index.php?topic=9431.0 мне посоветовали )
я полагал, что это альтернатива .NET API Wizard
Так что просто добавляй три сборки к проекту (это для начала - потом могут понадобится и другие): acdbmgd.dll, acmgd.dll, accoremgd.dll И не забывай выставлять для них CopyLocal в False.
хорошо, попробую.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Вполне нормально можно пользоваться этим пакетом. Просто одного его не достаточно и нужно ставить еще другой.
Пакеты больше подходят для "переносимости" проекта, чтобы открыв его на другой машине можно было сразу собрать проект. Например, когда тимлид захочет сделать кодревью дома вечером =)

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Пакеты больше подходят для "переносимости" проекта, чтобы открыв его на другой машине можно было сразу собрать проект. Например, когда тимлид захочет сделать кодревью дома вечером =)
в данном случае мне надо просто одному упростить себе жизнь(уйти от дикой рутины)  и стать богаче ))


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
так вот в этой ветке https://adn-cis.org/forum/index.php?topic=9431.0 мне посоветовали )
Тебе не этот пакет советовали. Ты выбрал тот, который тебе меньше всего подходит.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Тебе не этот пакет советовали. Ты выбрал тот, который тебе меньше всего подходит.
буду .dll-ками пользоваться

Оффлайн LucaАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 0
Снова проблема:
добавил 3 dll, которые рекомендовали
ввел код из примера https://adn-cis.org/kak-najti-vse-vstavki-dinamicheskogo-bloka.html, который рекомендовал А. Ривилис в другой ветке и

почему-то Editor не видит...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
почему-то Editor не видит...
Потому что не добавил:
Код - C# [Выбрать]
  1. using Autodesk.AutoCAD.EditorInput;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение