千家信息网

Revit多管道线性标注的方法

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇"Revit多管道线性标注的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"R
千家信息网最后更新 2024年11月23日Revit多管道线性标注的方法

这篇"Revit多管道线性标注的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Revit多管道线性标注的方法"文章吧。

线性标注主要是提供了2种API:

但其实也算是一种,第二个可以选择标注样式。

主要的三个参数:

  • view

    标注的视图

  • line

    标注线

  • references

    稳定的引用

这里要注意标注视图只能在平面视图或者立面视图进行,本节示例方法只可用在线性元素上。

示例代码如下:

管线标注比较简单不用访问几何图元,因此以此作为参考示例,方法基本是一致的。

Selection selection = uiDoc.Selection;

//选择需要标注尺寸的图元

IList referenceList = selection.PickObjects(ObjectType.Element, "请选择要标注的图元");

if (referenceList.Count < 1)

{

TaskDialog.Show("警告", "选择数量出错,请重新选择");

}

Autodesk.Revit.DB.View view = doc.ActiveView;

ViewType vt = view.ViewType;

if (vt == ViewType.FloorPlan || vt == ViewType.Elevation)

{

//取得其中一个图元 获取其位置

Element element = doc.GetElement(referenceList.ElementAt(0));

Line line = (element.Location as LocationCurve).Curve as Line;

Element element2 = doc.GetElement(referenceList.ElementAt(1));

Line line2 = (element2.Location as LocationCurve).Curve as Line;

XYZ linemiddle = line.Evaluate(0.5, true);

//在这条线上投射指定的点的交点

XYZ projectPoint = line2.Project(linemiddle).XYZPoint;

Line newLine = Line.CreateBound(linemiddle, projectPoint);

ReferenceArray references = new ReferenceArray();

foreach (Reference reference in referenceList)

{

references.Append(reference);

}

//调用创建尺寸的方法创建

Dimension autoDimension = doc.Create.NewDimension(view, newLine, references);

}

else

{

TaskDialog.Show("警告", "标注视图不是平面视图或立面视图");

}

来看一下效果:

标注前

选中要标注的管道

标注完成的效果

以上就是关于"Revit多管道线性标注的方法"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0