本人在解析廊道断面时使用了廊道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() 总是的把模型中根据规则放样后已经隐藏的点切出来,是不是横断面模板中需要额外配置,还是 GetXSCutPoints() 本身的问题??
GetXSCutPoints() 本身只是corridor的一个接口,功能是获取指定廊道的横断面所有的点,目前并没有提供参数去设置过滤指定点,也没有提供规则去做判断,如果想达到您要的结果,需要自己计算过滤。
GetXSCutPoints() 本身功能就是获取廊道横断面所有点,后面需要自行计算过滤。
是廊道放样后的横断面的点,还是廊道本身的的横断面定义中的点? 比如我横断面模板中定义了组件A,但是在横断面戴帽之后,由于廊道中的显示规则,组件A并不会被生成,但是 GetXSCutPoints() 还是将组件A中的点切出来了。
如果 GetXSCutPoints() 只是提取横断面定义中的所有点,后面自己还要再结合地形去计算这个点是否会生成,那岂不是要自己去重写ORD的横断面放样功能了?