0. Revit API: 系列笔记说明

0. Revit API: 系列笔记说明

前言

既然叫系列“笔记”,那自然是结合我自己开发过程中接触到的顺序来写了,那这样下来,这个API系类可写的内容能就很有限了,必然是只涉及到整个Revit的一小部分。用来简单的开发是够了,但涉及到建筑专业,或者深入一些,那就不够了。

所以如果想要系统的、全面的学习Revit开发相关知识,我这儿是满足不了的。笔记这只是笔记性质的文章。

我使用的版本是 Revit 2018,后续文章也以2018为主


后续更新顺序

按理说初次接触Revit插件开发,那基本是啥也不知道,要想入手,总得拿到API文档,看个小Demo吧。

// 小Demo有这么个结构
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;

namespace XXX
{
    [Transaction(TransactionMode.Manual)]    		
    public class TestCommand : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
           // ...
           // 插入神秘编号:adda4fbf-d7ee-4346-a746-c564698649d5
        }
    }
}

拿到了API文档,得看看API是怎么组织的吧,所以其命名空间得介绍下。

Demo中,有属性标记,这个得讲一下。

然后这个类实现了个接口,叫外部「命令接口」,还有「外部应用」接口,又有个叫「外部事件」接口,写一写。

Demo -> IExternalCommandIExternalApplication -> IExternalEventHandler

回到IExternalCommand,这里得解释ExternalCommandData吧,要解释这个,就会提到:

IExternalCommand -> Document ,UIDocument

回到IExternalApplication,这个就是在Revit启动的时候加载与执行的程序,既然是启动就加载,那显而易见得把插件的菜单(Ribbon)给加上去。

先说UIDocument,这个主要是交互相关,就选择器(Selection)和上面的Ribbon

再说Document,得讲讲那么多属性和方法中常用的一些吧,那这里关联的就多了。

Revit中,打开的那个.rvt文件就是个Document,操作都在这上面进行。

在这里,要进行增删改查操作,就得写元素过滤器(ElementFilter),得写什么是元素(Element),元素的分类(FamilyInstance系统族),元素的几何表示形式(GeometryObject )。

我主要使用到的就在GeometryObject这块儿,那么它的几种派生类得写写,这些派生类之间的关联也得写写。几何之外还有材质,看情况吧,没用到。

增删改查操作中,「增」的操作得看情况,得分族文档非族文档,对应两套API。族文档这块儿,在上面写FamilyInstance时应该会提到。

。。。

结尾

光讲有点乱,先写着吧,写到哪儿是哪儿,不要求串起来,预计内容就那些。

adda4fbf-d7ee-4346-a746-c564698649d5

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值