今天在写代码的时候使用face.Project这个节点取投影点,实现通过点的修改完成对斜面的附着功能。在之前使用这个节点的时候没有发现问题,今天测试时如果将目标便宜到很低的一个点,是同投影到面节点,最终会造成一个比较大的误差。(如果是自己的节点使用错误,希望能够留言提醒-。-!)。
可以看到两个柱帽偏移的情形,在一个比较大的偏移量下,向上方投影会造成目标的偏移值出现较大的误差。通过几组简单的测试发现距离越大,最终的误差越多。之前调整柱帽是在一个楼板坡度较小而且距离较小的情况下进行测试,没有发现问题。
通过人工测算,斜面情况下,目标据顶面在150mm以内数值调整时准确的。平面数值不影响。
为了得到比较精确的调整,最后采用了射线相交法,通过
public ReferenceIntersector(
ElementFilter filter,
FindReferenceTarget targetType,
View3D view3d
)
可以实现点的精确捕捉,因为我想调整到顶面,所以如果目标在下方想上方投影,需要将顶板厚度考虑进去,射线相交的第一个面为底面,如果不考虑厚度变量,最后会变成紧贴板底。造成错误!
转载请注明出处。