Разработка для Dynamo for Revit
Last updated
Last updated
GeometryPrimitiveConverter.cs
Класс в библиотеке кода DynamoRevit предоставляет различные способы преобразования типов геометрии в Revit и Dynamo. Эти методы удобно использовать при работе с геометрией в сценариях Dynamo, которые взаимодействуют с моделями Revit.
Методы, описанные в GeometryPrimitiveConverter.cs
, можно разделить на четыре основные категории.
Типы Proto в типы Revit: методы преобразования типов Dynamo (Proto) в типы Revit.
Типы Revit в типы Proto: методы преобразования типов Revit в типы Dynamo (Proto).
Градусы и радианы: методы преобразования градусов в радианы.
X и UZ: методы получения перпендикулярных векторов.
Создание объекта BoundingBoxXYZ Revit на основе системы координат Dynamo и двух определяющих точек (максимальной и минимальной).
public static Autodesk.Revit.DB.BoundingBoxXYZ ToRevitBoundingBox( Autodesk.DesignScript.Geometry.CoordinateSystem cs, Autodesk.DesignScript.Geometry.Point minPoint, Autodesk.DesignScript.Geometry.Point maxPoint, bool convertUnits = true)
Преобразование объекта BoundingBox Dynamo в объект BoundingBoxXYZ Revit.
Флаг convertUnits (по умолчанию имеет значение true) определяет, следует ли преобразовывать координаты из системы единиц Dynamo во внутренние единицы Revit.
public static Autodesk.Revit.DB.BoundingBoxXYZ ToRevitType(this Autodesk.DesignScript.Geometry.BoundingBox bb, bool convertUnits = true)
Преобразование объекта Point Dynamo в координаты XYZ Revit.
Флаг convertUnits (по умолчанию имеет значение true) при необходимости преобразует координаты.
public static Autodesk.Revit.DB.XYZ ToRevitType(this Autodesk.DesignScript.Geometry.Point pt, bool convertUnits = true)
Преобразование объекта Vector Dynamo в координаты XYZ Revit.
Обратите внимание, что флаг convertUnits по умолчанию имеет значение false, поскольку векторы представляют направление и величину, которые обычно не требуют преобразования единиц измерения. Преобразование может повлиять на направление и длину вектора.
public static Autodesk.Revit.DB.XYZ ToRevitType(this Vector vec, bool convertUnits = false)
Преобразование объекта Point Dynamo в координаты XYZ Revit.
public static Autodesk.Revit.DB.XYZ ToXyz(this Autodesk.DesignScript.Geometry.Point pt, bool convertUnits = true)
Преобразование объекта Vector Dynamo в координаты XYZ Revit.
Обратите внимание, что флаг convertUnits по умолчанию имеет значение false, поскольку векторы представляют направление и величину, которые обычно не требуют преобразования единиц измерения. Преобразование может повлиять на направление и длину вектора.
public static Autodesk.Revit.DB.XYZ ToXyz(this Vector vec, bool convertUnits = false)
Преобразование объекта CoordinateSystem Dynamo в объект Transform Revit.
public static Autodesk.Revit.DB.Transform ToTransform(this CoordinateSystem cs, bool convertUnits = true)
Преобразование плоскости Dynamo в плоскость Revit.
public static Autodesk.Revit.DB.Plane ToPlane(this Autodesk.DesignScript.Geometry.Plane plane, bool convertUnits = true)
Преобразование наборов объектов Point Dynamo в наборы XYZ Revit.
Возвращает список координат XYZ. public static List<XYZ> ToXyzs(this List<Autodesk.DesignScript.Geometry.Point> list, bool convertUnits = true)
Возвращает массив элементов XYZ. public static XYZ[] ToXyzs(this Autodesk.DesignScript.Geometry.Point[] list, bool convertUnits = true)
Преобразование массива объектов Vector Dynamo в массив векторов XYZ Revit.
public static XYZ[] ToXyzs(this Autodesk.DesignScript.Geometry.Vector[] list, bool convertUnits = false)
Преобразование массива двойных значений в массив DoubleArray Revit.
public static DoubleArray ToDoubleArray(this double[] list)
Преобразование двумерного массива (double[][]), где каждый внутренний массив представляет пару значений (U и V), в массив объектов UV Revit.
internal static Autodesk.Revit.DB.UV[] ToUvs(this double[][] uvArr)
Преобразование двумерного массива (double[][]), где каждый внутренний массив представляет пару значений (U и V), в массив объектов UV Dynamo.
internal static Autodesk.DesignScript.Geometry.UV[] ToDSUvs(this double[][] uvArr)
В этом примере показан простой и быстрый способ использования метода .ToXyz (Point) для преобразования объекта Point.ByCoordinates Dynamo в координаты XYZ Revit.
Преобразование объекта BoundingBoxXYZ Revit в объект BoundingBox Dynamo.
public static Autodesk.DesignScript.Geometry.BoundingBox ToProtoType(this Autodesk.Revit.DB.BoundingBoxXYZ xyz, bool convertUnits = true)
Преобразование координат XYZ Revit в объект Point Dynamo.
public static Autodesk.DesignScript.Geometry.Point ToPoint(this XYZ xyz, bool convertUnits = true)
Преобразование объекта Point Revit в объект Point Dynamo.
public static Autodesk.DesignScript.Geometry.Point ToProtoType(this Autodesk.Revit.DB.Point point, bool convertUnits = true)
Преобразование координат XYZ Revit в объект Vector Dynamo.
public static Vector ToVector(this XYZ xyz, bool convertUnits = false)
Преобразование объекта UV Revit в объект UV Dynamo.
public static Autodesk.DesignScript.Geometry.UV ToProtoType(this Autodesk.Revit.DB.UV uv)
Преобразование плоскости Revit в плоскость Dynamo.
public static Autodesk.DesignScript.Geometry.Plane ToPlane(this Autodesk.Revit.DB.Plane plane, bool convertUnits = true)
Преобразование объекта Transform Revit в объект CoordinateSystem Dynamo.
public static CoordinateSystem ToCoordinateSystem(this Transform t, bool convertUnits = true)
Преобразование списка точек XYZ Revit в список точек Dynamo.
public static List<Autodesk.DesignScript.Geometry.Point> ToPoints(this List<XYZ> list, bool convertUnits = true)
В этом примере показан простой и быстрый способ использования метода .ToPoint (XYZ) для преобразования координат XYZ Revit в объект Point Dynamo.
Преобразование градусов в радианы.
public static double ToRadians(this double degrees) { return degrees * Math.PI / 180.0; }
Преобразование радианов в градусы.
public static double ToDegrees(this double degrees) { return degrees * 180.0 / Math.PI; }
В этом примере показан простой и быстрый способ использования метода .ToRadians для преобразования градусов в радианы.
Этот метод возвращает вектор XYZ
, перпендикулярный заданному вектору XYZ
.
public static XYZ GetPerpendicular(this XYZ xyz)
Этот метод возвращает объект Vector
Dynamo, перпендикулярный заданному объекту Vector
Dynamo.
public static Vector GetPerpendicular(this Vector vector)
В этом примере показан простой и быстрый способ использования метода .GetPerpendicular для получения вектора, перпендикулярного заданному вектору.