private static void OutputResult(string fileName, AllLayerInfo allInfo) { if (null == allInfo.BaseInfo) { return; } FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); if (allInfo.BaseInfo.Count <= 0) { return; } //用foreach的循环Dictionary的子项时用的是KeyValuePair foreach (KeyValuePair <string, CodeInfo> codeInfo in allInfo.BaseInfo) { sw.Write("--------------------------------------------------------------------\r\n"); sw.Write(codeInfo.Value.ToString()); ColumnLayerInfoArray columnLayerInfo; if (!allInfo.IntersectLayerInfos.TryGetValue(codeInfo.Key, out columnLayerInfo)) { continue; } sw.Write(columnLayerInfo.ToString()); } sw.Flush(); sw.Close(); fs.Close(); }
public static void TestHCHXQueryLib() { HCHXCodeQuery clr1 = new HCHXCodeQuery(); AllLayerInfo idInfo = new AllLayerInfo(); HCHXCodeQueryErrorCode status = clr1.QueryById(ref idInfo, "6782"); OutputResult("D:\\QueryAllResult6782.txt", idInfo); status = clr1.QueryById(ref idInfo, "4358"); OutputResult("D:\\QueryAllResult4358.txt", idInfo); ColumnLayerInfoArray columnLayerInfo = new ColumnLayerInfoArray(); Point3d startPoint = new Point3d(); Point3d endPoint = new Point3d(); startPoint.X = 173928.573996; startPoint.Y = 46617.477392; startPoint.Z = 36875.226081; endPoint.X = 28714.044367; endPoint.Y = 130457.125163; endPoint.Z = -801521.251635; status = clr1.QueryByRay(ref columnLayerInfo, startPoint, endPoint); OutputResult("D:\\QueryAllResultRay.txt", columnLayerInfo); System.Windows.MessageBox.Show("Finished"); }