## Скалярная переменная Основным предметом вычисления модуля GCE являются геометрические объекты двумерной плоскости, подчиненные ограничениям и размерам. Эти типы данных по своей природе имеют векторное представление. Параметрическое черчение предполагает связь геометрии с управляющими либо вариационными числовыми параметрами. Поэтому дело не обходится без еще одного типа -- **числовой переменной** или **скаляра** со значением, заданным, как правило, в единицах длины или угла. В параметрической системе ограничений могут участвовать переменные такого рода: - Числовая переменная, ассоциированная с размером -- **размерная переменная**. В решенном состоянии размерная переменная равна измеренному значению размера. Размерная переменная может служить как управляющим, независимым параметром эскиза, так и вариационным или измерительным. Подробнее об использовании переменных для создания управляющих и вариационных размеров обсуждается в параграфе [Управляющие и вариационные размеры](../../../TWO-DIMENSIONAL_DIMENSIONS/subsections/RU/Driving_and_Variational_Dimensions.md). - Вспомогательный параметр геометрического ограничения, например, параметр, указывающий локализацию точек касания для кривых сложной формы. Подробности в параграфе [Касание](../../../TWO-DIMENSIONAL_LOGICAL_CONSTRAINTS/subsections/RU/Tangency.md). - Переменная, не ассоциированная с геометрическим ограничением и размером, может участвовать в скалярных линейных или нелинейных уравнениях, устанавливающих законы связи одних величин с другими. В API модуля GCE переменную представляет тип данных var_item. А создать переменную можно вызовом метода ```cpp var_item GCE_AddVariable(GCE_system gSys, double val). ``` Функция вернет дескриптор скалярной переменной с начальным значением **val**. В дальнейшем переменную по данному дескриптору можно применять для определения размеров, ограничений и уравнений. Любая переменная может быть **зависимой** или **независимой**. Зависимая переменная подчинена измерительным размерам или ограничениям, а её значение вычисляется решателем. Независимая переменная не может быть изменена решателем, а её значение задается приложением. Чтобы переменная стала независимой, достаточно вызвать метод API ```cpp constraint_item GCE_FixVariable(GCE_system gSys, var_item var), ``` который создаст ограничение «управляющий параметр» и вернет дескриптор ограничения, фиксирующий её значение. Независимая переменная доступна для варьирования с помощью вызова **GCE_ChangeDrivingDimension**. Ограничение «управляющий параметр» вместе с другими типами управляющих размеров позволяют создать параметрический эскиз, геометрия которого может меняться по определенному пользователем закону варьированием независимых параметров. Про создание управляющих параметров и размеров см. параграф [Управляющие и вариационные размеры](../../../TWO-DIMENSIONAL_DIMENSIONS/subsections/RU/Driving_and_Variational_Dimensions.md).