摘要: 当一个二次开发要记录一些东西的时候(比如上一次用户设置的参数值,程序的错误消息). 可以使用自带的日志系统.下面结合revit官方提供的sample,来解析一下使用方法. 1.外部应用特性--使用日志 2.读取数据 日志是一个字典类型的数据,其键和值都是一个string类型 可以通过doc.Jour 阅读全文
posted @ 2022-08-31 17:33 liuyangeng 阅读(290) 评论(0) 推荐(0)
摘要: 在做标签避让,对齐,等功能时候,需要获得revit标签的纯文字部分几何信息. 特别是外围boundingBox,这里有一个思路: 1标签leaderEnd创建一个标签的副本 2再获得这个副本的boundingbox 3再将其移动到tagHeadPosition 下面的式例展示了如何获得标签文字的长度 阅读全文
posted @ 2022-02-18 18:21 liuyangeng 阅读(278) 评论(0) 推荐(0)
摘要: 举个例子: 我想让一个点p在当前显示器坐标系下右边移动m, 1.构造出当前显示器的变换矩阵transformScreen; 2.将pt坐标转换成显示器坐标系下的坐标: ptScreen=transformScreen.Inverse.ofpoint(pt); ptScreen+=(m,0,0);// 阅读全文
posted @ 2022-01-11 15:03 liuyangeng 阅读(132) 评论(0) 推荐(0)
摘要: 桶排序 如果数据操作的基础是只能比较大小,那么有数学家证明了最小复杂度是O(NlgN); 但是,很多数据集合并不一定依赖两两比较,而依赖和基数的比较. 比如10000个学生考试,分数只分0,1,2,3,4,5;那么拿两个学生比较就不如 直接拿1个学生和分数比较了. 这样,准备好6个分数桶,分别把学生 阅读全文
posted @ 2021-12-21 15:15 liuyangeng 阅读(145) 评论(0) 推荐(0)
摘要: 整体功能 完成对管线的碰撞检测,并自动进行翻弯儿 Detector 用射线法去查找碰撞点. 核心方法: Obstructions(射线) 通过传入原点和方向向量,找到文档中所有与之相交的带上下文的参照(referencewithcontext),.并且按照由近到远排序. Obstructions(线 阅读全文
posted @ 2021-12-21 11:46 liuyangeng 阅读(95) 评论(0) 推荐(0)
摘要: 1.基础的知识储配 c#语言基础,winform,revit后台数据关系, 面向对象的设计模式(单例,工厂) 基本数据结构与算法: c#中的集合类,排序算法,二叉树,树的遍历. 几何运算:点积,叉积,变换矩阵. 2.工具 addinManager 使用sample revit lookup 看rev 阅读全文
posted @ 2021-12-21 11:17 liuyangeng 阅读(216) 评论(0) 推荐(0)
摘要: 快速排序的思想是"分而治之" 如果一个数列所有的元素都小于另一个数列的任意元素,那么如果将两个数列排列好,就非常容易合并. 最重要的就是找一个基准(pivot),将数列分裂成比它大的部分,和比它小的部分. 这个pivot数值最好是中间,每次递归,都能化为两个规模类似的问题. 这里采用中值法,第一个, 阅读全文
posted @ 2021-12-19 20:24 liuyangeng 阅读(384) 评论(0) 推荐(0)
摘要: 归并排序的策略是建立在对两个有序数列合并的基础上的: 先看看怎样对两个有序的数列合并:(left~center有序,center+1~rightEnd有序) 主要采用双游标法: private static void MergeSorted(int[] nums,int left,int cente 阅读全文
posted @ 2021-12-19 20:01 liuyangeng 阅读(116) 评论(0) 推荐(0)
摘要: 整体思路:利用堆的数据结构,每次都从中取出根节点,完成整体排序. 1堆的数据结构: 特点是,根是一棵完全二叉树,上边根节点的值要大于其左右子树所有节点, 其最重要的特征是:从根到叶的任一条路径都满足单调性,如果一颗完全二叉树满足这个特性, 那它也是一个堆.也正是依照这个特性,可将一颗形式上的完全二叉 阅读全文
posted @ 2021-12-19 19:30 liuyangeng 阅读(161) 评论(0) 推荐(1)
摘要: 插入排序: 假设待排序集合是桌上的牌,每次抽一张, 手里的牌是有序的,将抽到的牌,插入手中合适的位置, 保证手中的牌一直是有序的.. 具体的是两层循环: 外层循环每次抽一张牌 内层循环是将抽到的牌,从后往前与手中的牌(已排序部分)比较,如果手中的牌大, 则将已经手中的牌后移,反之,就将抽到的牌插入它 阅读全文
posted @ 2021-12-15 18:10 liuyangeng 阅读(55) 评论(0) 推荐(0)