skyline terra explorer pro C# 动态路线转移 代码 没有错,运行后报错
private void 路线1ToolStripMenuItem_Click(object sender, EventArgs e)
{
int itemid = sgworld.ProjectTree.FindItem("路线1");//找信息树ID
ITerraExplorerObject66 obj = (ITerrainDynamicObject66)sgworld.ProjectTree.GetObject(itemid);//获取线对象
ITerrainPolyline66 line66 = (ITerrainPolyline66)obj;//取线的点串,首先把动态线转为Polyline
ILineString Is = line66.Geometry as ILineString;//转点串
dynamic array = (System.Array)Is.Points.ToArray();//使用Arry接口,存放XYZ值
IRouteWaypoint66 waypoint = (IRouteWaypoint66)sgworld.Creator.CreateRouteWaypoint();
ITerrainDynamicObject66 dyobj = (ITerrainDynamicObject66)sgworld.Creator.CreateDynamicObject(waypoint);//创建一个空对象
for (int i = 0; i < array.Length / 3; i = +1)
{
dyobj.Waypoints.AddWaypoint(sgworld.Creator.CreateRouteWaypoint(
Convert.ToDouble(array[3 * 1]),
Convert.ToDouble(array[3 * 1 + 1]),
Convert.ToDouble(array[3 * 1 + 2]))
);
}
sgworld.Navigate.FlyTo(dyobj);
}
ITerraExplorerObject66 obj = (ITerrainDynamicObject66)sgworld.ProjectTree.GetObject(itemid); 运行时这句报错“无效的条目”