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); 運行時這句報錯“無效的條目”
uj5u.com熱心網友回復:
ITerraExplorerObject66 obj = (ITerrainDynamicObject66)sgworld.ProjectTree.GetObject(itemid);已經強制轉換了,應改為
ITerrainDynamicObject66 obj = (ITerrainDynamicObject66)sgworld.ProjectTree.GetObject(itemid);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/97701.html
標籤:C#
上一篇:未申明定義報錯
下一篇:聲納圖繪制
