From 48aee962f4fc69fd563362ffdafba58296cd1660 Mon Sep 17 00:00:00 2001 From: yupeng_dyp Date: Thu, 12 Sep 2024 09:16:46 +0000 Subject: [PATCH] =?UTF-8?q?update=20src/CAD/IFox.CAD.Shared/ExtensionMetho?= =?UTF-8?q?d/=E6=96=B0=E5=BB=BA=E5=A1=AB=E5=85=85/HatchEx.cs.=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=90=8E=E5=8F=B0=E5=BC=80=E5=9B=BE=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84=E8=BE=B9=E7=95=8C=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=97=B6=E6=8A=A5=20eWrongdatabase?= =?UTF-8?q?=20=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yupeng_dyp --- .../HatchEx.cs" | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git "a/src/CAD/IFox.CAD.Shared/ExtensionMethod/\346\226\260\345\273\272\345\241\253\345\205\205/HatchEx.cs" "b/src/CAD/IFox.CAD.Shared/ExtensionMethod/\346\226\260\345\273\272\345\241\253\345\205\205/HatchEx.cs" index 63c67f4..b70a773 100644 --- "a/src/CAD/IFox.CAD.Shared/ExtensionMethod/\346\226\260\345\273\272\345\241\253\345\205\205/HatchEx.cs" +++ "b/src/CAD/IFox.CAD.Shared/ExtensionMethod/\346\226\260\345\273\272\345\241\253\345\205\205/HatchEx.cs" @@ -79,7 +79,7 @@ public static List CreateBoundarys(this Hatch hatch) if (loop.IsPolyline) { // 边界是多段线 - HatchLoopIsPolyline(loop, objColl); + HatchLoopIsPolyline(hatch.Database, loop, objColl); isCurve2d = false; } else @@ -99,7 +99,7 @@ public static List CreateBoundarys(this Hatch hatch) // 边界是曲线 if (isCurve2d) - HatchLoopIsCurve2d(loop, objColl); + HatchLoopIsCurve2d(hatch.Database, loop, objColl); listDbObjColl.Add(objColl); }; @@ -172,9 +172,10 @@ public static void ResetBoundarys(this Hatch hatch, List bou /// /// 处理边界多段线 /// + /// 填充所在数据库 /// 填充边界 /// 收集边界图元 - private static void HatchLoopIsPolyline(HatchLoop loop, DBObjectCollection objColl) + private static void HatchLoopIsPolyline(Database database, HatchLoop loop, DBObjectCollection objColl) { // 判断为圆形: // 上下两个圆弧,然后填充,就会生成此种填充 @@ -192,7 +193,7 @@ private static void HatchLoopIsPolyline(HatchLoop loop, DBObjectCollection objCo // 遍历多段线信息 var bvc = loop.Polyline; var pl = new Polyline(); - pl.SetDatabaseDefaults(); + pl.SetDatabaseDefaults(database); // 若不传参后台开图修改添加至数据库时会报 eWrongDatabase 错误;或可不要这句 for (int j = 0; j < bvc.Count; j++) { var bvw = new BulgeVertexWidth(bvc[j]); @@ -245,9 +246,10 @@ private static void HatchLoopIsPolyline(HatchLoop loop, DBObjectCollection objCo /// /// 处理边界曲线 /// + /// 填充所在数据库 /// 填充边界 /// 收集边界图元 - private static void HatchLoopIsCurve2d(HatchLoop loop, DBObjectCollection objColl) + private static void HatchLoopIsCurve2d(Database database, HatchLoop loop, DBObjectCollection objColl) { int pLineCount = 0; //记录多段线数量 int curveIsClosed = 0; // 取每一段曲线,曲线可能是直线来的,但是圆弧会按照顶点来分段 @@ -348,7 +350,7 @@ private static void HatchLoopIsCurve2d(HatchLoop loop, DBObjectCollection objCol { if (bvws.Count == 0) return; var pl = new Polyline(); - pl.SetDatabaseDefaults(); + pl.SetDatabaseDefaults(database); // 若不传参后台开图修改添加至数据库时会报 eWrongDatabase 错误;或可不要这句 for (int j = 0; j < bvws.Count; j++) pl.AddVertexAt(j, bvws[j].Vertex, bvws[j].Bulge, bvws[j].StartWidth, bvws[j].EndWidth); objColl.Add(pl); -- Gitee