Здравствуйте Александр!
В продолжении одноименной темы на форуме CadUser.ru хотел бы конкретизировать решаемую мной задачу.
В качестве предисловия:
Я имею (на любительском уровне) опыт программирования на AutoLisp для AutoCad. Периодически пишу небольшие приложения для автоматизации своих задач на работе. Так же имею ( на том же уровне ) опыт программирования на C#. Этот язык я осваивал во время учебы в аспирантуре для выполнения различных вычислений. С тех пор у меня осталось много полезных библиотек для вычислений: матричная, решение систем уравнений по МНК, триангуляция Делоне и т.д. Хотелось бы использовать эти библиотеки для программирования в AutoCad. В интернете нашел информацию как писать плагины на C# и подгружать их с помощью функции Netload. Но мне бы хотелось иметь доступ к объектам AutoCad из внешних приложений типа WindowsFormApplication, чтобы использовать все элементы управления ( кнопки, списки и т.д. ), которые я мог бы использовать, если бы просто писал программу на C# в VisualStudio
Задача:
Для начала, в качестве тестовой поставил себе следующую задачу: Из внешнего приложения WindowsFormApplication открыть AutoCad и нарисовать, скажем, круг с центром 0,0 и радиусом 1. Вы мне посоветовали использовать технологию ActiveX. Если я правильно понимаю, базовым классом там является Application, и если получить на него ссылку, можно добраться до текущего документа, далее до пространства Модели и наконец, до любого примитива.
Поэтому основной вопрос: как получить ссылку на объект Application ?
Для этого, как я понимаю, надо сделать 2 действия:
1. Подгрузить ссылку на нужную библиотеку
2. В файле главной формы ( напр. Form1.cs ) сделать ссылку на нужное пространство имен при помощи using…….., в котором находится этот класс Application
Если я все правильно изложил, мой вопрос можно конкретизировать: на какую библиотеку сделать ссылку и где она находится ? Как называется пространство имен с классом Applicaton?
Заранее Спасибо!