在二次开发时,常常需要比较两个数是否一样大。众所周知,浮点数不能之间用等号或Equal来比较是否相等。通常用这两个数的差的绝对值小于一个公差来判断两个数是否相同。 Revit 内部的认为两个double型数据是否相等的公差是1e-9.
比如 第一层层底=0.0, 层顶高是Height1=18.0英尺,第二层层高为36.0英尺
如果我们在高度为BeamZ上创建水平梁:
如果 BeamZ = 17.999999999, 与第二层层底差的绝对值是1e-9 Revit会认为这个梁在第二层上。偏移值为0
如果BeamZ = 17.999999998,与第二层层底高差绝对值是2e-9,大于Revit公差值, Revit会认为这个梁在第一层上,偏移值为17.99
从外观看没有什么差别。但是属性不同。