阅读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其实挺多的,不过里面值得学习的地方更多.批判着看吧.