怎样从柱参数值中获取对应的Level对象

来源:互联网 发布:sis实时数据库有哪些 编辑:程序博客网 时间:2024/06/13 11:09

 

这里有一个朋友jude2008的留言,这里转为一博文:叶老师你好,我有一个问题向您请教,现有一个COLUMN A,我新建一个COLUMN B,我想让B的BASE LEVEL等于A的TOP LEVEL,这个代码要怎么表达.我用get_Parameter(Autodesk.Revit.DB.BuiltInParameter.FAMILY_TOP_LEVEL_PARAM)这个方法一直取不出来要的值.,期待你的回答,谢谢:)

 

分析

    原因可能与不知道如何从参数值中读出楼层信息。需要用Parameter.AsElementId()读出楼层Level 的Id

 

实现:   

第一步:取出Column A的顶部楼层。楼层信息存储在Autodesk.Revit.DB.BuiltInParameter.FAMILY_TOP_LEVEL_PARAM 这个参数中。把结果转换成为ElementId,在找到Level 对象。

       ElementId levelId = columnA.get_Parameter(Autodesk.Revit.DB.BuiltInParameter.FAMILY_TOP_LEVEL_PARAM).AsElemetId();

       Level upLevel = doc.get_Element(levelId);

第二步:把upLevel 给创建Column B的NewFamilyInstance() 函数作为Column B的下面楼层

      例如: FamilyInstance columnB = doc.Create.NewFamilyInstance(xyzPosition, symbol, upLevel,structuralType.Column);

 

 

原创粉丝点击