--- title: "Интерфейс IMathSurface3D" type: interface api: [api7] domain: [3d] tags: [interface, api7, 3d, imathsurface3d] sources: - imathsurface3d.html --- *API интерфейсов. Версия 7 > Документ 3D  > Поверхности * ## Интерфейс IMathSurface3D Интерфейс математической поверхности в трехмерном пространстве. Иерархия: IDispatch IKompasAPIObject IMathSurface3D ## BaseSurface3DType - Тип базовой поверхности Тип данных: из перечисления ksMathSurface3DTypeEnum Синтаксис Automation: ``` BaseSurface3DType = Object.BaseSurface3DType Получить свойство (* ) BaseSurface3DType = Object.GetBaseSurface3DType() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_BaseSurface3DType( &BaseSurface3DType ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## BoundaryCount - Получить количество границ Тип данных: long Синтаксис Automation: ``` BoundaryCount = Object.BoundaryCount Получить свойство (* ) BoundaryCount = Object.GetBoundaryCount() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_BoundaryCount( &BoundaryCount ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ClosedU - Получить замкнутость кривой по U Тип данных: BOOL Синтаксис Automation: ``` ClosedU = Object.ClosedU Получить свойство (* ) ClosedU = Object.GetClosedU() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ClosedU( &ClosedU ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ClosedV - Получить замкнутость кривой по V Тип данных: BOOL Синтаксис Automation: ``` ClosedV= Object.ClosedV Получить свойство (* ) ClosedV = Object.GetClosedV() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ClosedV( &ClosedV) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## CurveIntersection - Расчет пересечений c кривой Синтаксис Automation: ``` BOOL CurveIntersection( IMathCurve3D * Curve, BOOL ExtensionSurface, BOOL ExtensionCurve, VARIANT * Points ); ``` Синтаксис COM: ``` HRESULT CurveIntersection( IMathCurve3D * Curve, BOOL ExtensionSurface, BOOL ExtensionCurve, VARIANT * Points, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Curve - указатель на кривую IMathCurve3D, ExtensionSurface - учитывать продолжение поверхности, ExtensionCurve - учитывать продолжение кривой. Выходные параметры: Points - координаты точек пересечений. Версия КОМПАС v23 ``` ## GetArea - Получить площадь грани (ST_MIX_MM..ST_MIX_M единицы измерения) Синтаксис Automation: ``` double GetArea( ksLengthUnitsEnum BitVector ); ``` Синтаксис COM: ``` HRESULT GetArea( ksLengthUnitsEnum BitVector, double * Result ) ; Возвращаемое значение: - площадь поверхности. Входные параметры: BitVector - единицы измерения в интервале [ST_MIX_MM..ST_MIX_M]. ``` ## GetAreaEx - Получить площадь грани Синтаксис Automation: ``` double GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance ); ``` Синтаксис COM: ``` HRESULT GetAreaEx( ksLengthUnitsEnum Unit, double AngleTolerance, double * Result ); Входные параметры: Unit - единицы измерения длины из перечисления ksLengthUnitsEnum, AngleTolerance - ограничение углового отклонения ( в радианах) при аппроксимации оболочки треугольными пластинами. Версия Компас v21 ``` ## GetBoundaryUVNurbs - Получить параметры границы поверхности в UV NURBS-представлении Синтаксис Automation: ``` BOOL GetBoundaryUVNurbs( BOOL UV, BOOL Closed, long LoopIndex, long EdgeIndex, long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double * TMin, double * TMax ); ``` Синтаксис COM: ``` HRESULT GetBoundaryUVNurbs( BOOL UV, BOOL Closed, long LoopIndex, long EdgeIndex, long * Degree, VARIANT * Points, VARIANT * Weights, VARIANT * Knots, double * TMin, double * TMax, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: UV - TRUE - получить параметры границы поверхности в UV- параметрическом представлении исходной поверхности, - FALSE - получить параметры границы поверхности в 3D координатах, Closed - TRUE - сомкнуть, если граница разомкнутая, - FALSE - разомкнуть, если граница замкнутая, LoopIndex - индекс цикла, EdgeIndex - индекс ребра в цикле (совпадает с индексом ребра в коллекции ориентированных ребер). Выходные параметры: Degree - порядок NURBS (степень полинома + 1), от 3 до 10, Points - массив параметров UV или координат вершин - массив SafeArray вещественных чисел VT_ARRAY VT_R8, Weights - веса точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8, Knots - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8, TMin, TMax - минимальный и максимальный параметры. В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1). ``` Примечание: 1. Если признак UV равен TRUE, то в массиве points возвращаются параметры UV для Nurbs-представления границы. Параметры в массиве лежат в следующей последовательности: u0, v0, u1, v1, ... ui, vi. 2. Если признак UV равен FALSE, то в массиве points возвращаются координаты вершин Nurbs-представления границы. Координаты точек в полученном массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1, ...xi, yi, zi. 3. Если индекс ребра равен -1, формируется Nurbs-представление контура границы. 4. Если индекс >= 0 то формируется Nurbs-представление ребра, входящего в цикл, параметр unclamped при этом игнорируется. ## GetConeParam - Получить параметры конической поверхности Синтаксис Automation: ``` BOOL GetConeParam( double * Height, double * Angle, double * Radius ); ``` Синтаксис COM: ``` HRESULT GetConeParam( double * Height, double * Angle, double * Radius, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: Height - высота, Angle - угол (в радианах), Radius - радиус. Версия КОМПАС v22 ``` ## GetDerivativeU - Получить первую производную по U Синтаксис Automation: ``` BOOL GetDerivativeU( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - первая производная по U. ``` ## GetDerivativeUU - Получить вторую производную по UU Синтаксис Automation: ``` BOOL GetDerivativeUU( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeUU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - вторая производная по UU. ``` ## GetDerivativeUUU - Получить третью производную по UUU Синтаксис Automation: ``` BOOL GetDerivativeUUU( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeUUU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - третья производная по UUU. ``` ## GetDerivativeUUV - Получить третью производную по UUV Синтаксис Automation: ``` BOOL GetDerivativeUUV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeUUV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - третья производная по UUV. ``` ## GetDerivativeUV - Получить вторую производную по UV Синтаксис Automation: ``` BOOL GetDerivativeUV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeUV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - вторая производная по UV. ``` ## GetDerivativeUVV - Получить третью производнуюпо UVV Синтаксис Automation: ``` BOOL GetDerivativeUVV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeUVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - третья производная по UVV. ``` ## GetDerivativeV - Получить вторую производную по V Синтаксис Automation: ``` BOOL GetDerivativeV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - первая производная по V. ``` ## GetDerivativeVV - Получить вторую производную по VV Синтаксис Automation: ``` BOOL GetDerivativeVV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - вторая производная по VV. ``` ## GetDerivativeVVV - Получить третью производнуюпо VVV Синтаксис Automation: ``` BOOL GetDerivativeVVV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetDerivativeVVV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - третья производная по VVV. ``` ## GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань Синтаксис Automation: ``` double GetDistanceToPoint( double X, double Y, double Z ); ``` Синтаксис COM: ``` HRESULT GetDistanceToPoint( double X, double Y, double Z, double * Result ); Возвращаемое значение: - Расстояние до точки. Входные параметры: X, Y, Z - координаты точки в пространстве . КOMPAS v24 ``` ## GetEdgesCount - Получить количество ребер в границе Синтаксис Automation: ``` long GetEdgesCount( long LoopIndex ); ``` Синтаксис COM: ``` HRESULT GetEdgesCount( long LoopIndex, long * Result ); Возвращаемое значение: - количество ребер в границе. Выходные параметры: LoopIndex - индекс границы. ``` ## GetGabarit - Получить габарит Синтаксис Automation: ``` BOOL GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2 ); ``` Синтаксис COM: ``` HRESULT GetGabarit( double * X1, double * Y1, double * Z1, double * X2, double * Y2, double * Z2, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: X1, Y1, Z1, X2, Y2, Z2 - координаты вершин габаритного параллелепипеда. ``` Примечание: Координаты вершин параллелепипеда возвращаются в системе координат компонента. ## GetMetricLength - Метрическая длина кривой Синтаксис Automation: ``` double GetMetricLength( double StartParam, double EndParam ); ``` Синтаксис COM: ``` HRESULT GetMetricLength( double StartParam, double EndParam, double * Result ; Возвращаемое значение: - длина кривой. Входные параметры: StartParam - начальное значение параметра T в параметрическом представлении кривой, EndParam - конечное значение параметра T в параметрическом представлении кривой. ``` ## GetNormal - Получить нормаль Синтаксис Automation: ``` BOOL GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetNormal( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - вектор нормали. ``` ## GetNurbsParams - Получить параметры NURBS-представления поверхности Синтаксис Automation: ``` BOOL GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU ); ``` Синтаксис COM: ``` HRESULT GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ClosedV -TRUE - получение параметров для замкнутого по V представления, - FALSE - получение параметров для разомкнутого по V представления, ClosedU -TRUE - получение параметров для замкнутого по V представления, - FALSE - получение параметров для разомкнутого по V представления. Выходные параметры: DegreeV - порядок NURBS по V (степень полинома + 1), от 3 до 10, DegreeU - порядок NURBS по U (степень полинома + 1), от 3 до 10 NPV - количество точек по V, NPU - количество точек по U, Points - массив SafeArray точек VT_ARRAY VT_R8, Weights - веса, KnotsV - массив SafeArray узлов точек по V VT_ARRAY VT_R8, KnotsU - массив SafeArray узлов точек по U VT_ARRAY VT_R8. В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1). Версия КОМПАС v22 ``` ## GetPoint - Получить точку на поверхности Синтаксис Automation: ``` BOOL GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetPoint( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - координаты точки на поверхности. ``` ## GetTangentVectorU - Получить касательный вектор по U Синтаксис Automation: ``` BOOL GetTangentVectorU( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetTangentVectorU( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - касательный вектор по U. ``` ## GetTangentVectorV - Получить касательный вектор по V Синтаксис Automation: ``` BOOL GetTangentVectorV( double ParamU, double ParamV, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetTangentVectorV( double ParamU, double ParamV, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: ParamU, ParamV - значения параметров U и V в параметрическом представлении поверхности. Выходные параметры: X, Y, Z - касательный вектор по V. ``` ## GetTorusParam - Получить параметры тора Синтаксис Automation: ``` BOOL GetTorusParam( double * Radius, double * GeneratrixRadius ); ``` Синтаксис COM: ``` RESULT GetTorusParam( double * Radius, double * GeneratrixRadius, BOOL * Result ) ; Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: Radius - Радиус, GeneratrixRadius - Радиус образующей. Версия КОМПАС v22 ``` ## IsCylinder - Является ли поверхность цилиндрической Тип данных: BOOL Синтаксис Automation: ``` IsCylinder = Object.IsCylinder Получить свойство (* ) IsCylinder = Object.GetIsCylinder() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsCylinder( &IsCylinder ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsNurbsSurface - Является ли поверхность NURBS-поверхностью Тип данных:BOOL Синтаксис Automation: ``` IsNurbsSurface = Object.IsNurbsSurface Получить свойство (* ) IsNurbsSurface = Object.GetIsNurbsSurface() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsNurbsSurface( &IsNurbsSurface ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsPlanar - Является ли поверхность плоской Тип данных:BOOL Синтаксис Automation: ``` IsPlanar = Object.IsPlanar Получить свойство (* ) IsPlanar = Object.GetIsPlanar() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsPlanar( &IsPlanar ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsRevolved - Определяется ли поверхность поверхностью вращения Тип данных:BOOL Синтаксис Automation: ``` IsRevolved = Object.IsRevolved Получить свойство (* ) IsRevolved = Object.GetIsRevolved() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsRevolved( &IsRevolved ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsSalient - Является ли поверхность выпуклой Тип данных: из перечисления ksSurfaceSalientTypeEnum Синтаксис Automation: ``` IsSalient = Object.IsSalient Получить свойство (* ) IsSalient = Object.GetIsSalient() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsSalient( &IsSalient ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsSphere - Является ли поверхность сферической Тип данных: BOOL Синтаксис Automation: ``` IsSphere = Object.IsSphere Получить свойство (* ) IsSphere = Object.GetIsSphere() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsSphere( &IsSphere ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsSwept - Определяется ли поверхность поверхностью по траектории Тип данных:BOOL Синтаксис Automation: ``` IsSwept = Object.IsSwept Получить свойство (* ) IsSwept = Object.GetIsSwept() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsSwept( &IsSwept ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## IsTorus - Является ли поверхность тором Тип данных: BOOL Синтаксис Automation: ``` IsTorus = Object.IsTorus Получить свойство (* ) IsTorus = Object.GetIsTorus() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_IsTorus( &IsTorus ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## NearDirectPointProjection - Проекция точки на кривую Синтаксис Automation: ``` BOOL NearDirectPointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, double * U, double * V ); ``` Синтаксис COM: ``` HRESULT NearDirectPointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, double * U, double * V, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: X, Y, Z - координаты точки, VX, VY, VZ - направление вектора, Extended - TRUE - учитывать продолжение. Выходные параметры: U, V - параметрические координаты точки на поверхности. Версия: Компас v20 ``` ## NearPointProjection - Получить ближайшую проекцию точки на поверхность Синтаксис Automation: ``` BOOL NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV, BOOL Ext ); ``` Синтаксис COM: ``` HRESULT NearPointProjection( double X, double Y, double Z, double * ParamU, double * ParamV, BOOL Ext, BOOL * Result ) ; Возвращаемое значение: TRUE - если проекция точки попала на саму поверхность или если ext равен TRUЕ, FALSE - если проекция точки не попала на саму поверхность. Входные параметры: X, Y, Z - координаты исходной пространственной точки, Ext - если проекция точки вне поверхности; - TRUE проецировать на продолжение поверхности, - FALSE найти ближайшую граничную точку поверхности. Выходные параметры: ParamU, ParamV - параметрические координаты точки на поверхности. ``` ## ParamUMax - Получить значение параметра U конечное Тип данных: double Синтаксис Automation: ``` ParamUMax = Object.ParamUMax Получить свойство (* ) ParamUMax = Object.GetParamUMax() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ParamUMax( &ParamUMax ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ParamUMin - Получить значение параметра U начальное Тип данных: double Синтаксис Automation: ``` ParamUMin = Object.ParamUMin Получить свойство (* ) ParamUMin = Object.GetParamUMin() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ParamUMin( &ParamUMin ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ParamVMax - Получить значение параметра V конечное Тип данных: double Синтаксис Automation: ``` ParamVMax = Object.ParamVMax Получить свойство (* ) ParamVMax = Object.GetParamVMax() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ParamVMax( &ParamVMax ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## ParamVMin - Получить значение параметра V начальное Тип данных: double Синтаксис Automation: ``` ParamVMin = Object.ParamVMin Получить свойство (* ) ParamVMin = Object.GetParamVMin() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ParamVMin( &ParamVMin ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Placement - Интерфейс локальной системы координат (положение объекта) Тип данных: Указатель на интерфейс IPlacement3D Синтаксис Automation: ``` Placement = Object.Placement Получить свойство (* ) Placement = Object.GetPlacement() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Placement( &Placement ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## PointProjection - Проекция точки на поверхность Синтаксис Automation : VARIANT PointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended ); Синтаксис COM: ``` HRESULT PointProjection( double X, double Y, double Z, double VX, double VY, double VZ, BOOL Extended, VARIANT * Result ); Возвращаемое значение: Массив Safearray VT_ARRAY VT_R8 параметрических координат точек поверхности в последовательности U1, V1, U2, V2.... Входные параметры: X, Y, Z - координаты точки, VX, VY, VZ - направление вектора, Extended - TRUE - учитывать продолжение. Версия: Компас v20 ``` ## Radius - Радиус поверхности Тип данных: double Синтаксис Automation: ``` Radius = Object.Radius Получить свойство (* ) Radius = Object.GetRadius() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Radius( &Radius ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## Surface3DType - Тип поверхности Тип данных: из перечисления ksMathSurface3DTypeEnum Синтаксис Automation: ``` Surface3DType = Object.Surface3DType Получить свойство (* ) Surface3DType = Object.GetSurface3DType() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Surface3DType( &Surface3DType ) Получить свойство ``` Примечание: Свойство доступно только для чтения.