使用Revit API在模型中放置自定义质量族实例

问题描述 投票:2回答:1

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

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

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

问题是无论输入级别是什么,实例总是放在级别1。我注意到输入级别出现在实例的主机约束上。请参考下图:

screenshot

如果有人指出我的错误,将非常感激。

干杯!

c# revit-api revit
1个回答
0
投票

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

如果找不到任何需要更正的内容,可以尝试在创建族实例后更改级别:

//Start Transaction
FamilyInstance famInst; //--> your code
famInst.get_Parameter(BuiltInParameter.FAMILY_LEVEL_PARAM).Set(/*Level Id*/);
© www.soinside.com 2019 - 2024. All rights reserved.