Generate a new linear dimension object using the default dimension type.
Namespace: Autodesk.Revit.Creation
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Syntax
Return Value
If creation was successful the new linear dimension is returned,
otherwise an exception with failure information will be thrown.
Remarks
Examples
CopyC#
public 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;
}
CopyVB.NET
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
Exceptions
See Also