Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: enot от 23-10-2018, 10:14:21

Название: UndoOperation
Отправлено: enot от 23-10-2018, 10:14:21
возможно ли через апи сделать операцию отмены (Ctrl+Z)?
http://www.revitapidocs.com/2018.1/d5c8c31a-3b69-48c0-feac-b176a54e7934.htm


Название: Re: UndoOperation
Отправлено: Александр Игнатович от 23-10-2018, 10:27:48
Да, можно. Как-то примерно так:
Код - C# [Выбрать]
  1. var commandId = RevitCommandId.LookupPostableCommandId(PostableCommand.Undo);
  2. uiApp.PostCommand(commandId);
  3.  
Название: Re: UndoOperation
Отправлено: enot от 23-10-2018, 10:36:20
в PostableCommand не находит Undo

(https://i.postimg.cc/VrsxtHVr/Undo-error.png) (https://postimg.cc/VrsxtHVr)
Название: Re: UndoOperation
Отправлено: Александр Игнатович от 23-10-2018, 10:46:13
А версия Revit какая? В 2019 работает. Можете попробовать RevitCommandId.LookupCommandId("ID_EDIT_UNDO"), правда, в 2019 так работать уже не желает. Уточните в журнале имя команды, может, раньше по-другому называлась тоже.

Да, и есть нюанс, фактически операция, запрошенная через PostCommand будет выполнена ПОСЛЕ завершения Вашей команды
Название: Re: UndoOperation
Отправлено: Александр Игнатович от 23-10-2018, 10:47:49
И да, сейчас буду ругаться, для картинок используйте встроенный функционал форума, а не левые ссылки
Название: Re: UndoOperation
Отправлено: enot от 23-10-2018, 10:48:56
по картинкам - принял.
ревит 2018
а файл журнала - где посмотреть?
Название: Re: UndoOperation
Отправлено: Александр Игнатович от 23-10-2018, 10:52:05
Тогда пробуйте LookupCommandId, но может не взлететь, ещё вариант - пытаться через SendKeys / виндовые сообщения отправить Ctrl+Z
Название: Re: UndoOperation
Отправлено: Александр Игнатович от 23-10-2018, 10:53:09
Файл журнала:


(https://i.postimg.cc/4nw6M333/lookup.png) (https://postimg.cc/4nw6M333)
Название: Re: UndoOperation
Отправлено: enot от 23-10-2018, 10:54:45
Благодарю за помощь!
Буду пробовать