Revit文档类

Revit应用类


应用类包括UlApplication和Application两大类

1. Application

  • Application表示一个Revit应用,提供对文档、选项及其它应用范围的数据的访问和设置。

2. UIApplication

  • UIApplication表示一个活动的Revit会话,提供了对UI定制、事件以及活动文档的访问。


Revit文档类


文档类主要分为UIDocument和Document两大类

1.Document

  • Document对象用于存储Revit的元素、管理视图和数据
  • Document类主要提供获取管理元素、文件管理等功能

2. UIDocument

  • 主要包含了跟UI相关的文档信息和操作,比如ActiveView和 ShowElement
  • Selection属性用来选择Revit模型
  • ShowElements方法显示适当的元素
  • 视图管理
    • ActiveView属性可以返回或设置当前的文档的活动视图
    • RefershActiveView()方法可以用来刷新当前文档的活动视图

入门案例

using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace pro
{

    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiApp = commandData.Application;

            Application application = uiApp.Application;
            TaskDialog.Show("版本号",application.VersionName);

            UIDocument uIDocument = uiApp.ActiveUIDocument;
            View view = uIDocument.ActiveView;
            TaskDialog.Show("活跃的视图名称", view.Name);

            return Result.Succeeded;
        }
    }
}

运行截图
在这里插入图片描述
在这里插入图片描述左边目录标高二为粗体,标高二为当前活跃的视图的名称(下面的方式效果相同)

  • Document document = uIDocument.Document;
  • View view = document.ActiveView;
  • TaskDialog.Show(“当前活跃的视图”,view.Name);


TaskDialog.Show(“视图id”,view.Id.IntegerValue+"");//查看当前视图的id
视图信息的所有信息可以通过view.来查看
在这里插入图片描述





设置当前活跃视图

using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace pro
{

    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiApp = commandData.Application;

            UIDocument uIDocument = uiApp.ActiveUIDocument;
            Document document = uIDocument.Document;
            View view = document.ActiveView;
            TaskDialog.Show("当前活跃的视图", view.Name);

            ElementId id = new ElementId(312);//标高1id
            uIDocument.ActiveView = document.GetElement(id) as View;//把当前活跃视图换成标高1
            View view1 = document.ActiveView;
            TaskDialog.Show("修改后的活跃视图", view1.Name);

            return Result.Succeeded;
        }
    }
}

当点击标高1,标高1为当前活跃视图,会弹出两次标高1
当点击标高2,标高2为当前活跃视图,会弹出一次标高2,再弹出一次标高1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值