Статьи > Опубликованные статьи

Как определить что свойства примитива изменены при помощи Панели Свойств?

<< < (2/5) > >>

Дмитрий Загорулькин:
Да, я посмотрел события через MGDDBG. При изменении свойства объекта блокировка документа меняется 8 раз:

--- Код: ---[Doc Mgr Event] : Document Lock Mode Will Change : Чертеж1.dwg
    Global Command Name  :
    Current Mode         : NotLocked
    My Current Mode      : NotLocked
    My New Mode          : ProtectedAutoWrite
[Doc Mgr Event] : Document Lock Mode Changed : Чертеж1.dwg
    Global Command Name  :
    Current Mode         : ProtectedAutoWrite
    My Current Mode      : NotLocked
    My Previous Mode     : ProtectedAutoWrite
Команда:
[Doc Mgr Event] : Document Lock Mode Will Change : Чертеж1.dwg
    Global Command Name  : PARTIALREGEN
    Current Mode         : NotLocked
    My Current Mode      : NotLocked
    My New Mode          : Write
[Doc Mgr Event] : Document Lock Mode Will Change : Чертеж1.dwg
    Global Command Name  : #
    Current Mode         : AutoWrite
    My Current Mode      : AutoWrite
    My New Mode          : NotLocked
[Doc Mgr Event] : Document Lock Mode Changed : Чертеж1.dwg
    Global Command Name  : #
    Current Mode         : NotLocked
    My Current Mode      : AutoWrite
    My Previous Mode     : NotLocked
[Doc Mgr Event] : Document Lock Mode Changed : Чертеж1.dwg
    Global Command Name  : PARTIALREGEN
    Current Mode         : Write
    My Current Mode      : NotLocked
    My Previous Mode     : Write
[Doc Mgr Event] : Document Lock Mode Will Change : Чертеж1.dwg
    Global Command Name  : #PARTIALREGEN
    Current Mode         : Write
    My Current Mode      : Write
    My New Mode          : NotLocked
[Doc Mgr Event] : Document Lock Mode Changed : Чертеж1.dwg
    Global Command Name  : #PARTIALREGEN
    Current Mode         : NotLocked
    My Current Mode      : Write
    My Previous Mode     : NotLocked
--- Конец кода ---
Тоже как-то громоздко для проверки.

Александр Ривилис:
А что ты скажешь на это:

--- Код - C# [Выбрать] ---using Autodesk.AutoCAD.Runtime;using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.Internal.PropertyInspector; // This line is not mandatory, but improves loading performances[assembly: CommandClass(typeof(Rivilis.OPMReactors))] namespace Rivilis{  public class OPMReactors  {     [CommandMethod("OPMReactorsStart")]    public void OPMReactorsStart()     {      Document doc = Application.DocumentManager.MdiActiveDocument;      if (doc == null) return;      Editor ed = doc.Editor;      PropertyInspectorEventManager pim = PropertyInspectorEventManager.Instance();      pim.propertyWillChange += propertyWillChange;      pim.propertyChanged += propertyChanged;    }     [CommandMethod("OPMReactorsStop")]    public void OPMReactorsStop()    {      PropertyInspectorEventManager pim = PropertyInspectorEventManager.Instance();      pim.propertyWillChange -= propertyWillChange;      pim.propertyChanged -= propertyChanged;    }     private void propertyChanged(object sender, PropertyInspectorEventArgs e)    {      Document doc = Application.DocumentManager.MdiActiveDocument;      if (doc == null) return;      Editor ed = doc.Editor;      ed.WriteMessage("\npropertyChanged");    }     private void propertyWillChange(object sender, PropertyInspectorEventArgs e)    {      Document doc = Application.DocumentManager.MdiActiveDocument;      if (doc == null) return;      Editor ed = doc.Editor;      ed.WriteMessage("\npropertyWillChanged");    }  }}

Дмитрий Загорулькин:
Так ведь это как раз то, что нужно! Спасибо! :)

Александр Ривилис:

--- Цитата: Дмитрий Загорулькин от 10-12-2018, 18:22:41 ---Так ведь это как раз то, что нужно! Спасибо! :)

--- Конец цитаты ---
Надо будет опубликовать как статью. Я вижу что это должно работать как минимум с AutoCAD 2012.

Дмитрий Загорулькин:
Можно в эту же добавить - она уже давно должна быть проиндексирована всеми поисковиками.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии