c# - 使用 Revit API 在模型中放置自定义体量族实例

标签 c# revit-api revit

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

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

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

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

screenshot

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

干杯!

最佳答案

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

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

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

关于c# - 使用 Revit API 在模型中放置自定义体量族实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53577697/

相关文章:

c# - 使用 MySQL 后端开发 C# 项目的最佳方法是什么?

c# - 在方法返回上使用隐式类型语法

c# - 使用 c# Func 作为 IQueryable 的一部分而不执行内存调用

c# - 如何获取Revit中的所有参数选择?

revit-api - 使用 Revit API 编码 : tips to reduce memory use?

c# - 根据谓词拆分字符串

c# - IronPython 和 Revit API - 如何在列表框中显示项目属性(属性名称)?

c# - Revit API构建: How to put drop down list in a dialog box?

revit-api - 是否有云 API 可以从 Revit 模型中提取数据?

windows - 如何让某人进入测试?