Как стать автором
Обновить

Отладка C#-программ для AutoCAD

У программистов, начинающих работать с Autocad может вызвать недоумение невозможность использовать пошаговую отладку в VS 2010, особенно, если уже был опыт разработки под Autocad в VS2008 (отладка работала без дополнительных манипуляций).
Здесь я постараюсь ответить на два вопроса:
— как включить пошаговую отладку в Visual Studio 2010 при программировании под Autocad 2008;
— как автоматизировать процесс подгрузки сборки и вызова команды при отладке;


Запуск отладки


Для использования отладки требуется выполнить следующие действия:
1. Добавить в решение с проектом библиотеки классов для Autocad существующий проект, указав исполнительный файл acad.exe (у меня он расположен по адресу c:\Program Files (x86)\AutoCAD 2008\acad.exe).
2. Назначить проект acad.exe запускаемым проектом.
3. В свойствах проекта acad.exe свойству Debugger Type установить значение Managed (v2.0, v1.1, v1.0).
После запуска отладки (F5) запустится AutoCAD. Загружаем сборку и вводим команду – VS2010 прерывает выполнение программы в указанных точках останова.

Автоматизированный запуск команды


Чтобы запустить разрабатываемую команду, необходимо загрузить сборку и вызвать эту команду. Это может выполняться следующими способами:
1. Вручную: вызов команды Netload и указание команды, далее вызов команды.
2. Внесение информации о команде в реестр: описание можно найти здесь .
3. Добавить кнопку, к которой привязать команду на языке макросов Autocad – diesel. В нашем случае он будет выглядеть так (обратите внимание, что используются не обратные слэши):

^C^C_netload;«C:/Users/Имя_пользователя/documents/visual studio 2010/Projects/ClassLibrary1/ClassLibrary1/bin/Debug/ClassLibrary1.dll»;ProjectsRename

Всё описанное — это то, чем пользуюсь я при работе с Autocad. Буду рад, если подскажите более подходящие способы решения описанных проблем.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.