[ORD C#]求纵断面某点切线角度的API计算数值错误

问题如题。

首先上图为通过界面“土木分析”→“测点分析”功能求得的道路路线曲线段上某点的坡度,为-3.2%,对应的角度即-1.832839506°

下图为通过代码获取的该点的切线角度,为-0.8448665°

通过确认,通过软件原生功能获取的坡度是正确的纵断坡度,代码获取的切线角度为错误的,代码获取切线角度的过程如下:

Alignment align = Alignment.CreateFromElement(new ConsensusConnection(modelRef), eleAlign);//以上代码从属性中拿到路线
    if (align==null || align.ActiveProfile==null)
    {
        continue;
    }      
LinearPoint lPt = align.ActiveProfile.ProfileGeometry.GetPointAtDistanceOffset(360.12931613051035, 0);

该问题在纵断面的圆曲线段会出现,在直线段两种方式获取的坡度是一样的。

麻烦请确定该问题的原因。

【问题补充】:注意看,我的代码实际在360.129桩号处获取的纵断上的点,但实际获取到的点的坐标是356.672456,我想问题是出在这里,请问是怎么回事呢?下图可见我的纵断是从0,0点开始绘制的。

 test纵断切线角度.dgn

Top Replies