AutoCAD как плагин для своего приложения

Автор Тема: AutoCAD как плагин для своего приложения  (Прочитано 9027 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Вопрос касается для версий от AutoCAD 2013
Чаще разработчик делает плагин для AutoCAD.
А если есть потребность сделать плагином сам AutoCAD для своего приложения.
Приложение, которое я хочу сделать
будет использовать AutoCAD как плагин,
и будет разрабатываться на WPF.

В WPF у классов Window и Frame есть свойство Сontent типа Object
в который можно поместить в теории что угодно раз это Object.

Возможно ли в Window.content поместить содержимое
главной формы AutoCAD?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно использовать AutoCAD в качестве WCF-сервера: http://adndevblog.typepad.com/autocad/2013/12/connecting-an-autocad-plug-in-to-an-external-application-using-wcf.html


Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Возможно ли в Window.content поместить содержимое
главной формы AutoCAD?
Что такое "главная форма AutoCAD"?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Что такое "главная форма AutoCAD"?

"Главная форма AutoCAD", ну это в понимании программирования объект представляющий
экземпляр некоторого класса, который описывает форму приложения AutoCAD.

Я вот, что подумал, может не обязательно даже загружать к себе приложение
всю главную форму AutoCAD, может ограничится формой документа, т.е. ,
то что содержит пространство модели чертежа.

Т.е. поместить к себе содержимое чертежа, что бы с ним что-то можно было делать пользователю.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я думаю, что это путь в никуда.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Я думаю, что это путь в никуда.

К примеру есть уже проработанный и удобный интерфейс какого-то приложения, данные для работы которого содержит DWG-файл.
Подгрузить данные из dgw можно без труда. Но пользователю нужно время от времени что-то менять в DWG имея вид чертежа его перед глазами.
Можно конечно решить вопрос по другому пользователи либо работают с двумя мониторами
или если большой монитор размещают два окна на экране монитора. Но так не всегда.
Почему в никуда, что такого если окно AutoCAD можно поместить в свое окно или в окно интернет браузера?
 

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Почему в никуда, что такого если окно AutoCAD можно поместить в свое окно или в окно интернет браузера?
Я обычно стараюсь не обсуждать эргономику. Я писал лишь о практической (с точки зрения программиста) возможности это реализовать.  Внедрить просмотр dwg-файла в своё приложение (через acCtrl от Dwg True View) - это возможно. А вот всунуть туда редактор AutoCAD целиком - это (IMHO) нереально. Если бы это было возможно, то об этом бы уже везде писали.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн bargool

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
А вот всунуть туда редактор AutoCAD целиком - это (IMHO) нереально
AutoCAD OEM не подойдёт? Хотя не очень понятно, что это такое..
Алексей

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Хотя не очень понятно, что это такое..
Это "обрезанный" AutoCAD. Недешевое удовольствие.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Возможно ли в 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 может там что-то найдется из примеров ;-)

Отправная точка для изучения есть, больше подсказать ничего не смогу
Удачного изучения, встретимся через пол года))))