阅读revit SDK samples


1.基础的知识储配

c#语言基础,winform,revit后台数据关系,

面向对象的设计模式(单例,工厂)

基本数据结构与算法:

c#中的集合类,排序算法,二叉树,树的遍历.

几何运算:点积,叉积,变换矩阵.

2.工具

addinManager------使用sample

revit lookup----------看revit中元素属性

ReSharper(visual studio 插件)--------看sample中类的依赖,继承关系.

3.我(小白)的阅读流程

3.1.先看samples Readme,再编译出来使用addinManager在revit中跑一下sample.

由于samples很多都是基于英文版本写的,所以要先右击revit图标,快捷方式->目标:将language CHS改成language ENU.

对sample要处理什么操作有一个感性认识.

3.2用resharper生成类uml图,具体方法是在vs中选中项目,点击 扩展->ReSharper->Architecture->ShowTyped dependency diagram

(EventMonitor类图)

 当然有些sample中只有一个command类,这一步可以忽略.

3.3自底向上,细读

从最底层依赖开始读,遇到不懂的可以查阅revitAPI.chm,最好是自己写注释.

3.4自顶而下,回想复习

一般自底而下的读完后,我会再在revit中操作一下,并开始思考从用户输入->后台数据组织->算法操作的过程,如果哪个地方没想清楚,就回看源码.

4.一点来自小白的感想:

非科班出身看sample还是有难度的,弄不懂是常事,一开始令我很懊恼,沮丧,不过后来我

看3blue1brown回答粉丝问答的一句话令我很有启发,弄不懂不是因为笨,而是你缺少了一些经历或者

预备知识.比如我刚开始看,始终闹不明白为啥很多类里面有个静态的instance,用的时候直接new 一个不好吗?

后来看到了单例模式就豁然开朗了.也许看不懂,积累一个疑问也挺好,这样如果看到能解决这个疑问的知识时,能敏感的注意到.

目前,我还是不懂一些Basics分类下案例,也没闹明白关于revit 错误消息的案例.

最后,其实revit samples里面的bug其实挺多的,不过里面值得学习的地方更多.批判着看吧.

相关