Revit二次开发之 尺寸标线

一、标准的类型

尺寸标注是用来在项目中显示距离和尺寸的视图专用元素,视图元素,就是只那些只能在特定视图中显示的元素。比如尺寸标注(Dimension)只能显示在平面视图中。尺寸标注主要为三种:

临时性尺寸标注 (Temporary Dimensions): Revit在操作中临时添加的一些尺寸参照线,这些revit API是无法访问的。

永久性尺寸标注(Permanent Dimensions):添加在平面视图中的标注,可以通过API创建。

高程点尺寸标注(Spot Dimensions):添加在立面视图中,可以通过API创建。

尺寸标线是平面图纸一个重要的功能,其可以对构件进行标记尺寸、距离、角度等。我们查看尺寸标线的核心对象有以下几个:

Autodesk.Revit.DB.Element
        Autodesk.Revit.DB.Dimension
             Autodesk.Revit.DB.AngularDimension
             Autodesk.Revit.DB.SpotDimension

根据revit工具栏的功能,可以基本划分如下:

image

二、标注的创建

通过ItemFactoryBase对象的创建函数,实现尺寸标线的创建。

Autodesk.Revit.Creation.ItemFactoryBase
      Autodesk.Revit.Creation.Document
      Autodesk.Revit.Creation.FamilyItemFactory

其核心创建函数如下:

三、Dimensions的创建

Autodesk.Revit.Creation.ItemFactoryBase的类定义的函数

对齐尺寸标注:对齐尺寸标注为REVIT视图专有图元,仅在其放置的视图中显示(平面或剖面视图),对齐尺寸标注用于注释两个或两个以上的平行参照或两个以上的点参照之间的距离。

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Reference ref1, Reference ref2);

线性尺寸标注:线性尺寸标注放置于选定的点之间。尺寸标注与视图的水平轴或垂直轴对齐

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Line line, ReferenceArray refs);

角度尺寸标注:用于标记一个角度的大小,他必须又一个圆弧的指定,才能确定标记的方向。

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Arc arc, Reference ref1, Reference ref2);

弧长度尺寸标注:用户标记一个弧度的长度

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Arc arc, Reference arcRef, Reference ref1, Reference ref2);

直径尺寸标注:用于标记一个圆形的直径长度

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Arc arc, Reference arcRef1, XYZ orgin);

径向尺寸标注:主要用于指定圆弧或者远行的尺寸标注

Autodesk.Revit.Creation.Document.NewAlignemnt(View,Arc arc, Reference arcRef1, XYZ orgin);

四、AngularDimension的创建

角度标尺的创建

NewAngularDimension(View, Arc, Reference, Reference)

NewAngularDimension(View, Arc, Reference, Reference, DimensionType)
NewArcLengthDimension(View, Arc, Reference, Reference, Reference)
NewArcLengthDimension(View, Arc, Reference, Reference, Reference, DimensionType)五

五、高程点标注

高程点标注是尺寸标注的子类型,除了基类Dimension的主要属性和功能以外,还有额外的SpotDimension的一些属性,Revit提供了以下几个方法来创建高程点标注:

Document.NewSpotElevation(View view ,Reference ref,XYZ orgin,XYZ bend,XYZ end,XYZ refPt,bool hasLeader);

Ref 为参照,orgin为标注地点,bend为弯曲点,end标注结束点,refPt是标注所要测量的点,hasLeader标识是否有箭头

六、文字标注

主要用于想视图中添加文字,文件可以水平放置,也可以倾斜放置。

image

Document.NewTextNode(View pView,XYZ orgin,XYZ baseVec,XYZ upVec,double linewidth,TextAlignFlags textAlign,string strTest)

添加一个文字标注。

七、详图线

详图线实在草图视图中才能绘制,其绘制方式如下:

image

ItemFactoryBase.NewDetailCurve(View view,Curve geometryCurve);

 八、区域标记

区域的创建,在平面上用于创建一个区域,IsMasking来确定是否是遮罩区域,通过静态类:

 

 FilledRegion.Create(Document doc,ElementId typeId,Element viewId,List<CurveLoop> boundaries)

九、其他标记

可以向界面上添加一个新的标注信息

image

Document.NewTag(View dbview,Element eleToTag,bool addHeader,TagMode tagMode,TagOrienattion tagOrienattion,XYZ pnt);

posted @ 2022-08-09 19:18  Min.Xiaoshuang  阅读(921)  评论(0编辑  收藏  举报