Может кто-то знает, почему эвент вызывается несколько разКод выложен не полный, и это лишь догадка.
и так странно добавляет объекты к выделениюСкорее всего при выделении рамкой при каждом попадании в рамку объекта вызывается данное событие.
Не важно как выделять, метод вызывается 6 раз при любом выделении.Может кто-то знает, почему эвент вызывается несколько разКод выложен не полный, и это лишь догадка.
Вероятно, у тебя каждый раз при запуске команды добавляется подписка на событие.
Application.DocumentManager.MdiActiveDocument.Editor.SelectionAdded += OnSelectionAdded;
Подписка на событие происходит, когда инициализируется плагин.и так странно добавляет объекты к выделениюСкорее всего при выделении рамкой при каждом попадании в рамку объекта вызывается данное событие.
Не важно как выделять, метод вызывается 6 раз при любом выделении.1.
1. Мне нужно без команды, а только знать, что человек выбралНе важно как выделять, метод вызывается 6 раз при любом выделении.1.
https://www.theswamp.org/index.php?topic=31864.0
Протестируй их вариант, внутри команды подписа и отписка от события.
ed.SelectionAdded += onSelectionAdded;
PromptSelectionResult psr = ed.GetSelection(opt);
ed.SelectionAdded -= onSelectionAdded;
2. Попробуй сравнить выделение рамкой и через выделить все Ctrl+A, то же будет 6 событий?
А в каждом событии из 6/11 одни и те же ObjectId или разные? Может тут как-то распределено по группам объектов на каждую группу свое событие.ID одинаковые. Лично я никаких групп не видел. Как их можно определить?
Та это было в форме предположения, может быть при выделении каких то объектов на разные типы срабатывали свои события, то есть выделил 100 объектов, 10 линий 5 таблиц 30 блоков и эти 100 объектов разошлись на твои 6 событий, но если одинаковые то хз.Да то, что я хотел сделать, я уже сделал по другому. Мне просто интересен сам механизм такой работы AutoCAD.
В общем покрутил немного, имхо тут только создавать списки, где будут храниться выбранные объекты и сравнивать при выборе, что бы обработчик прекращал работу если объекты выбора не изменились.