FamilyItemFactoryNewLinearDimension(View, Line, ReferenceArray) Method |
Generate a new linear dimension object using the default dimension type.
Namespace: Autodesk.Revit.CreationAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic Dimension NewLinearDimension(
View view,
Line line,
ReferenceArray references
)
Public Function NewLinearDimension (
view As View,
line As Line,
references As ReferenceArray
) As Dimension
public:
Dimension^ NewLinearDimension(
View^ view,
Line^ line,
ReferenceArray^ references
)
member NewLinearDimension :
view : View *
line : Line *
references : ReferenceArray -> Dimension
Parameters
- view View
- The view in which the dimension is to be visible.
- line Line
- The extension line of the dimension.
- references ReferenceArray
- An array of geometric references to which the dimension is to be bound.
You must supply at least two references, and all references supplied must be parallel to each other
and perpendicular to the extension line.
Return Value
DimensionIf creation was successful the new linear dimension is returned,
otherwise an exception with failure information will be thrown.
Exceptions
Remarks The currently user set default style is used for the created dimension.
Examplepublic Dimension CreateLinearDimension(Document document)
{
XYZ pt1 = new XYZ(5, 5, 0);
XYZ pt2 = new XYZ(5, 10, 0);
Line line = Line.CreateBound(pt1, pt2);
Plane plane = Plane.CreateByNormalAndOrigin(pt1.CrossProduct(pt2), pt2);
SketchPlane skplane = SketchPlane.Create (document, plane);
ModelCurve modelcurve1 = document.FamilyCreate.NewModelCurve(line, skplane);
pt1 = new XYZ(10, 5, 0);
pt2 = new XYZ(10, 10, 0);
line = Line.CreateBound(pt1, pt2);
plane = Plane.CreateByNormalAndOrigin(pt1.CrossProduct(pt2), pt2);
skplane = SketchPlane.Create (document, plane);
ModelCurve modelcurve2 = document.FamilyCreate.NewModelCurve(line, skplane);
ReferenceArray ra = new ReferenceArray();
ra.Append(modelcurve1.GeometryCurve.Reference);
ra.Append(modelcurve2.GeometryCurve.Reference);
pt1 = new XYZ(5, 10, 0);
pt2 = new XYZ(10, 10, 0);
line = Line.CreateBound(pt1, pt2);
Dimension dim = document.FamilyCreate.NewLinearDimension(document.ActiveView, line, ra);
FamilyParameter param = document.FamilyManager.AddParameter("width",
GroupTypeId.Constraints,
SpecTypeId.Length, false);
dim.FamilyLabel = param;
return dim;
}
Public Function CreateLinearDimension(document As Document) As Dimension
Dim pt1 As New XYZ(5, 5, 0)
Dim pt2 As New XYZ(5, 10, 0)
Dim line__1 As Line = Line.CreateBound(pt1, pt2)
Dim plane As Plane = plane.CreateByNormalAndOrigin(pt1.CrossProduct(pt2), pt2)
Dim skplane As SketchPlane = SketchPlane.Create(document, plane)
Dim modelcurve1 As ModelCurve = document.FamilyCreate.NewModelCurve(line__1, skplane)
pt1 = New XYZ(10, 5, 0)
pt2 = New XYZ(10, 10, 0)
line__1 = Line.CreateBound(pt1, pt2)
plane = plane.CreateByNormalAndOrigin(pt1.CrossProduct(pt2), pt2)
skplane = SketchPlane.Create(document, plane)
Dim modelcurve2 As ModelCurve = document.FamilyCreate.NewModelCurve(line__1, skplane)
Dim ra As New ReferenceArray()
ra.Append(modelcurve1.GeometryCurve.Reference)
ra.Append(modelcurve2.GeometryCurve.Reference)
pt1 = New XYZ(5, 10, 0)
pt2 = New XYZ(10, 10, 0)
line__1 = Line.CreateBound(pt1, pt2)
Dim [dim] As Dimension = document.FamilyCreate.NewLinearDimension(document.ActiveView, line__1, ra)
Dim param As FamilyParameter = document.FamilyManager.AddParameter("width", GroupTypeId.Constraints, SpecTypeId.Length, False)
[dim].FamilyLabel = param
Return [dim]
End Function
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also