From 4f9d045e7c2881b56fc27ebd07279b6b738e7463 Mon Sep 17 00:00:00 2001 From: yupeng_dyp Date: Thu, 13 Jun 2024 09:15:08 +0000 Subject: [PATCH] =?UTF-8?q?update=20src/CAD/IFox.CAD.Shared/Runtime/DBTran?= =?UTF-8?q?s.cs.=20=E5=A6=82=E6=9E=9C=E4=BC=A0=E5=85=A5=20DBTrans=20?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E7=89=88=E6=9C=AC=E6=98=AF=E9=AB=98?= =?UTF-8?q?=E4=BA=8E=E5=BD=93=E5=89=8DCAD=E7=89=88=E6=9C=AC=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E5=AF=BC=E8=87=B4=20Database.ReadDwgFile()?= =?UTF-8?q?=20=E6=8A=9B=E5=87=BA=20"=E6=9C=AA=E5=AE=9E=E7=8E=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD"=20=E7=9A=84=E9=94=99=E8=AF=AF=EF=BC=8C=E9=82=A3?= =?UTF-8?q?=E4=B9=88=E8=BF=99=E4=B8=AA=E6=97=B6=E5=80=99=E5=B0=B1=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=9C=89=20push=EF=BC=8C=E6=9C=80=E5=90=8E=E5=9C=A8?= =?UTF-8?q?=E5=9B=9E=E6=94=B6=20DDTrans=20=E6=97=B6=E5=AF=BC=E8=87=B4=20po?= =?UTF-8?q?p=20=E9=94=99=E8=AF=AF=EF=BC=8C=E7=BB=88=E8=87=B3CAD=E9=80=80?= =?UTF-8?q?=E5=87=BA=E7=9A=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yupeng_dyp --- src/CAD/IFox.CAD.Shared/Runtime/DBTrans.cs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/CAD/IFox.CAD.Shared/Runtime/DBTrans.cs b/src/CAD/IFox.CAD.Shared/Runtime/DBTrans.cs index b7617b5..3b096de 100644 --- a/src/CAD/IFox.CAD.Shared/Runtime/DBTrans.cs +++ b/src/CAD/IFox.CAD.Shared/Runtime/DBTrans.cs @@ -241,15 +241,26 @@ public DBTrans(string fileName, if (doc is null) { Database = new Database(false, true); - if (Path.GetExtension(_fileName).ToLower().Contains("dxf")) + try + { + if (Path.GetExtension(_fileName).ToLower().Contains("dxf")) + { + Database.DxfIn(_fileName, null); + } + else + { + Database.ReadDwgFile(_fileName, fileOpenMode, true, password); + } + } + catch { - Database.DxfIn(_fileName, null); + IsDisposed = true; // 读取出错造成未能 push, 固这里设为 true + throw new ArgumentException($"文件 [{fileName}] 的格式版本可能高于当前CAD版本,读取错误!"); } - else + finally { - Database.ReadDwgFile(_fileName, fileOpenMode, true, password); + Database.CloseInput(true); } - Database.CloseInput(true); } else { -- Gitee