--- title: "Интерфейс IProcess3DManipulatorsNotify\\ksProcess3DManipulatorsNotify" type: interface api: [api7] domain: [3d] tags: [interface, api7, 3d, ksprocess3dmanipulatorsnotify] sources: - ksprocess3dmanipulatorsnotify.html --- *API интерфейсов. Версия 7 > Интерфейсы событий * ## Интерфейс IProcess3DManipulatorsNotify\ksProcess3DManipulatorsNotify Интерфейс событий манипуляторов. Примечание: Источником событий манипуляторов является коллекция манипуляторов IManipulators. Версия: KOMPAS v19 ## BeginDragManipulator - Начало перемещения примитива манипулятором Синтаксис Automation: ``` BOOL BeginDragManipulator ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); ``` Синтаксис COM: ``` BOOL BeginDragManipulator ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора, PrimitiveType - примитив манипулятора из перечисления ksManipulatorPrimitiveEnum. ``` ## ChangeManipulatorValue - Завершение редактирования значения в редакторе манипулятора Синтаксис Automation: ``` BOOL ChangeManipulatorValue (long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType, double newValue ); ``` Синтаксис COM: ``` BOOL ChangeManipulatorValue (long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType, double newValue ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора, PrimitiveType - примитив манипулятора из перечисления ksManipulatorPrimitiveEnum, newValue - новое значение. ``` ## ClickManipulatorPrimitive - Клик или двойной клик по примитиву манипулятора Синтаксис Automation: ``` BOOL ClickManipulatorPrimitive( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType, BOOL DoubleClick ); ``` Синтаксис COM: ``` BOOL ClickManipulatorPrimitive( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType, [in] VARIANT_BOOL DoubleClick ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора, PrimitiveType - примитив манипулятора из перечисления ksManipulatorPrimitiveEnum, DoubleClick - двойной клик. ``` ## CreateManipulatorEdit - Создание редактора для ввода значения, управляющего положением манипулятора Синтаксис Automation: ``` BOOL CreateManipulatorEdit ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); ``` Синтаксис COM: ``` BOOL CreateManipulatorEdit ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора, PrimitiveType - примитив манипулятора из перечисления ksManipulatorPrimitiveEnum, ``` ## DestroyManipulatorEdit - Удаление редактора для ввода значения, управляющего положением манипулятора Синтаксис Automation: ``` BOOL DestroyManipulatorEdit ( long ManipulatorId ); ``` Синтаксис COM: ``` BOOL DestroyManipulatorEdit ( long ManipulatorId ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора. ``` ## EndDragManipulator - Завершение перемещения примитива манипулятором Синтаксис Automation: ``` BOOL EndDragManipulator ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); ``` Синтаксис COM: ``` BOOL EndDragManipulator ( long ManipulatorId, ksManipulatorPrimitiveEnum PrimitiveType ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора. Входные параметры: ManipulatorId - идентификатор манипулятора, PrimitiveType - примитив манипулятора из перечисления ksManipulatorPrimitiveEnum, ``` ## MoveManipulator - Перемещение манипулятора Синтаксис Automation: ``` BOOL MoveManipulator( long ManipulatorId, double VX, double VY, double VZ, double Delta, BOOL FromEdit ); ``` Синтаксис COM: ``` HRESULT MoveManipulator( long ManipulatorId, double VX, double VY, double VZ, double Delta, BOOL FromEdit, BOOL * Result ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора (при этом положение фантома процесса не изменится). Входные параметры: ManipulatorId - идентификатор манипулятора, VX - первая компонента вектора движения, VY - вторая компонента вектора движения, VZ - третья компонента вектора движения, Delta - значение сдвига по вектору движения, FromEdit - признак поворота с помощью редактора. ``` ## RotateManipulator - Вращение манипулятора относительно оси на угол Синтаксис Automation: ``` BOOL RotateManipulator( long ManipulatorId, double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle, BOOL FromEdit ); ``` Синтаксис COM: ``` HRESULT RotateManipulator( long ManipulatorId, double X0, double Y0, double Z0, double AxisZX, double AxisZXY, double AxisZZ, double Angle, BOOL FromEdit, BOOL * Result ); Возвращаемое значение: TRUE - если библиотека обработала событие, FALSE - библиотека не обработала событие, требуется использовать встроенную обработку событий манипулятора (при этом положение фантома процесса не изменится). Входные параметры: ManipulatorId - идентификатор манипулятора, X0 - первая координата точки, Y0 - вторая координата точки, Z0 - третья координата точки, AxisZX - ось X, AxisZXY - ось Y, AxisZZ - ось Z, Angle - угол поворота. FromEdit - признак поворота с помощью редактора. ```