From b16a46c5a6e8d42c0828565965fa4a3da734b52b Mon Sep 17 00:00:00 2001 From: DYH <1742647821@qq.com> Date: Sat, 14 Jan 2023 11:38:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8F=AF=E7=A9=BA?= =?UTF-8?q?=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CAD/IFox.CAD.Shared/ExtensionMethod/CurveEx.cs | 2 +- src/CAD/IFox.CAD.Shared/Runtime/IAutoGo.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CAD/IFox.CAD.Shared/ExtensionMethod/CurveEx.cs b/src/CAD/IFox.CAD.Shared/ExtensionMethod/CurveEx.cs index 68b286f..905d38f 100644 --- a/src/CAD/IFox.CAD.Shared/ExtensionMethod/CurveEx.cs +++ b/src/CAD/IFox.CAD.Shared/ExtensionMethod/CurveEx.cs @@ -187,7 +187,7 @@ public static List BreakCurve(this List curves) if (pars1.Count > 0) { var c3ds = gc1.GetSplitCurves(pars1); - if (c3ds.Count > 1) + if (c3ds is not null && c3ds.Count > 1) { foreach (var c3d in c3ds) { diff --git a/src/CAD/IFox.CAD.Shared/Runtime/IAutoGo.cs b/src/CAD/IFox.CAD.Shared/Runtime/IAutoGo.cs index 6eed7e2..3b71d4c 100644 --- a/src/CAD/IFox.CAD.Shared/Runtime/IAutoGo.cs +++ b/src/CAD/IFox.CAD.Shared/Runtime/IAutoGo.cs @@ -132,7 +132,7 @@ public void Initialize() RunFunctions(_InitializeList); } } - catch (System.Exception e) + catch { Debugger.Break(); } -- Gitee From a25fa956b7214f52e041b1ffbba6b3acfbb7b08a Mon Sep 17 00:00:00 2001 From: DYH <1742647821@qq.com> Date: Sat, 14 Jan 2023 12:19:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A9=BA=E9=97=B2?= =?UTF-8?q?=E6=97=B6=E5=A4=84=E7=90=86IdleAction=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs diff --git a/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs b/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs new file mode 100644 index 0000000..7060345 --- /dev/null +++ b/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs @@ -0,0 +1,58 @@ +namespace IFox.CAD; + +/// +/// 空闲执行 +/// by DYH +/// 20230114 +/// +public static class IdleAction +{ + /// + /// 是否已经加载 + /// + private static bool alreadyLoad = false; + /// + /// 委托列表 + /// + private static readonly List actions = new(); + /// + /// 未处理的委托数量 + /// + public static int Count { get { return actions.Count; } } + /// + /// 添加空闲执行委托 + /// + /// 委托 + public static void Add(Action action) + { + actions.Add(action); + if (!alreadyLoad) + { + Acap.Idle -= Acap_Idle; + Acap.Idle += Acap_Idle; + alreadyLoad = true; + } + } + /// + /// 空闲处理事件 + /// + /// Acap + /// 事件参数 + private static void Acap_Idle(object sender, EventArgs e) + { + if (Count == 0) + { + alreadyLoad = false; + Acap.Idle -= Acap_Idle; + return; + } + try + { + actions[0]?.Invoke(); + } + finally + { + actions.RemoveAt(0); + } + } +} -- Gitee From d86fad8716a8bc94271d7579120e637fe0df8955 Mon Sep 17 00:00:00 2001 From: DYH <1742647821@qq.com> Date: Sat, 14 Jan 2023 14:07:23 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A9=BA=E9=97=B2?= =?UTF-8?q?=E6=97=B6=E5=A4=84=E7=90=86IdleAction=E7=B1=BB=E7=9A=84name=20s?= =?UTF-8?q?pace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CAD/IFox.CAD.Shared/IFox.CAD.Shared.projitems | 1 + src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CAD/IFox.CAD.Shared/IFox.CAD.Shared.projitems b/src/CAD/IFox.CAD.Shared/IFox.CAD.Shared.projitems index ecb9c9a..b53f25c 100644 --- a/src/CAD/IFox.CAD.Shared/IFox.CAD.Shared.projitems +++ b/src/CAD/IFox.CAD.Shared/IFox.CAD.Shared.projitems @@ -74,6 +74,7 @@ + diff --git a/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs b/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs index 7060345..6431391 100644 --- a/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs +++ b/src/CAD/IFox.CAD.Shared/Runtime/IdleAction.cs @@ -1,4 +1,4 @@ -namespace IFox.CAD; +namespace IFoxCAD.Cad; /// /// 空闲执行 -- Gitee