C# Класс BuildingCoder.Creator

Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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

Приватные методы

Метод Описание
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

Описание методов

CreateModelCurve() публичный Метод

public CreateModelCurve ( Curve curve ) : ModelCurve
curve Curve
Результат ModelCurve

CreateModelCurves() публичный Метод

public CreateModelCurves ( Curve curve ) : ModelCurveArray
curve Curve
Результат ModelCurveArray

CreateModelLine() публичный статический Метод

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
Результат ModelLine

Creator() публичный Метод

public Creator ( Document doc ) : System
doc Document
Результат System

DrawFaceTriangleNormals() публичный Метод

public DrawFaceTriangleNormals ( Face f ) : void
f Face
Результат void

DrawPolygon() публичный Метод

public DrawPolygon ( List loop ) : void
loop List
Результат void

DrawPolygons() публичный Метод

public DrawPolygons ( List loops ) : void
loops List
Результат void