Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Luca от 16-08-2019, 09:00:14
-
Здравствуйте.
Скачал NET API Wizard, установил, а возможности AutoCAD нет.
Аналогичная возможность при установке ObjectARX есть, а NET API не работает.
В чем может быть проблема?
-
Как выясняется возможность ARX/DBX Project For AutoCAD 2020 тоже не работает: выбираешь, жмёшь ОК, а ничего не происходит - окошко просто мигает и возвращается с теми же опциями...
То ли VS 2017 криво встал... ума не приложу
-
Как выясняется возможность ARX/DBX Project For AutoCAD 2020 тоже не работает: выбираешь, жмёшь ОК, а ничего не происходит - окошко просто мигает и возвращается с теми же опциями...
То ли VS 2017 криво встал... ума не приложу
Права администратора и отключенный UAC при установке в 99% процентов случаев решают эту проблему.
-
Права администратора и отключенный UAC при установке в 99% процентов случаев решают эту проблему.
Эти условия соблюдались. Дело в чём-то другом: переустановил и C# вроде заработал... Буду пробовать
-
Теперь такая проблема:
(https://i.ibb.co/59pChyh/VS.jpg) (https://imgbb.com/)
Я так понимаю, что у меня ObjectARX SDK не хватает?
Где его взять?
-
Теперь такая проблема:
(https://i.ibb.co/59pChyh/VS.jpg) (https://imgbb.com/)
Я так понимаю, что у меня ObjectARX SDK не хватает?
Где его взять?
ObjectARX SDK: старые и новые версии (https://adn-cis.org/forum/index.php?topic=61.0)
-
Должны быть добавлены сборки acmgd.dll, accoremgd.dll, acdbmgd.dll
Это должен делать AutoCAD .NET Wizard. Меня другое удивило, что подчеркнуты как не найденные не все пространства имён.
-
зачем ставить AutoCAD .NET Wizard? Куда проще создать проект с простой библиотекой (dll) и через Nuget подключить нужное.
При этом нет привязки к местам расположения нужных библиотек и можно начать работу в офисе и придя домой продолжить и пофигу на окружение. Удобно, комфортно, быстро.... зачем AutoCAD .NET Wizard устанавливать...
-
зачем ставить AutoCAD .NET Wizard? Куда проще создать проект с простой библиотекой (dll) и через Nuget подключить нужное.
При этом нет привязки к местам расположения нужных библиотек и можно начать работу в офисе и придя домой продолжить и пофигу на окружение. Удобно, комфортно, быстро.... зачем AutoCAD .NET Wizard устанавливать...
Кстати как вариант: https://www.nuget.org/packages/AutoCAD.NET/
-
(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 и поэтому вопросы уже не здесь нужно задавать.
Пока всё очень непривычно.
-
пофигу на окружение
это как? можете предельно просто пояснить?
-
пофигу на окружение
это как? можете предельно просто пояснить?
Думаю, что Владимир Шу имел в виду, что в этом nuget-пакете все нужные сборки уже внутри и не нужен ObjectARX SDK, который еще и может быть установлен в разные места и соответственно нужно прописать правильный путь к ним.
-
да, именно это и имел ввиду про пути и еще как бонус публиковать код удобнее. Человек берущий код не будет вынужден рыскать по сети и скачивать библиотеки, все уже включено.
-
Владимир Шу,
Я только обратил внимание, что в эти nuget-пакеты не входят Autodesk.AutoCAD.Interop.dll и Autodesk.AutoCAD.Interop.Common.dll, что (IMHO) является их недостатком.
-
Каждому своё. После того, как у меня не заработал модуль с SDK библиотеками и отлично заработал с библиотеками из папки автокада, Interop библиотеки я предпочитаю подключать именно оттуда, да и стараюсь обойтись без них по возможности, потому я не считаю это недостатком.
-
После того, как у меня не заработал модуль с SDK библиотеками и отлично заработал с библиотеками из папки автокада
Речь про Interop-библиотеки или про остальные? И Interop-библиотеки брались из правильной версии и правильной разрядности SDK?
-
Брал вот эти
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.Common.dll
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.dll
для работы с архитектурным автокадом 2017x64
Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает, а значит надо брать то, что в папке акада лежит.
-
Брал вот эти
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.Common.dll
ObjectARX_2017\inc-x64\Autodesk.AutoCAD.Interop.dll
для работы с архитектурным автокадом 2017x64
Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает, а значит надо брать то, что в папке акада лежит.
Очень странно, но буду иметь в виду...
-
Решил для себя, что для архитектуры скомпилили немного другие библиотеки и потому не работает
Это вряд ли.
А вот что действительно однажды словили - выходит обновление на автокад, а SDK остался не обновлённый. И приложение скомпилированное с SDK-библиотеками при запуске в AutoCAD отказывается работать.
Я вот не знаю, SDK обновляют в рамках одной версии при выпуске обновлений? Сомневаюсь...
-
Я вот не знаю, SDK обновляют в рамках одной версии при выпуске обновлений? Сомневаюсь...
Нет. Такого ни разу не было за всё время.
А вот что действительно однажды словили - выходит обновление на автокад, а SDK остался не обновлённый.
Интересно. Не помнишь подробностей?
-
Дмитрий Загорулькин, очень может быть, я "на полный штык" не копал.
-
Владимир Шу, получается, что мы можем к "обычному" C# приложению подключить этот пакет и дальше спокойно использовать в коде?
те я создаю приложение С# через NuGet или другим способом его подключаю и всё?
-
Владимир Шу, получается, что мы можем к "обычному" C# приложению подключить этот пакет и дальше спокойно использовать в коде?
те я создаю приложение С# через NuGet или другим способом его подключаю и всё?
Только не приложение, а сборку (dll-файл). Во внешнем exe-файле нельзя использовать сборки AutoCAD .NET API.
(https://live.staticflickr.com/65535/48550545237_71e0a38e4f_o.png)
-
Интересно. Не помнишь подробностей?
К сожалению, нет. То ли в 2015, то ли в 2016 версии такое было. Но уже настолько давно, что подробности уже не вспомню. Надо было задокументировать, конечно.
-
Luca, по сути, да (уточнение что разговор про dll важно).
Визард подключает библиотеки, устанавливает запрет на их копирование, может добавляет путь до acad.exe для отладки и вроде все... сделать это руками не проблема.
Я визардом ни разу не пользовался, начинал писать не в VS, а в шарп девелоп, а с ним визард не работал...
-
и вроде все...
Еще устанавливает минимально допустимую версию .NET Framework.
Luca,
Вообще говоря при использовании AutoCAD .NET API можно легко настроить всё вручную. Благо свойств в проекте не много.
Для ObjectARX не так. Есть масса неописанных опций компилятора и линкера, которые должны быть именно такие, как устанавливает ObjectARX Wizard.
-
Luca, по сути, да (уточнение что разговор про dll важно).
(я под виндоус не программировал) dll - это типа объектный файл после компилятора, который потом линковщиком обрабатывается - правильно?
те, по-сути, нам нужно только объектные файлы подключить из текущей версии(его папок) и дальше вызывать их?
Еще устанавливает минимально допустимую версию .NET Framework.
это подразумевается, если мы используем .NET
Александр Ривилис, а можно ведь (теоретически) написать "web-морду" для конфигурации проекта (и не только)? Ведь любого REST API есть возможность запускать нужные программы:
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
я пока ничего особо не понимаю - как любое новое дело(надо С# и WinAPI подтянуть).
а панельки свои для автокад через NET можно создать или только плюсы?
-
(я под виндоус не программировал) dll - это типа объектный файл после компилятора, который потом линковщиком обрабатывается - правильно?
Нет. Цитата: Александр Ривилис от 16-08-2019, 14:19:05
Еще устанавливает минимально допустимую версию .NET Framework.
это подразумевается, если мы используем .NET
Нет.
Александр Ривилис, а можно ведь (теоретически) написать "web-морду" для конфигурации проекта (и не только)? Ведь любого REST API есть возможность запускать нужные программы:
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
Начни уже программировать под AutoCAD.
а панельки свои для автокад через NET можно создать или только плюсы?
Можно.
-
Начни уже программировать под AutoCAD.
так "семь раз отмерь..."
намёк понял ) просто неохото потом, когда пропахал поле, начинать заново: надо сразу понимать, что ты можешь, а что нет. пока лёгких путей не видно ((
читаю... здесь консультируюсь.
-
например, у меня есть несколько типовых решений и, в зависимости от решения, можно сразу добавлять в пояснительную записку, например, необходимые фразы, в условно-графические и тд.
выбираем конфигурацию через веб (оборудование, кабельную продукцию, способ крепления...) и у нас создаётся .dwg, с которым мы потом и работаем.
Что ObjextArx, что NET API работают только из запущеного AutoCAD'а. Есть конечно способ работать с .dwg на прямую, без AutoCAD'а - но если я раскажу, меня тут забанят ::)