Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Леонид Ронжин от 26-11-2020, 20:05:01
-
Добрый вечер.
В продолжении к вчерашней теме про получение списка блоков (https://adn-cis.org/forum/index.php?topic=10169.0).
ReadDwgFile подходит, но есть проблема, проверить могу только в самом Автокаде, при запуске отладки библиотеки в VS выскакивает ошибка т.к. acdbmgd.dll без Автокада не работает.
Подскажите как тестировать такую библиотеку в VS?
P.s.: Опыт программирования не велик, работал с автолиспом и API Solidworks на C#, но там не приходилось сталкиваться с библиотекой которая не может работать без редактора, поэтому заранее прошу прощения за, возможно, глупый вопрос, но писать без отладчика еще не умею.
-
Никак.
Либо вы работает из-под Автокад, запускаете ваш плагин и вашу команду.
Либо вы покупаете дорогущий комплект библиотек для работы с dwg без Автокада. И в этом случае пишете свой программу (exe), которая вызывает эти библиотеки.
В обеих случаях вы запускаете на отладку программу, а не библиотеку.
-
А если научится запускать AcCoreConsole.exe как нибудь в "скрытом режиме"?
-
avc, а если попробовать из внешнего приложения, через библиотеку Interop, получить Database файла программно не открывая его, это возможно?
trir, так если не ошибаюсь в AcCoreConsole.exe так же придется загружать dll, которую никак не отладить заранее
-
Непонятно, что мешает запустить AutoCAD и из под него делать все что угодно, в том числе работать с файлами без создания Document, не открывая файлов в Editor.
-
И непонятно что мешает отбадке библиотек, загруженных в любое приложение. Хоть acad.exe, хоть AcCoreConsole.exe
-
avc, запустить автокад ничего не мешает, непонятно как отлаживать библиотеку в VS, VS сразу ругается, что acdbmgd.dll не может загрузить.
-
В свойствах ссылки на dll отключите флажек Копировать локально
-
avc, он был отключен.
Нашел решение в статье (https://habr.com/ru/post/164305/). То что я хотел, посмотрите, возможно, есть более актуальный способ.
-
всё проще делается
-
trir, Спасибо, так проще.