【问题标题】:Placing a custom mass family instance in a model using Revit API使用 Revit API 在模型中放置自定义体量族实例
【发布时间】:2023-03-30 20:31:01
【问题描述】:

我创建了一个自定义 Mass 系列,它是一个简单的圆柱体。我正在尝试使用 NewFamilyInstance 方法将其放置在特定级别的特定点上。

这是我用来放置实例的代码:

doc.Create.NewFamilyInstance(new XYZ(0, 0, 0), symbol, 
    ele.Document.GetElement(ele.LevelId), 
    Autodesk.Revit.DB.Structure.StructuralType.UnknownFraming);

问题在于,无论输入级别如何,实例始终位于级别 1。 我注意到输入级别出现在实例的主机约束上。请参考下图:

如果有人指出我的错误,将不胜感激。

干杯!

【问题讨论】:

    标签: c# revit-api revit


    【解决方案1】:

    我用这个方法来放置Family Instance,它解决了这个问题:

    Create.NewFamilyInstance(interiorFaceRef, location, refDir, symbol)
    

    https://www.revitapidocs.com/2020/be4b822c-829a-7e7b-8c03-a3a324bfb75b.htm

    【讨论】:

      【解决方案2】:

      代码对我来说似乎是正确的,请检查 ele.LevelId 的来源。

      如果您没有发现任何需要纠正的地方,您可以尝试在创建家庭实例后更改级别:

      //Start Transaction
      FamilyInstance famInst; //--> your code
      famInst.get_Parameter(BuiltInParameter.FAMILY_LEVEL_PARAM).Set(/*Level Id*/);
      

      【讨论】:

        猜你喜欢
        • 2022-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多