Просмотр чертежа в WPF палитре

Автор Тема: Просмотр чертежа в WPF палитре  (Прочитано 5915 раз)

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

Оффлайн ADSKАвтор темы

  • Administrator
  • Сообщений: 0
  • Карма: 2

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Просмотр чертежа в WPF палитре
« Ответ #1 : 11-11-2015, 09:46:07 »
На AutoCAD 2014 получается не пойдет?

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Просмотр чертежа в WPF палитре
« Ответ #2 : 11-11-2015, 12:31:18 »
На AutoCAD 2014 получается не пойдет?
Нет. Но можешь попробовать сделать правки для работы в 2014-ом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Просмотр чертежа в WPF палитре
« Ответ #3 : 11-11-2015, 12:35:43 »
Нет. Но можешь попробовать сделать правки для работы в 2014-ом.
Уже пробую, но так как не слишком пока силен в C# поэтому не получается пока проект скомпилировать. Тестовому примеру чего-то не хватает. Какой-то сборки для следующих строк:

Код - C# [Выбрать]
  1.                 KernelDescriptor descriptor = new KernelDescriptor();
  2.                 descriptor.addRequirement(Autodesk.AutoCAD.UniqueString.Intern("3D Drawing"));
  3.                 GraphicsKernel kernal = Manager.AcquireGraphicsKernel(descriptor);
  4.  

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Просмотр чертежа в WPF палитре
« Ответ #4 : 11-11-2015, 12:50:50 »
Код - C# [Выбрать]
  1. // called from InitDrawingControl, does GsPreviewCtrl specific initialization
  2. public void Init( Document doc, Database db )
  3. {
  4.         mCurrentDwg = db;
  5.         // check to see if the manager is already initalised
  6.         if( null == mpManager )
  7.         {
  8.                 // if not let's set it up
  9.                 mpManager = doc.GraphicsManager;
  10.                 // here's some test code to show the GS Events working
  11.                 mpManager.ViewToBeDestroyed += new ViewToBeDestroyedEventHandler( GSUtil.mpManager_ViewToBeDestroyed );
  12.                 mpManager.ViewWasCreated += new ViewWasCreatedEventHandler( GSUtil.mpManager_ViewWasCreated );
  13.                 mpManager.GsToBeUnloaded += new GsToBeUnloadedEventHandler( GSUtil.mpManager_GsToBeUnloaded );
  14.                 mpManager.ConfigWasModified += new ConfigWasModifiedEventHandler( GSUtil.mpManager_ConfigWasModified );
  15.  
  16.                 mpDevice = mpManager.CreateAutoCADDevice(this.Handle);
  17.                 // resize the device to the panel size
  18.                 mpDevice.OnSize( this.Size );
  19.                 // now create a new gs view
  20.                 mpView = new Autodesk.AutoCAD.GraphicsSystem.View();
  21.                 // and create the model
  22.                 mpModel = mpManager.CreateAutoCADModel();
  23.  
  24.                 // add the view to the device
  25.                 mpDevice.Add( mpView );
  26.         }
  27. }
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Просмотр чертежа в WPF палитре
« Ответ #5 : 11-11-2015, 13:01:05 »
Работает, НО лишь команда BVIEW, а BVIEWPAL работает лишь открытие палитры, но после выбора чертежа эскиз не показывается.

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Просмотр чертежа в WPF палитре
« Ответ #6 : 11-11-2015, 18:53:20 »
Увы. Я спрошу в ADN DevHelp. Но похоже этой возможности в AutoCAD 2014 нет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Просмотр чертежа в WPF палитре
« Ответ #7 : 11-11-2015, 20:12:48 »
Всё оказалось намного проще. Обращаться в ADN DevHelp не пришлось. Обратил внимание, что если я зажимаю левую кнопку мыши и начинаю ею двигать то в черном прямоугольнике появляется чертеж. Запустил под отладчиком и обнаружил, что refreshView(); вызывается слишком рано, а потом вызывается только после манипуляций с мышью. Добавил в нужное место её вызов и получил такой результат:



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

Оффлайн Пашин Евгений

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Re: Просмотр чертежа в WPF палитре
« Ответ #8 : 12-11-2015, 06:39:22 »
Александр Ривилис, шикарно! Все прекрасно работает!
Великолепный пример!