Tekla API C# Использование CoordinateSystem и MatrixFactory — 7 апреля 2026 г. в 07:58:19.854
Tekla API C# Использование CoordinateSystem и MatrixFactory 💡 В Tekla Structures всё, что вы видите на экране — живёт в своей системе координат. Если вы хотите точно управлять положением объектов, нужно уметь работать с CoordinateSystem. 🧭 CoordinateSystem Класс CoordinateSystem описывает локальную систему координат с тремя элементами: Origin - точка начала координат, AxisX - направление оси X, AxisY - направление оси Y. На их основе Tekla автоматически строит ось Z как векторное произведение AxisX × AxisY. Вы можете создать систему координат вручную: var origin = new Point(0, 0, 0); var x = new Vector(1, 0, 0); var y = new Vector(0, 1, 0); var cs = new CoordinateSystem(origin, x, y); Если оси не перпендикулярны или не нормализованы - Tekla создаст "кривую" рабочую плоскость. Поэтому важно: нормализовать векторы: x.Normalize(), y.Normalize(); проверять, чтобы`x.Cross(y)` не давал нулевой вектор. 🧮 MatrixFactory — трансформации Класс MatrixFactory позволяет переводить точки и объекты между системами координат. Главные методы: FromCoordinateSystem(cs) - из локальной СК → в рабочую плоскость; ToCoordinateSystem(cs) - наоборот, из рабочей плоскости → в локальную; ByCoordinateSystems(cs1, cs2) - напрямую из одной СК в другую. Пример: Beam beam1 = new Beam(); Beam beam2 = new Beam(); Point point1 = new Point(1000, 0, 0); var cs1 = beam1.GetCoordinateSystem(); var cs2 = beam2.GetCoordinateSystem(); var matrix = MatrixFactory.ByCoordinateSystems(cs1, cs2); var point2 = matrix.Transform(point1); 🎯 Тот же результат можно получить в два шага: var toCurrent = MatrixFactory.FromCoordinateSystem(cs1); var toLocal = MatrixFactory.ToCoordinateSystem(cs2); var point2 = toLocal.Transform(toCurrent.Transform(point1)); 📌 Практический смысл Работа с системами координат - ключ к точному позиционированию элементов, особенно при: - создании закладных, пластин и вырезов; - копировании объектов между сборками; - вычислении ориентации деталей. 👇ОБСУДИМ?!👇 MAX Беседка #nipgroup #Tekla #TeklaSupport #TeklaHelp #TeklaAPI

