Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 23-10-2015, 16:00:14
-
Вопрос касается для версий от AutoCAD 2013
Чаще разработчик делает плагин для AutoCAD.
А если есть потребность сделать плагином сам AutoCAD для своего приложения.
Приложение, которое я хочу сделать
будет использовать AutoCAD как плагин,
и будет разрабатываться на WPF.
В WPF у классов Window и Frame есть свойство Сontent типа Object
в который можно поместить в теории что угодно раз это Object.
Возможно ли в Window.content поместить содержимое
главной формы AutoCAD?
-
Можно использовать AutoCAD в качестве WCF-сервера: http://adndevblog.typepad.com/autocad/2013/12/connecting-an-autocad-plug-in-to-an-external-application-using-wcf.html
-
Возможно ли в Window.content поместить содержимое
главной формы AutoCAD?
Что такое "главная форма AutoCAD"?
-
Что такое "главная форма AutoCAD"?
"Главная форма AutoCAD", ну это в понимании программирования объект представляющий
экземпляр некоторого класса, который описывает форму приложения AutoCAD.
Я вот, что подумал, может не обязательно даже загружать к себе приложение
всю главную форму AutoCAD, может ограничится формой документа, т.е. ,
то что содержит пространство модели чертежа.
Т.е. поместить к себе содержимое чертежа, что бы с ним что-то можно было делать пользователю.
-
Я думаю, что это путь в никуда.
-
Я думаю, что это путь в никуда.
К примеру есть уже проработанный и удобный интерфейс какого-то приложения, данные для работы которого содержит DWG-файл.
Подгрузить данные из dgw можно без труда. Но пользователю нужно время от времени что-то менять в DWG имея вид чертежа его перед глазами.
Можно конечно решить вопрос по другому пользователи либо работают с двумя мониторами
или если большой монитор размещают два окна на экране монитора. Но так не всегда.
Почему в никуда, что такого если окно AutoCAD можно поместить в свое окно или в окно интернет браузера?
-
Почему в никуда, что такого если окно AutoCAD можно поместить в свое окно или в окно интернет браузера?
Я обычно стараюсь не обсуждать эргономику. Я писал лишь о практической (с точки зрения программиста) возможности это реализовать. Внедрить просмотр dwg-файла в своё приложение (через acCtrl от Dwg True View) - это возможно. А вот всунуть туда редактор AutoCAD целиком - это (IMHO) нереально. Если бы это было возможно, то об этом бы уже везде писали.
-
А вот всунуть туда редактор AutoCAD целиком - это (IMHO) нереально
AutoCAD OEM не подойдёт? Хотя не очень понятно, что это такое..
-
Хотя не очень понятно, что это такое..
Это "обрезанный" AutoCAD. Недешевое удовольствие.
-
Возможно ли в Window.content поместить содержимое
главной формы AutoCAD?
Наверное это возможно, через технологию OLE.
Насколько понимаю вставка Excel в автокаде так работает.
Видел подобное для Mapinfo. Реализовано было через OLE automation.
В Winforms отображалось окно Mapinfo и управлялось через OLE.
Общий смысл такой.
1. Естественно приложение(Autocad) должно быть установлено на компьютере.
2. Autocad через OLE запустится в памяти и будет invisible. Вывод будет только в Ваше окно.
3. Все управление зум, редактирование объектов пойдет через передачу команд OLE.
Попробуйте изучить пример MapBasic
http://www.mapbasic.ru/soft/mapbasic_12_5.zip
Установите MapBasic
в папке C:\Program Files (x86)\MapInfo\MapBasic\Samples\DELPHI\TABMAP
смотрите пример и исходники на Delphi
чтоб руками пощупать, нужно ставить Mapinfo
//Создание OLE объекта
oleMapInfo := CreateOLEObject('MapInfo.Application');
//Send a message to run the Zoom-Out tool
oleMapInfo.RunMenuCommand(1706);
примерно так
Читаем вики
В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX
Теперь читаем хэлп из ObjectARX Documentation
arxdev.chm
Using COM for ObjectARX Development -> COM and ActiveX Automation там много чего.
ObjectARX\samples\com может там что-то найдется из примеров ;-)
Отправная точка для изучения есть, больше подсказать ничего не смогу
Удачного изучения, встретимся через пол года))))