[摘要] 开发到最后都是在跟数学打交道,revit作为一款三维建模软件,表达的是各种结构的空间关系,二次开发中自然也包括大量的向量计算。好在
开发到最后都是在跟数学打交道,revit作为一款三维建模软件,表达的是各种结构的空间关系,二次开发中自然也包括大量的向量计算。
好在revit 的api里已经事先提供了很多向量的运算,方便开发人员使用,免得自己写方法。
首先通过帮助文档看一下有哪些向量运算方法:
有了这些方法就可以完成很多事情。
例如:
XYZ vect1 = new XYZ(1, 0, 0); XYZ vect2 = new XYZ(0, 1, 0); XYZ vect3 = vect1.CrossProduct(vect2); //两向量组成面的法向量 XYZ vect4 = vect1.Subtract(vect2); //两向量相减 double angle = vect1.AngleTo(vect2); //两向量的夹角 double aa = vect1.DotProduct(vect2); //两向量点乘 double length = vect1.GetLength(); //向量的长度 XYZ unitVect = vect1.Normalize(); //向量单位化
有了上面这些方法,就可以实现空间向量中的各种计算。