老师你好, 请问ORD Bentley.CifNET.LinearGeometry.LinearComplex 的子对象GetSubLinearElements() ,如何能获取子对象LinearElement[i]的对象类型Bentley.CifNET.LinearGeometry.GeometricType

老师你好, 请问ORD Bentley.CifNET.LinearGeometry.LinearComplex 的子对象GetSubLinearElements() ,如何能获取子对象LinearElement[i]的对象类型Bentley.CifNET.LinearGeometry.GeometricType.

1,LinearElement le1 = al.LinearGeometry;
Bentley.CifNET.LinearGeometry.LinearComplex lcompx1 = le1 as Bentley.CifNET.LinearGeometry.LinearComplex;
LinearElement[] larray = lcompx1.GetSubLinearElements();
foreach (LinearElement item in larray)
{


//if (Bentley.CifNET.LinearGeometry.GeometricType.LinearLine == item.) {... }

else
//if (Bentley.CifNET.LinearGeometry.GeometricType.LinearSpriral == item.) {... }

//else{...}
Bentley.CifNET.LinearGeometry.Line eleline1 = item as Bentley.CifNET.LinearGeometry.Line;

}

我想通过判断对象类型,来转换成具体的对象,可找不到LinearElement获取对象类型的api,请问如何获取子对象类型?

2,另外GeometricType 对象里没有圆弧类型 ,  LinearSpriral = 2,LinearClothoid = 3,这两个哪个是缓和曲线类型。

Parents
  • 关于你的第一个问题:

        一般有两种方法

        1.采用C#语言 is 语句判断

        2.通过LinearElement 里的 public CurveVector GetCurveVector(); 然后通过其CurvePrimitiveType类型判断

    关于你第二个问题:

        1.圆弧:我看到的类库里是有圆弧的定义的,如下所示:

    2.缓和曲线: LinearSpriral = 2,LinearClothoid = 3,这两个都是缓和曲线只是公路上用回旋线作为缓和曲线,LinearClothoid表示回旋线。

    补充:

    在ORD的SDK里虽然几何库LinearGeometry 中把各类型的线成为LinearElement 但是这里要注意这个element的含义与MS的element不一样,两者没有直接的关系。

Reply
  • 关于你的第一个问题:

        一般有两种方法

        1.采用C#语言 is 语句判断

        2.通过LinearElement 里的 public CurveVector GetCurveVector(); 然后通过其CurvePrimitiveType类型判断

    关于你第二个问题:

        1.圆弧:我看到的类库里是有圆弧的定义的,如下所示:

    2.缓和曲线: LinearSpriral = 2,LinearClothoid = 3,这两个都是缓和曲线只是公路上用回旋线作为缓和曲线,LinearClothoid表示回旋线。

    补充:

    在ORD的SDK里虽然几何库LinearGeometry 中把各类型的线成为LinearElement 但是这里要注意这个element的含义与MS的element不一样,两者没有直接的关系。

Children
No Data