C# Class BuildingCoder.Creator

Afficher le fichier Open project: jeremytammik/the_building_coder_samples Class Usage Examples

Méthodes publiques

Méthode Description
CreateModelCurve ( Curve curve ) : ModelCurve
CreateModelCurves ( Curve curve ) : ModelCurveArray
CreateModelLine ( Document doc, XYZ p, XYZ q ) : ModelLine

Create a model line between the two given points. Internally, it creates an arbitrary sketch plane given the model line end points.

Creator ( Document doc ) : System
DrawFaceTriangleNormals ( Face f ) : void
DrawPolygon ( List loop ) : void
DrawPolygons ( List loops ) : void

Private Methods

Méthode Description
CreateModelCurve ( Curve curve, XYZ origin, XYZ normal ) : ModelCurve
GetCurveNormal ( Curve curve ) : XYZ

Determine the plane that a given curve resides in and return its normal vector. Ask the curve for its start and end points and some point in the middle. The latter can be obtained by asking the curve for its parameter range and evaluating it in the middle, or by tessellation. In case of tessellation, you could iterate through the tessellation points and use each one together with the start and end points to try and determine a valid plane. Once one is found, you can add debug assertions to ensure that the other tessellation points (if there are any more) are in the same plane. In the case of the line, the tessellation only returns two points. I once heard that that is the only element that can do that, all non-linear curves return at least three. So you could use this property to determine that a line is a line (and add an assertion as well, if you like). Update, later: please note that the Revit API provides an overload of the NewPlane method taking a CurveArray argument.

NewSketchPlaneContainCurve ( Curve curve ) : SketchPlane

Return a new sketch plane containing the given curve. Update, later: please note that the Revit API provides an overload of the NewPlane method taking a CurveArray argument, which could presumably be used instead.

NewSketchPlanePassLine ( System.Line line ) : SketchPlane

Method Details

CreateModelCurve() public méthode

public CreateModelCurve ( Curve curve ) : ModelCurve
curve Curve
Résultat ModelCurve

CreateModelCurves() public méthode

public CreateModelCurves ( Curve curve ) : ModelCurveArray
curve Curve
Résultat ModelCurveArray

CreateModelLine() public static méthode

Create a model line between the two given points. Internally, it creates an arbitrary sketch plane given the model line end points.
public static CreateModelLine ( Document doc, XYZ p, XYZ q ) : ModelLine
doc Document
p XYZ
q XYZ
Résultat ModelLine

Creator() public méthode

public Creator ( Document doc ) : System
doc Document
Résultat System

DrawFaceTriangleNormals() public méthode

public DrawFaceTriangleNormals ( Face f ) : void
f Face
Résultat void

DrawPolygon() public méthode

public DrawPolygon ( List loop ) : void
loop List
Résultat void

DrawPolygons() public méthode

public DrawPolygons ( List loops ) : void
loops List
Résultat void