--- title: "IMeasurement3D" type: interface api: [api7] domain: [3d] tags: [interface, api7, 3d, imeasurement3d] sources: - imeasurement3d.html --- *API интерфейсов. Версия 7 > Сервисные функции  > Измерения * ## IMeasurement3D Интерфейс измерения расстояния и угла Иерархия: IDispatch IKompasAPIObject IMeasurement3D Примечание: Интерфейс можно получить, используя свойство IPart7::Measurement3D. Интерфейс позволяет измерить расстояния и углы (если это возможно) между двумя указанными объектами. Объекты могут быть следующих типов: •координатные и вспомогательные оси и плоскости, •эскизы (если указан эскиз, то объектом измерения является плоскость эскиза), •грани, •ребра, •вершины, •пространственные кривые и точки, •тела, •компоненты. Объекты можно указывать в любой комбинации, например, плоскость и вершина,  ребро и ось, две грани, тело и грань, тело и вершина, тело и ребро, тело и компонент, компонент и компонент и т.д. Система определяет значение расстояния между объектами (если оно не нулевое) и значение угла между ними (если объекты не параллельны). КОМПАС v23 ## Angle - Угол между объектами Тип данных: double Синтаксис Automation: ``` Angle = Object.Angle Получить свойство (* ) Angle = Object.GetAngle() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Angle( &Angle ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Briefly - Кратко Тип данных: BOOL Синтаксис Automation: ``` Briefly = Object.Briefly Получить свойство (* ) Object.Briefly = Briefly Установить свойство (* ) Briefly = Object.GetBriefly() Получить свойство (**) Object.SetBriefly( Briefly ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Briefly( &Briefly ) Получить свойство Object.put_Briefly( Briefly ) Установить свойство ``` ## Calculate - Вычислить Синтаксис Automation: ``` ksMeasureResultEnum Calculate() ``` Синтаксис COM: ``` HRESULT Calculate( ksMeasureResultEnum * Result ); Возвращаемое значение: - результат вычисления из перечисления ksMeasureResultEnum. ``` ## DirectionObject - Направляющий объект Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation: ``` DirectionObject = Object.DirectionObject Получить свойство (* ) Object.DirectionObject = DirectionObject Установить свойство (* ) DirectionObject = Object.GetDirectionObject() Получить свойство (**) Object.SetDirectionObject( DirectionObject ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_DirectionObject( &DirectionObject ) Получить свойство Object.put_DirectionObject( DirectionObject ) Установить свойство ``` ## DirectionVector - Параметры направляющего вектора Тип данных: Указатель на интерфейс IVector3D Синтаксис Automation: ``` DirectionVector = Object.DirectionVector Получить свойство (* ) DirectionVector = Object.GetDirectionVector() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_DirectionVector( &DirectionVector ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ExtendObject1 - Бесконечен ли первый объект (для кривых и плоскостей) Тип данных: BOOL Синтаксис Automation: ``` ExtendObject1 = Object.ExtendObject1 Получить свойство (* ) ExtendObject1 = Object.GetExtendObject1() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ExtendObject1( &ExtendObject1 ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ExtendObject2 - Бесконечен ли второй объект (для кривых и плоскостей) Тип данных: BOOL Синтаксис Automation: ``` ExtendObject2 = Object.ExtendObject2 Получить свойство (* ) ExtendObject2 = Object.GetExtendObject2() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ExtendObject2( &ExtendObject2 ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Gap - Зазор или проекция Тип данных:  BOOL Синтаксис Automation: ``` Gap = Object.Gap Получить свойство (* ) Object.Gap = Gap Установить свойство (* ) Gap = Object.GetGap() Получить свойство (**) Object.SetGap( Gap ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Gap( &Gap ) Получить свойство Object.put_Gap( Gap ) Установить свойство ``` ## GetMaxPoint1 - Получить первую точку отрезка максимального расстояния Синтаксис Automation: ``` BOOL GetMaxPoint1( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetMaxPoint1( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## GetMaxPoint2 - Получить вторую точку отрезка максимального расстояния Синтаксис Automation: ``` BOOL GetMaxPoint2( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetMaxPoint2( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## GetMinPoint1 - Получить первую точку отрезка минимального расстояния Синтаксис Automation: ``` BOOL GetMinPoint1( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetMinPoint1( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## GetMinPoint2 - Получить вторую точку отрезка минимального расстояния Синтаксис Automation: ``` BOOL GetMinPoint2( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetMinPoint2( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## GetNormalPoint1 - Получить первую точку отрезка расстояния по нормали Синтаксис Automation: ``` BOOL GetNormalPoint1( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetNormalPoint1( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## GetNormalPoint2 - Получить вторую точку отрезка расстояния по нормали Синтаксис Automation: ``` BOOL GetNormalPoint2( double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetNormalPoint2( double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X, Y, Z - координаты точки. ``` ## IsAngleValid - Применимость расчета угла. TRUE - если для данных объектов угол имеет смысл Тип данных: BOOL Синтаксис Automation: ``` IsAngleValid = Object.IsAngleValid Получить свойство (* ) IsAngleValid = Object.GetIsAngleValid() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsAngleValid( &IsAngleValid ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Lmax - Максимальное расстояние Тип данных: double Синтаксис Automation: ``` Lmax = Object.Lmax Получить свойство (* ) Lmax = Object.GetLmax() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Lmax( &Lmax ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Lmin - Минимальное расстояние Тип данных: double Синтаксис Automation: ``` Lmin = Object.Lmin Получить свойство (* ) Lmin = Object.GetLmin() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Lmin( &Lmin ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## LNormal - Расстояние по нормали Тип данных: double Синтаксис Automation: ``` LNormal = Object.LNormal Получить свойство (* ) LNormal = Object.GetLNormal() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_LNormal( &LNormal ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Object1 - Первый объект Тип данных: Указатель на интерфейс IKompasAPIObject Синтаксис Automation: ``` Object1 = Object.Object1 Получить свойство (* ) Object.Object1 = Object1 Установить свойство (* ) Object1 = Object.GetObject1() Получить свойство (**) Object.SetObject1( Object1 ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Object1( &Object1 ) Получить свойство Object.put_Object1( Object1 ) Установить свойство ``` ## Object2 - Второй объект Тип данных: Указатель на интерфейс IKompasAPIObject Синтаксис Automation: ``` Object2 = Object.Object2 Получить свойство (* ) Object.Object2 = Object2 Установить свойство (* ) Object2 = Object.GetObject2() Получить свойство (**) Object.SetObject2( Object2 ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Object2( &Object2 ) Получить свойство Object.put_Object2( Object2 ) Установить свойство ```