打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
RevitAPI之判断一个族实例是否基于面创建

Revit中有些族是不基于面创建,有些族是基于面创建(如环形吸顶灯等),这时候需要查看该Family的属性【基于工作平面】这个参数进行判断,可以使用lookup查询到FamilyInstance的主体Family,然后在Parameters里查看。


【判断一个FamilyInstance基于面创建的参数,可以使用以下代码查看】

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.DB.Events;
using Autodesk.Revit.DB;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB.Plumbing;
using Autodesk.Revit.UI.Selection;

namespace Test_isFamilyInFace
{
    [TransactionAttribute(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        Reference pickedRef = null;
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            Document doc = commandData.Application.ActiveUIDocument.Document;
            UIApplication uiApp = commandData.Application;

            Selection sel = uiApp.ActiveUIDocument.Selection;
            pickedRef = sel.PickObject(ObjectType.Element, 'Please select 1');
            Element elem1 = doc.GetElement(pickedRef);
            FamilyInstance fi = elem1 as FamilyInstance;
            FamilySymbol fs = fi.Symbol;
            Family f1 = fs.Family;
            int a = f1.get_Parameter(BuiltInParameter.FAMILY_HOSTING_BEHAVIOR).AsInteger();
            string s = HostName(a);
            TaskDialog.Show('结果:', '主体编号:' + a.ToString() + '\r' + s);


            return Result.Succeeded;
        }


        public string HostName(int a)
        {
            string s = '找不到属性';
            switch (a)
            {
                case 0:
                    return s = '族不基于面';
                case 1:
                    return s = '基于墙的';
                case 2:
                    return s = '基于Floor(楼板的)';
                case 3:
                    return s = '基于吊顶';
                case 5:
                    return s = '基于Face的';
                default:
                    return s = '找不到属性';
                 
            }
}

}
}


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Revit API取得系统族普通族几何信息的方法
revit二次开发常用语句 结合二次开发书更好用
Revit API改变风管及管件尺寸
【BIM技术】Autodesk Revit 2018新功能
Revit 2019软件下载及安装教程
Autodesk 2013 产品序列号
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服