GeometryPrimitiveConverter.cs
Třída GeometryPrimitiveConverter v knihovně kódu doplňku DynamoRevit poskytuje různé metody pro převod mezi typy geometrie aplikací Revit a Dynamo. Tyto metody jsou užitečné při práci s geometrií ve skriptech aplikace Dynamo, které interagují s modely aplikace Revit.
Metody ve třídě GeometryPrimitiveConverter.cs
lze seskupit do čtyř hlavních kategorií:
Typy Proto na Revit: Metody, které převádějí typy aplikace Dynamo (Proto) na typy aplikace Revit.
Typy Revit na Proto: Metody, které převádějí typy aplikace Revit na typy aplikace Dynamo (Proto).
Stupně a radiány: Metody, které převádějí stupně a radiány.
X a UZ: Metody, které se zabývají získáváním kolmých vektorů.
Vytvoří objekt BoundingBoxXYZ aplikace Revit ze souřadnicového systému aplikace Dynamo a dvou definičních bodů (minimum a maximum).
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)
Převede objekt BoundingBox aplikace Dynamo na objekt BoundingBoxXYZ aplikace Revit.
Příznak convertUnits (výchozí hodnota true) určuje, zda mají být souřadnice převedeny ze systému jednotek aplikace Dynamo na vnitřní jednotky aplikace Revit.
public static Autodesk.Revit.DB.BoundingBoxXYZ ToRevitType(this Autodesk.DesignScript.Geometry.BoundingBox bb, bool convertUnits = true)
Převede objekt Point aplikace Dynamo na objekt XYZ aplikace Revit.
Příznak convertUnits (výchozí hodnota true) v případě potřeby převede souřadnice.
public static Autodesk.Revit.DB.XYZ ToRevitType(this Autodesk.DesignScript.Geometry.Point pt, bool convertUnits = true)
Převede objekt Vector aplikace Dynamo na objekt XYZ aplikace Revit.
Všimněte si, že výchozí hodnotou příznaku convertUnits je false, protože vektory představují směr a velikost, které obvykle nevyžadují převod jednotek. Převod může ovlivnit směr a délku vektoru.
public static Autodesk.Revit.DB.XYZ ToRevitType(this Vector vec, bool convertUnits = false)
Převede objekt Point aplikace Dynamo na objekt XYZ aplikace Revit.
public static Autodesk.Revit.DB.XYZ ToXyz(this Autodesk.DesignScript.Geometry.Point pt, bool convertUnits = true)
Převede objekt Vector aplikace Dynamo na objekt XYZ aplikace Revit.
Všimněte si, že výchozí hodnotou příznaku convertUnits je false, protože vektory představují směr a velikost, které obvykle nevyžadují převod jednotek. Převod může ovlivnit směr a délku vektoru.
public static Autodesk.Revit.DB.XYZ ToXyz(this Vector vec, bool convertUnits = false)
Převede objekt CoordinateSystem aplikace Dynamo na objekt Transform aplikace Revit.
public static Autodesk.Revit.DB.Transform ToTransform(this CoordinateSystem cs, bool convertUnits = true)
Převede objekt Plane aplikace Dynamo na objekt Plane aplikace Revit.
public static Autodesk.Revit.DB.Plane ToPlane(this Autodesk.DesignScript.Geometry.Plane plane, bool convertUnits = true)
Převede kolekce objektů Point aplikace Dynamo na kolekce objektů XYZ aplikace Revit.
Vrátí seznam objektů XYZ. public static List<XYZ> ToXyzs(this List<Autodesk.DesignScript.Geometry.Point> list, bool convertUnits = true)
Vrátí pole hodnot XYZ. public static XYZ[] ToXyzs(this Autodesk.DesignScript.Geometry.Point[] list, bool convertUnits = true)
Převede pole objektů Vector aplikace Dynamo na pole vektorů XYZ aplikace Revit.
public static XYZ[] ToXyzs(this Autodesk.DesignScript.Geometry.Vector[] list, bool convertUnits = false)
Převede pole hodnot double na objekt DoubleArray aplikace Revit.
public static DoubleArray ToDoubleArray(this double[] list)
Převede dvojrozměrné pole (double[][]), kde každé vnitřní pole představuje dvojici hodnot (U a V), na pole objektů UV aplikace Revit.
internal static Autodesk.Revit.DB.UV[] ToUvs(this double[][] uvArr)
Převede dvojrozměrné pole (double[][]), kde každé vnitřní pole představuje dvojici hodnot (U a V), na pole objektů UV aplikace Dynamo.
internal static Autodesk.DesignScript.Geometry.UV[] ToDSUvs(this double[][] uvArr)
Tento příklad ukazuje rychlý a snadný způsob použití metody .ToXyz (Point) k převodu objektu Point.ByCoordinates aplikace Dynamo na objekt XYZ aplikace Revit.
Převede objekt BoundingBoxXYZ aplikace Revit na objekt BoundingBox aplikace Dynamo.
public static Autodesk.DesignScript.Geometry.BoundingBox ToProtoType(this Autodesk.Revit.DB.BoundingBoxXYZ xyz, bool convertUnits = true)
Převede objekt XYZ aplikace Revit na objekt Point aplikace Dynamo.
public static Autodesk.DesignScript.Geometry.Point ToPoint(this XYZ xyz, bool convertUnits = true)
Převede objekt Point aplikace Revit na objekt Point aplikace Dynamo.
public static Autodesk.DesignScript.Geometry.Point ToProtoType(this Autodesk.Revit.DB.Point point, bool convertUnits = true)
Převede objekt XYZ aplikace Revit na objekt Vector aplikace Dynamo.
public static Vector ToVector(this XYZ xyz, bool convertUnits = false)
Převede objekt UV aplikace Revit na objekt UV aplikace Dynamo.
public static Autodesk.DesignScript.Geometry.UV ToProtoType(this Autodesk.Revit.DB.UV uv)
Převede objekt Plane aplikace Revit na objekt Plane aplikace Dynamo.
public static Autodesk.DesignScript.Geometry.Plane ToPlane(this Autodesk.Revit.DB.Plane plane, bool convertUnits = true)
Převede objekt Transform aplikace Revit na objekt CoordinateSystem aplikace Dynamo.
public static CoordinateSystem ToCoordinateSystem(this Transform t, bool convertUnits = true)
Převede seznam bodů XYZ aplikace Revit na seznam bodů objektů Point aplikace Dynamo.
public static List<Autodesk.DesignScript.Geometry.Point> ToPoints(this List<XYZ> list, bool convertUnits = true)
Tento příklad ukazuje rychlý a snadný způsob použití metody .ToPoint (XYZ) k převodu objektu XYZ aplikace Revit na objekt Point aplikace Dynamo.
Převede stupně na radiány.
public static double ToRadians(this double degrees) { return degrees * Math.PI / 180.0; }
Převede radiány na stupně.
public static double ToDegrees(this double degrees) { return degrees * 180.0 / Math.PI; }
Tento příklad ukazuje rychlý a snadný způsob použití metody .ToRadians pro převod ze stupňů na radiány.
Tato metoda vrací vektor XYZ
kolmý na zadaný vektor XYZ
.
public static XYZ GetPerpendicular(this XYZ xyz)
Tato metoda vrací objekt Vector
aplikace Dynamo kolmý na zadaný objekt Vector
aplikace Dynamo.
public static Vector GetPerpendicular(this Vector vector)
Tento příklad ukazuje rychlý a snadný způsob použití metody .GetPerpendicular k získání vektoru kolmého na vstupní vektor.