Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj.user | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapUI/Map/MapViewer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapUI/WindowsForm/ResultForm.Designer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapUI/WindowsForm/ResultForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Hydraulic/Hydro.MapView/MapViewNetWork.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj.user
@@ -34,6 +34,9 @@ <Compile Update="WindowsForm\propertyform.cs"> <SubType>UserControl</SubType> </Compile> <Compile Update="WindowsForm\ResultForm.cs"> <SubType>Form</SubType> </Compile> <Compile Update="WindowsForm\模æ¿ç®¡ç.cs"> <SubType>Form</SubType> </Compile> Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs
@@ -609,8 +609,8 @@ this.btn_æ°´éååé .ImageTransparentColor = System.Drawing.Color.Magenta; this.btn_æ°´éååé .Name = "btn_æ°´éååé "; this.btn_æ°´éååé .Size = new System.Drawing.Size(64, 22); this.btn_æ°´éååé .Text = "ååé "; this.btn_æ°´éååé .Click += new System.EventHandler(this.btn_ååé _Click); this.btn_æ°´éååé .Text = "æææ£æ¥"; this.btn_æ°´éååé .Click += new System.EventHandler(this.btn_æææ£æ¥_Click); // // toolStripDropDownButton_å·¥å · // Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs
@@ -1,4 +1,5 @@ using Hydro.MapView; using DevExpress.XtraPrinting.Native; using Hydro.MapView; using Hydro.MapView.Base; using Hydro.MapView.Common; using System; @@ -176,7 +177,7 @@ var p = new List<PointF>(); foreach (var node in area.InnerNodes) { p.Add(WorldPointToMapPoint(node, template.OffSet)); p.Add(CubeWorldPointToMapPoint(node, template.OffSet)); } if (p.Count < 3) continue; pen0.Color = penClosed.Color = area.color; @@ -815,17 +816,18 @@ // æ ¹æ®æè½¬è§åº¦è®¡ç®æè½¬åçåæ private PointF Getå¹³é¢æè½¬Point(PointF p) private PointF Getå¹³é¢æè½¬Point(PointF p, PointF MapC) { PointF center = MapCenter; PointF center = MapC ; double radian = Rotation * Math.PI / 180; // è§åº¦è½¬å¼§åº¦ float x = (float)(Math.Cos(radian) * (p.X - center.X) - Math.Sin(radian) * (p.Y - center.Y) + center.X); float y = (float)(Math.Sin(radian) * (p.X - center.X) + Math.Cos(radian) * (p.Y - center.Y) + center.Y); return new PointF(x, y); } private PointF Getå¹³é¢è¿åPoint(PointF p) private PointF Getå¹³é¢è¿åPoint(PointF p, PointF MapC) { PointF center = MapCenter; PointF center = MapC; double radian = -Rotation * Math.PI / 180; // è§åº¦è½¬å¼§åº¦ float x = (float)(Math.Cos(radian) * (p.X - center.X) - Math.Sin(radian) * (p.Y - center.Y) + center.X); float y = (float)(Math.Sin(radian) * (p.X - center.X) + Math.Cos(radian) * (p.Y - center.Y) + center.Y); @@ -834,9 +836,9 @@ private PointF Get俯è§è§æè½¬Point(PointF p, float z) private PointF Get俯è§è§æè½¬Point(PointF p, float z, PointF MapC) { PointF center = MapCenter; PointF center = MapC; double radian_fushi = 俯è§å¼§åº¦; float sin = (float)Math.Sin(radian_fushi); float cos = (float)Math.Cos(radian_fushi); @@ -844,9 +846,9 @@ float y = (float)(sin * (p.Y - center.Y) + center.Y) + cos * z; return new PointF(x, y); } private PointF Get俯è§è§è¿åPoint(PointF p, float z) private PointF Get俯è§è§è¿åPoint(PointF p, float z, PointF MapC) { PointF center = MapCenter; PointF center = MapC; double radian_fushi = 俯è§å¼§åº¦; float sin = (float)Math.Sin(radian_fushi); float cos = (float)Math.Cos(radian_fushi); @@ -875,9 +877,9 @@ if (offset == null) offset = new PointF3D(0, 0, 0); point = new PointF(point.X + offset.X, point.Y + offset.Y); var pointR = Getå¹³é¢æè½¬Point(point); var pointR = Getå¹³é¢æè½¬Point(point, MapCenter); var pointT = Get俯è§è§æè½¬Point(pointR, z + offset.Z); var pointT = Get俯è§è§æè½¬Point(pointR, z + offset.Z, MapCenter); //var n=new PointF((float)pointR.X - Z(z).X, (float)(pointR.Y - Z(z).Y)); return pointT; @@ -893,7 +895,19 @@ if (junction == null) return new PointF(0, 0); p = WorldPointToMapPoint(junction.Position, junction.Elev, offset); return p; } private PointF CubeWorldPointToMapPoint(NodeViewModel junction, PointF3D offset = null) { PointF p; if (junction == null) return new PointF(0, 0); var point = junction.Position; var z = junction.Elev; if (offset == null) offset = new PointF3D(0, 0, 0); point = new PointF(point.X + offset.X, point.Y + offset.Y); var pointR = Getå¹³é¢æè½¬Point(point, new PointF(0, 0)); var pointT = Get俯è§è§æè½¬Point(pointR, z + offset.Z, new PointF(0, 0)); //var n=new PointF((float)pointR.X - Z(z).X, (float)(pointR.Y - Z(z).Y)); return pointT; } private List<PointF> WorldPointToMapPoint(LinkViewModel pipe, PointF3D offset = null) { @@ -992,8 +1006,8 @@ /// <returns></returns> public PointF MapPointToWorldPoint(PointF point, float z = 0) { var pointT = Get俯è§è§è¿åPoint(point, z); pointT = Getå¹³é¢è¿åPoint(pointT); var pointT = Get俯è§è§è¿åPoint(point, z,MapCenter); pointT = Getå¹³é¢è¿åPoint(pointT, MapCenter); //var n=new PointF((float)pointR.X - Z(z).X, (float)(pointR.Y - Z(z).Y)); return pointT; Hydraulic/Hydro.MapUI/Map/MapViewer.cs
@@ -1,5 +1,6 @@ //using CloudWaterNetwork.Magnifier; //using DevExpress.XtraEditors; using DevExpress.XtraEditors.Filtering; using Hydro.CommonBase; using Hydro.Core.Model; using Hydro.Inp; @@ -229,7 +230,7 @@ } TCCube.template.network.Areas.Add(area); } CubeView.Init(TCCube, new DrawDelegate[] { Draw, Draw, DrawBackGroud, DrawH }, new MouseDelegate[] { mapMouseDown, mapMouseMove, mapMouseUp, mapMouseWheel }); CubeView.Init(TCCube, new DrawDelegate[] { Draw, Draw, DrawBackGroud, DrawH }, new MouseDelegate[] { CubeViewMouseDown, CubeViewMouseMove, CubeViewMouseUp, mapMouseWheel }); } @@ -1561,6 +1562,196 @@ private int _lastMouseY; #endregion #region CubeViewé¼ æ äºä»¶ void CubeViewMouseDown(MouseEventArgs e) { base.OnMouseDown(e); _ClickStartPos = new PointF(e.X, e.Y); DragStartPos = ScreenToMap(new PointF(e.X, e.Y)); mousePosition = _MousePosition = ScreenToMap(new PointF(e.X, e.Y)); if (e.Button == MouseButtons.Left && _isInsertingObject) { } else if (e.Button == MouseButtons.Left && _mouseState == MouseState.æ ) { } else if (e.Button == MouseButtons.Left && _mouseState == MouseState.设置åºå¾èå´) { } else if (e.Button == MouseButtons.Right) { RotaStartPos = new PointF(e.X, e.Y); Rotation0 = Rotation; 俯è§è§åº¦_start = RotationF; _lastCursor = this.Cursor; Cursor = Cursors.Hand; mapOption0 = mapOption.Copy(); _isRotating = true; } } void CubeViewMouseMove(MouseEventArgs e) { //base.OnMouseMove(e); bool needInvalidate = false; _MousePosition = ScreenToMap(new PointF(e.X, e.Y)); if (_isRotating) { mousePosition = _MousePosition; bool isä¸åå±å¹ = RotaStartPos.Y >= this.map.Height / 2; if (ModifierKeys != Keys.Alt) Rotation = Rotation0 + ((float)e.X - (float)RotaStartPos.X) * 180 * 2.5 / (float)this.map.Width * (isä¸åå±å¹ ? 1 : 1); if (ModifierKeys != Keys.Shift) RotationF = 俯è§è§åº¦_start + ((float)e.Y - (float)RotaStartPos.Y) * 180 * 2.5 / (float)this.map.Height; if (RotationF > 90) RotationF = 90; if (RotationF < 0) RotationF = 0; needInvalidate = true; } //else /*夿æ¯å¦è§¦ç¢°å°å¯¹è±¡*/ if (_mouseHoverCheckFlag) { _mouseHoverCheckFlag = false; // éåææå¯¹è±¡,æ¾åºèå´å ç对象 PointF clickedPoint = new PointF(e.X, e.Y); //ScreenToMap(new PointF(e.X, e.Y)); var obj = GetObj_by_ScreenPoint(clickedPoint); if (hoveredObjs.Count > 0 && hoveredObjs[0] == obj || hoveredObjs.Count == 0 && obj == null) { //needInvalidate = false; } else { needInvalidate = true; hoveredObjs.ForEach(o => o.Hovered = false); hoveredObjs.Clear(); if (obj != null) { obj.Hovered = true; hoveredObjs.Add(obj); } } } if (needInvalidate) this.SetMapInvalidate(); label_mouse.Text = $"Xï¼{e.X.ToString("0")} Yï¼{e.Y.ToString("0")} [Map]Xï¼{_MousePosition.X.ToString("0.00")} Yï¼{_MousePosition.Y.ToString("0.00")}"; _lastMouseX = e.X; _lastMouseY = e.Y; } void CubeViewMouseUp(MouseEventArgs e) { //BookMark ï¼é¼ æ æ¬èµ·äºä»¶ base.OnMouseUp(e); bool isMouseMoved = Get_dist(_ClickStartPos, new PointF(e.X, e.Y)) > 10; bool isdoubleClick = (DateTime.Now - _lastMouseUp).TotalMilliseconds <= doubleClick_Delay; _lastMouseUp = DateTime.Now; if /*ç¹é*/(!isMouseMoved && _mouseState == MouseState.æ && e.Button == MouseButtons.Left && ModifierKeys == Keys.None) { _isDragging = false; // éåææç¹ï¼æ¾åºæè¿çç¹ PointF clickedPoint = new PointF(e.X, e.Y); //ScreenToMap(new PointF(e.X, e.Y)); var obj = GetObj_by_ScreenPoint(clickedPoint); bool isJunction = obj is NodeViewModel; if (obj != null) { selectedObjs.ForEach(o => o.Selected = false); selectedObjs.Clear(); obj.Selected = true; selectedObjs.Add(obj); if (GlobalObject.PropertyForm != null) GlobalObject.PropertyForm.SetObjs(selectedObjs); _OperaNode = null; SetMapInvalidate(); mousePosition = new PointF(0, 0); } else { //GlobalObject.LockSelect selectedObjs.ForEach(o => o.Selected = false); selectedObjs.Clear(); if (GlobalObject.PropertyForm != null) GlobalObject.PropertyForm.SetObjs(selectedObjs); _OperaNode = null; SetMapInvalidate(); } return; } if (/*å å ç¹é*/!isMouseMoved && _mouseState == MouseState.æ && e.Button == MouseButtons.Left && ModifierKeys == Keys.Control) { _isDragging = false; // éåææç¹ï¼æ¾åºæè¿çç¹ PointF clickedPoint = new PointF(e.X, e.Y); //ScreenToMap(new PointF(e.X, e.Y)); var obj = GetObj_by_ScreenPoint(clickedPoint); bool isJunction = obj is NodeViewModel; if (obj != null) { if (selectedObjs.Contains(obj)) { obj.Selected = false; selectedObjs.Remove(obj); if (GlobalObject.PropertyForm != null) GlobalObject.PropertyForm.SetObjs(selectedObjs); SetMapInvalidate(); mousePosition = new PointF(0, 0); } else { obj.Selected = true; selectedObjs.Add(obj); if (GlobalObject.PropertyForm != null) GlobalObject.PropertyForm.SetObjs(selectedObjs); SetMapInvalidate(); mousePosition = new PointF(0, 0); } } return; } if (e.Button == MouseButtons.Right) { if (_isRotating) { _isRotating = false; this.Cursor = _lastCursor; if (recordView) MapObjectExtensions.AddCommand(mapOption, "Map", mapOption0, mapOption); mousePosition = new PointF(0, 0); } } } #endregion #endregion ä¸ãå ¨å± #region äºãå·¥å ·æ @@ -2532,102 +2723,106 @@ } private void btn_ååé _Click(object sender, EventArgs e) private void btn_æææ£æ¥_Click(object sender, EventArgs e) { string result = null; if ((result=_Template.network.CheckValidate())!=null) Dictionary<string,List<string>> result = _Template.network.CheckValidate(); if (result.Count>0) { MessageBox.Show(result); return; //ListBox listBox2 = new ListBox(); //listBox2.Dock = DockStyle.Fill; ////listBox2çitem为ä»ä¹æ¾ç¤ºä¸åºæ¥ï¼ //listBox2.SelectedIndexChanged += (s, e) => //{ // if (listBox2.SelectedIndex >= 0) // { // List<IBaseViewModel> Objs = new List<IBaseViewModel>(); // Objs.AddRange(_Nodes.Select(n=>(NodeViewModel)n)); // Objs.AddRange(_Links.Select(l => (LinkViewModel)l)); // var obj = Objs.Find(o => o.ID == listBox2.SelectedItem.ToString()); // if (obj != null) // { // obj.Selected = true; // selectedObjs.Add((NodeViewModel)obj); // SetMapInvalidate(); // } // } //}; ListBox listBox1 = new ListBox(); listBox1.Dock = DockStyle.Fill; listBox1.Width = 200; listBox1.Height = 400; listBox1.Items.AddRange(result.Keys.ToArray()); listBox1.SelectedIndexChanged += (s, e) => { //listBox2.Items.Clear(); if (listBox1.SelectedIndex >= 0) { var arr=result[listBox1.SelectedItem.ToString()].ToHashSet(); List<IBaseViewModel> Objs = new List<IBaseViewModel>(); Objs.AddRange(_Nodes.Select(n => (NodeViewModel)n)); Objs.AddRange(_Links.Select(l => (LinkViewModel)l)); var nodes = _Nodes.FindAll(o => arr.Contains(o.ID)); var links = _Links.FindAll(o => arr.Contains(o.ID)); //listBox2.Items.AddRange(result[listBox1.SelectedItem.ToString()].ToArray()); selectedObjs.ForEach(obj => obj.Selected = false); selectedObjs.Clear(); nodes.ForEach(obj => { obj.Selected = true; selectedObjs.Add((NodeViewModel)obj); }); links.ForEach(obj => { obj.Selected = true; selectedObjs.Add((LinkViewModel)obj); }); if (GlobalObject.PropertyForm != null) GlobalObject.PropertyForm.SetObjs(selectedObjs); SetMapInvalidate(); } }; Form ResultForm = new Form(); ResultForm.Text = "æææ£æ¥ç»æ"; ResultForm.Width = 300; ResultForm.Height = 400; ResultForm.StartPosition = FormStartPosition.CenterScreen; ResultForm.Controls.Add(listBox1); ResultForm.MinimizeBox = false; ResultForm.MaximizeBox = false; //ResultForm.Controls.Add(listBox2); //listBox2.Invalidate(); ResultForm.Show(); //æ°å»ºä¸ä¸ªçªå£ï¼æ¾ç¤ºæ£æ¥ç»æ //CheckForm checkForm = new CheckForm(); //checkForm.Show(); } List<WaterEquivalentSettings> settings = new List<WaterEquivalentSettings>(); settings.Add(new WaterEquivalentSettings() else { waterEquivalents=new WaterEquivalentTemplate() { ID="1", Name="1", WaterEquivalentCollection=new WaterEquivalentCollection() { new WaterEquivalent() { ID=1008, MinRatedFlow=0.48f, RatedFlow=0.72f, Count=1, }, new WaterEquivalent() { ID=1009, MinRatedFlow=0.88f, RatedFlow=0.96f, Count=2, }, new WaterEquivalent() { ID=1010, MinRatedFlow=1.08f, RatedFlow=1.08f, Count=3, } } }, Meters=new List<string>() { //æä»¥ä¸è§å¾çææ°ç»å°M10ï¼"M1","M2" MessageBox.Show("æææ£æ¥éè¿"); } //if (!string.IsNullOrEmpty(result)) //{ // MessageBox.Show(result); // return; //} "M1","M2","M3","M4","M5","M6","M7","M8","M9","M10","M11","M12","M13","M14","M15","M16", "M17","M18","M19","M20","M21","M22","M23","M24","M25","M26","M27","M28","M29","M30" }, }); settings.Add(new WaterEquivalentSettings() { waterEquivalents = new WaterEquivalentTemplate() { ID = "1", Name = "1", WaterEquivalentCollection = new WaterEquivalentCollection() { new WaterEquivalent() { ID=2008, MinRatedFlow=0.48f, RatedFlow=0.48f, Count=1, }, new WaterEquivalent() { ID=2009, MinRatedFlow=0.12f, RatedFlow=0.12f, Count=5, }, new WaterEquivalent() { ID=2010, MinRatedFlow=0.16f, RatedFlow=0.18f, Count=6, } } }, Meters = new List<string>() { //æä»¥ä¸è§å¾çææ°ç»å°M10ï¼"M1","M2" "M31","M32","M33","M34","M35","M36","M37","M38","M39","M40","M41","M42","M43","M44","M45","M46","M47","M48","M49","M50","M51","M52","M53","M54","M55","M56","M57","M58","M59","M60","M61","M62","M63","M64","M65","M66","M67","M68","M69","M70","M71","M72","M73","M74","M75","M76","M77","M78","M79","M80" }, }); var head=_Network.reservoirs.FirstOrDefault().Head; _Network.WaterDistribution(_Template.FullPath, GlobalPath.configPath + "config_waterDistri.wdb",settings,40, head); } public void toolStripButton_计ç®_Click(object sender, EventArgs e) { //LoadData(); if (_Template==null) { MessageBox.Show("è¯·å æå¼æä»¶"); return; } _Network.Calc(_Template.FullPath, GlobalPath.configPath+ "config_calc.wdb"); } Hydraulic/Hydro.MapUI/WindowsForm/ResultForm.Designer.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ namespace Hydro.MapUI.WindowsForm { partial class ResultForm { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); this.Text = "ResultForm"; } #endregion } } Hydraulic/Hydro.MapUI/WindowsForm/ResultForm.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Hydro.MapUI.WindowsForm { public partial class ResultForm : Form { public ResultForm() { InitializeComponent(); } } } Hydraulic/Hydro.MapView/MapViewNetWork.cs
@@ -1019,46 +1019,65 @@ return list; //return new List<TimePoint>(); } public string CheckValidate() public Dictionary<string, List<string>> CheckValidate() { BuildRelation(); string result = null; Dictionary<string, List<string>> result_dict = new Dictionary<string, List<string>>(); StringBuilder result_sb=new StringBuilder(); //to-do var objs = new List<LinkViewModel>() { Links[0] }; //Links.FindAll(o => o is LinkViewModel).Select(o => o as LinkViewModel).ToList(); var objs = Links.Select(o => o as LinkViewModel).ToList();//new List<LinkViewModel>() { Links[0] }; //Links.FindAll(o => o is LinkViewModel).Select(o => o as LinkViewModel).ToList(); //objs廿éå¤çå ç´ objs = objs.Distinct().ToList(); var visitedNodes = new HashSet<NodeViewModel>(); FindObjs = new HashSet<IBaseViewModel>(); objs.ForEach(o => TraversePipeNetworkALL(o, visitedNodes)); List<string> list_å¤ç«ç¹ = new List<string>(); for(int i=0;i<Nodes.Count;i++) { if (!FindObjs.Contains(Nodes[i])) result_sb .AppendLine($"èç¹{Nodes[i].ID}æ¯å¤ç«ç¹"); if (!FindObjs.Contains(Nodes[i])) { result_sb.AppendLine($"èç¹{Nodes[i].ID}æ¯å¤ç«ç¹"); list_å¤ç«ç¹.Add(Nodes[i].ID); } } if (list_å¤ç«ç¹.Count>0)result_dict.Add("å¤ç«ç¹", list_å¤ç«ç¹); //屿§å¤æ var list_管éè¿æ¥å ³ç³»å¼å¸¸ = new List<string>(); var list_管éé¿åº¦å°äºçäº0 = new List<string>(); var list_ç²ç³ç³»æ°è®¾ç½®é误 = new List<string>(); var list_管å¾è®¾ç½®é误 = new List<string>(); pipes.ForEach(p => { if (p.StartNode == null || p.EndNode == null) { result_sb.AppendLine($"{p.ID}ç®¡éæªè¿æ¥"); result_sb.AppendLine($"{p.ID}管éè¿æ¥å ³ç³»å¼å¸¸"); list_管éè¿æ¥å ³ç³»å¼å¸¸.Add(p.ID); } if (p.Length<=0) { result_sb.AppendLine($"{p.ID}管éé¿åº¦å°äºçäº0"); list_管éé¿åº¦å°äºçäº0.Add(p.ID); } if (p.Roughness<=0.1 || p.Roughness>10000) { result_sb.AppendLine($"{p.ID}ç²ç³ç³»æ°è®¾ç½®é误"); list_ç²ç³ç³»æ°è®¾ç½®é误.Add(p.ID); } if (p.Diameter<=0.1 || p.Diameter>10000) { result_sb.AppendLine($"{p.ID}管å¾è®¾ç½®é误"); list_管å¾è®¾ç½®é误.Add(p.ID); } }); return result_sb.ToString(); if (list_管éè¿æ¥å ³ç³»å¼å¸¸.Count > 0) result_dict.Add("管éè¿æ¥å ³ç³»å¼å¸¸", list_管éè¿æ¥å ³ç³»å¼å¸¸); if (list_管éé¿åº¦å°äºçäº0.Count > 0) result_dict.Add("管éé¿åº¦å°äºçäº0", list_管éé¿åº¦å°äºçäº0); if (list_ç²ç³ç³»æ°è®¾ç½®é误.Count > 0) result_dict.Add("ç²ç³ç³»æ°è®¾ç½®é误", list_ç²ç³ç³»æ°è®¾ç½®é误); if (list_管å¾è®¾ç½®é误.Count > 0) result_dict.Add("管å¾è®¾ç½®é误", list_管å¾è®¾ç½®é误); return result_dict; @@ -1187,7 +1206,8 @@ } if (k2 == list.Count) { throw new Exception($"æªæ¾å°Node[{J.ID}]ç{valueType}"); return; //throw new Exception($"æªæ¾å°Node[{J.ID}]ç{valueType}"); } switch (valueType) { @@ -1228,7 +1248,8 @@ } if (k2 == list.Count) { throw new Exception($"æªæ¾å°Link[{J.ID}]ç{valueType}"); return; //throw new Exception($"æªæ¾å°Link[{J.ID}]ç{valueType}"); } switch (valueType) {