## Линейный размер (расстояние) Линейный размер задается для пары геометрических объектов. В таблице 1 приведены пары типов геометрии, которые поддерживает C3D Solver применительно к линейному размеру. Таблица 1 - Пары геометрических объектов, поддерживаемых для линейного размера | | Точка | Прямая | Окружность | Эллипс | Сплайн | Парам. кривая | |:-------------|:-----:|:------:|:----------:|:------:|:------:|:-------------:| | Точка | Y | Y | Y | | | | | Прямая | Y | Y | Y | | | | | Окружность | Y | Y | Y | | | | | Эллипс | | | | | | | | Сплайн | | | | | | | | Парам.кривая | | | | | | | Любой линейный размер, вне зависимости от типов кривых, для которой он применен, измеряет расстояние между точками, лежащими на кривых. Обычно это точки с минимальным расстоянием между объектами. Однако можно выбрать другие пары точек для измерения размера. На рис 27.1.2 из параграфа [Вспомогательные точки линейного размера](./Auxiliary_Points_of_Distance_Dimension.md) показан пример четырех вариантов линейного размера для одной и той же пары окружностей. Линейный размер для пары геометрических объектов задается методом ```cpp constraint_item GCE_AddDistance(GCE_system gSys, geom_item g[2] , const GCE_ldim_pars & dPars); ``` Возвращаемое значение функции -- дескриптор линейного размера, заданного для объектов **g**\[0\] и **g**\[1\], принадлежащих системе ограничений **gSys**. Структура параметров **dPars** определяет следующие настройки линейного размера: - **dPars.dPars** -- задает значение размера, который может быть, как независимым параметром, так и переменной; - **dPars.hp**\[2\] -- пара вспомогательных точек, задающих вариант измерения, когда это требуется (подробнее см. параграф [Вспомогательные точки линейного размера](./Auxiliary_Points_of_Distance_Dimension.md)). Параметр **dPars.dPars** фактически определяет источник значения размера. Если **dPars.dPars.var =** GCE_NULL_V, то значение размера определяется независимым числовым параметром **dPars.dPars.dimValue**, что делает размер управляющим. Если в **dPars.dPars.var** задан дескриптор переменной, то размер является вариационным. Подробнее об управляющих и вариационных размерах обсуждалось в параграфе [Управляющие и вариационные размеры](./Driving_and_Variational_Dimensions.md). Пара дескрипторов вспомогательных точек **dPars.hp**\[2\] не является обязательной, если вариант измерения размера однозначен, как например, расстояние от точки до прямой, либо оставляется на выбор решателя, который подберет вариант измерения наиболее близкий к текущим расположению объектов и значению размера. В этом случае по умолчанию **dPars.hp**\[2\] равен паре нулевых дескрипторов {GCE_NULL, GCE_NULL}. Если одна или обе вспомогательные точки **dPars.hp**\[0\] и **dPars.hp**\[1\] заданы, то координаты этих точек будут указывать линейному размеру вариант измерения. Подробнее о выборе варианта измерения обсуждается в параграфе [Вспомогательные точки линейного размера](./Auxiliary_Points_of_Distance_Dimension.md).