本人在解析廊道断面时使用了廊道Corridor对象的GetXSCutPoints接口,但发现了以下几个问题:
1.GetXSCutPoints在处理多个平行廊道时(如下图),会将其他廊道的内容也囊括进来,这是正常的吗?那为何该接口要放在Corridor类中?
2.当Template模板通过设置显示规则根据地形自动选择向上放坡or向下放坡时,为何GetXSCutPoints却会得到两者的结果?例如当在桩号K100位置时,假设Template实际建模结果为向下放坡,但GetXSCutPoints却既能得到向下放坡的断面点也能得到向上放坡的点(其中向下放坡的点坐标正确,向上放坡的点不正确)。
3.在Template实际放样建模的过程中,由于步长可大可小,当步长较大时,ORD会通过过渡将两个差异较大的断面放样连接,那么对于过渡位置使用GetXSCutPoints会有那些问题和需要注意的地方呢?
GetXSCutPoints函数主要是获取CorridorSurface(横截面数据)的方法,其中获取的点的信息如下:
double leftWidth = 40.0; double rigthWidth = 50.0; double leftOffset = -leftWidth; XSCutPoint[] points = cor.GetXSCutPoints(station, leftWidth, rightWidth, -leftOffset); if (points != null) { foreach (XSCutPoint pt in points) { //FTR Name: pt.PointName //FTR Defintion Name: pt.PointFeatureName //Offset: pt.Point.X //Elevation: pt.Point.Y //X: pt.PointOnPlan.X //Y: pt.PointOnPlan.Y //Z: pt.PointOnPlan.Z } }
你好,这个方法的使用我是清楚的,题目中的截图都是用结果画出来的。我问的是这个方法在特殊情况下的一些异常表现。
GetXSCutPoints() 本身只是corridor的一个接口,功能是获取指定廊道的横断面所有的点,目前并没有提供参数去设置过滤指定点,也没有提供规则去做判断,如果想达到您要的结果,需要自己计算过滤。