Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Luca от 16-08-2019, 09:00:14

Название: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 09:00:14
Здравствуйте.
Скачал NET API Wizard, установил, а возможности AutoCAD нет.
Аналогичная возможность при установке ObjectARX есть, а NET API не работает.
В чем может быть проблема?
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 09:10:26
Как выясняется возможность ARX/DBX Project For AutoCAD 2020 тоже не работает: выбираешь, жмёшь ОК, а ничего не происходит - окошко просто мигает и возвращается с теми же опциями...
То ли VS 2017 криво встал... ума не приложу
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 09:24:35
Как выясняется возможность ARX/DBX Project For AutoCAD 2020 тоже не работает: выбираешь, жмёшь ОК, а ничего не происходит - окошко просто мигает и возвращается с теми же опциями...
То ли VS 2017 криво встал... ума не приложу
Права администратора и отключенный UAC при установке в 99% процентов случаев решают эту проблему.
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 09:48:16
Права администратора и отключенный UAC при установке в 99% процентов случаев решают эту проблему.
Эти условия соблюдались. Дело в чём-то другом: переустановил и C# вроде заработал... Буду пробовать
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 10:56:15
Теперь такая проблема:
(https://i.ibb.co/59pChyh/VS.jpg) (https://imgbb.com/)
Я так понимаю, что у меня ObjectARX SDK не хватает?
Где его взять?
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 11:03:51
Теперь такая проблема:
(https://i.ibb.co/59pChyh/VS.jpg) (https://imgbb.com/)
Я так понимаю, что у меня ObjectARX SDK не хватает?
Где его взять?


 ObjectARX SDK: старые и новые версии (https://adn-cis.org/forum/index.php?topic=61.0)
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 11:05:27
Должны быть добавлены сборки acmgd.dll, accoremgd.dll, acdbmgd.dll
Это должен делать AutoCAD .NET Wizard. Меня другое удивило, что подчеркнуты как не найденные не все пространства имён.
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 11:19:38
зачем ставить  AutoCAD .NET Wizard? Куда проще создать проект с простой библиотекой (dll) и через Nuget подключить нужное.
При этом нет привязки к местам расположения нужных библиотек и можно начать работу в офисе и придя домой продолжить и пофигу на окружение. Удобно, комфортно, быстро.... зачем  AutoCAD .NET Wizard устанавливать...
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 11:23:55
зачем ставить  AutoCAD .NET Wizard? Куда проще создать проект с простой библиотекой (dll) и через Nuget подключить нужное.
При этом нет привязки к местам расположения нужных библиотек и можно начать работу в офисе и придя домой продолжить и пофигу на окружение. Удобно, комфортно, быстро.... зачем  AutoCAD .NET Wizard устанавливать...
Кстати как вариант: https://www.nuget.org/packages/AutoCAD.NET/
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 11:44:36
(https://i.ibb.co/jMvXNNG/VS-NORM.jpg) (https://imgbb.com/)
Алилуйя  :D

NuGet, я так понимаю, обычный пакетный менеджер типа npm, yarn для js.
Сходу не пойму принцип работы пакета  AutoCAD 2020 .Net API из NuGet.
В принципе посмотрел, можно и без NuGet:
Создается проект C# "обычный", к нему подключается  dotnet add package AutoCAD.NET --version 23.1.0 и дальше можно using?
Это скорее уже надо смотреть в сторону NuGet, .NET (C#), VS, чем, собственно, в сторону AutoCAD и поэтому вопросы уже не здесь нужно задавать.
Пока всё очень непривычно.
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 11:55:47
пофигу на окружение
это как? можете предельно просто пояснить?
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 12:29:41
пофигу на окружение
это как? можете предельно просто пояснить?
Думаю, что Владимир Шу имел в виду, что в этом nuget-пакете все нужные сборки уже внутри и не нужен ObjectARX SDK, который еще и может быть установлен в разные места и соответственно нужно прописать правильный путь к ним.
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 13:01:30
да, именно это и имел ввиду про пути  и еще как бонус публиковать код удобнее. Человек берущий код не будет вынужден рыскать по сети и скачивать библиотеки, все уже включено.
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 13:08:12
Владимир Шу,
Я только обратил внимание, что в эти nuget-пакеты не входят Autodesk.AutoCAD.Interop.dll и Autodesk.AutoCAD.Interop.Common.dll, что (IMHO) является их недостатком.
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 13:22:43
Каждому своё. После того, как у меня не заработал модуль с SDK библиотеками и отлично заработал с библиотеками из папки автокада, Interop библиотеки я предпочитаю подключать именно оттуда, да и стараюсь обойтись без них по возможности, потому я не считаю это недостатком.
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 13:40:57
После того, как у меня не заработал модуль с SDK библиотеками и отлично заработал с библиотеками из папки автокада
Речь про Interop-библиотеки или про остальные? И Interop-библиотеки брались из правильной версии и правильной разрядности SDK?
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 13:48:45
Брал вот  эти
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.Common.dll
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.dll
для работы с архитектурным автокадом 2017x64

Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает, а значит надо брать то, что в папке акада лежит.
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 13:50:53
Брал вот  эти
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.Common.dll
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.dll
для работы с архитектурным автокадом 2017x64

Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает, а значит надо брать то, что в папке акада лежит.
Очень странно, но буду иметь в виду...
Название: Re: Не работает .NET API Wizard
Отправлено: Дмитрий Загорулькин от 16-08-2019, 13:57:34
Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает
Это вряд ли.
А вот что действительно однажды словили - выходит обновление на автокад, а SDK остался не обновлённый. И приложение скомпилированное с SDK-библиотеками при запуске в AutoCAD отказывается работать.
Я вот не знаю, SDK обновляют в рамках одной версии при выпуске обновлений? Сомневаюсь...
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 13:59:15
Я вот не знаю, SDK обновляют в рамках одной версии при выпуске обновлений? Сомневаюсь...
Нет. Такого ни разу не было за всё время.
А вот что действительно однажды словили - выходит обновление на автокад, а SDK остался не обновлённый.
Интересно. Не помнишь подробностей?
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 14:00:52
Дмитрий Загорулькин, очень может быть, я "на полный штык" не копал.
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 14:05:58
Владимир Шу,  получается, что  мы можем к "обычному" C# приложению подключить этот пакет и дальше спокойно использовать в коде?
те я создаю приложение С# через NuGet или другим способом его подключаю и всё?
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 14:07:44
Владимир Шу,  получается, что  мы можем к "обычному" C# приложению подключить этот пакет и дальше спокойно использовать в коде?
те я создаю приложение С# через NuGet или другим способом его подключаю и всё?
Только не приложение, а сборку (dll-файл). Во внешнем exe-файле нельзя использовать сборки AutoCAD .NET API.

(https://live.staticflickr.com/65535/48550545237_71e0a38e4f_o.png)

Название: Re: Не работает .NET API Wizard
Отправлено: Дмитрий Загорулькин от 16-08-2019, 14:13:06
Интересно. Не помнишь подробностей?
К сожалению, нет. То ли в 2015, то ли в 2016 версии такое было. Но уже настолько давно, что подробности уже не вспомню. Надо было задокументировать, конечно.
Название: Re: Не работает .NET API Wizard
Отправлено: Владимир Шу от 16-08-2019, 14:17:18
Luca, по сути, да (уточнение что разговор про dll важно).
Визард подключает библиотеки, устанавливает запрет на их копирование, может добавляет путь до acad.exe для отладки и вроде все... сделать это руками не проблема.
Я визардом ни разу не пользовался, начинал писать не в VS, а в шарп девелоп, а с ним визард не работал...
Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 14:19:05
и вроде все...
Еще устанавливает минимально допустимую версию .NET Framework.
Luca,
Вообще говоря при использовании AutoCAD .NET API можно легко настроить всё вручную. Благо свойств в проекте не много.
Для ObjectARX не так. Есть масса неописанных опций компилятора и линкера, которые должны быть именно такие, как устанавливает ObjectARX Wizard.
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 14:52:32
Luca, по сути, да (уточнение что разговор про dll важно).
(я под виндоус не программировал) dll  - это типа объектный файл после компилятора, который потом линковщиком обрабатывается - правильно?
те, по-сути, нам нужно только объектные файлы подключить из текущей версии(его папок) и дальше вызывать их?
Еще устанавливает минимально допустимую версию .NET Framework.
это подразумевается, если мы используем .NET
Александр Ривилис, а можно ведь (теоретически) написать "web-морду" для конфигурации проекта (и не только)? Ведь любого REST API есть возможность запускать нужные программы:
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
я пока ничего особо не понимаю - как любое новое дело(надо С# и WinAPI подтянуть).
а панельки свои для автокад через NET можно создать или только плюсы?

Название: Re: Не работает .NET API Wizard
Отправлено: Александр Ривилис от 16-08-2019, 14:56:00
(я под виндоус не программировал) dll  - это типа объектный файл после компилятора, который потом линковщиком обрабатывается - правильно?
Нет.
Цитата: Александр Ривилис от 16-08-2019, 14:19:05

    Еще устанавливает минимально допустимую версию .NET Framework.

это подразумевается, если мы используем .NET
Нет.
Александр Ривилис, а можно ведь (теоретически) написать "web-морду" для конфигурации проекта (и не только)? Ведь любого REST API есть возможность запускать нужные программы:
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
Начни уже программировать под AutoCAD.

а панельки свои для автокад через NET можно создать или только плюсы?
Можно.
Название: Re: Не работает .NET API Wizard
Отправлено: Luca от 16-08-2019, 15:34:09
Начни уже программировать под AutoCAD.
так "семь раз отмерь..."
намёк понял ) просто неохото потом, когда пропахал поле, начинать заново: надо сразу понимать, что ты можешь, а что нет. пока лёгких путей не видно (( 
читаю... здесь консультируюсь.
Название: Re: Не работает .NET API Wizard
Отправлено: trir от 19-08-2019, 08:33:06
Цитировать
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
Что ObjextArx, что NET API работают только из запущеного AutoCAD'а. Есть конечно способ работать с .dwg на прямую, без AutoCAD'а - но если я раскажу, меня тут забанят  ::)