在不在族编辑器中的两个元素之间添加维度?

时间:2018-04-06 21:13:13

标签: revit-api

我见过使用NewDimension方法在两点和两行之间进行维度的示例,我假设在族编辑器中,但我想在模型中为两个族实例添加一个维度,例如管道抽头的中心线和管端。然后,如果用户编辑它,沿着管道移动出口,尺寸将“驱动”距离,就像用户使用Revit UI创建尺寸一样。

我只是不知道Revit希望我尝试这样做的方式:

  1. 查找系列实例ID,进入每个系列ID,并在系列中查找线/平面/点,以便在使用NewDimension时用作维度点。希望这可以在家庭编辑器之外工作,试图在两个不同的族实例(管道末端和管道水龙头)之间建立维度。

  2. 查找要捕捉的点的x,y,z位置,并在这两个x,y,z位置之间创建一个维度(例如使用NewDimension方法),如果是x,y ,z位置落在适当的点上,如管道末端和管道龙头的中心线,然后Revit自动使其成为“驱动”管道龙头位置的“智能”维度。

  3. 以下是我在API中找到的一些有前途的方法,但不确定我应该使用哪些方法。

    NewDimension
    AlignedDimension
    AddListeningDimensionBendToBend
    AddListeningDimensionSegmentToBend
    AddListeningDimensionSegmentToSegment
    SetElementsToDimension

1 个答案:

答案 0 :(得分:1)

查看两个Building Coder示例,了解如何Dimension Walls by Iterating FacesDimension Walls using FindReferencesByDirection

用于墙的方法也适用于标准族实例。

请注意,FindReferencesByDirection方法现已被`ReferenceIntersector class替换。