From 736b6ff2f833615ecf5348f304b06ef0e77f8a11 Mon Sep 17 00:00:00 2001 From: facat Date: Thu, 21 May 2020 09:09:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=9C=80=E5=90=8E=E4=B8=80=E6=AC=A1=E5=A1=94=E4=BD=8D?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: facat --- PutTowerPosition/cmd.cs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/PutTowerPosition/cmd.cs b/PutTowerPosition/cmd.cs index 876bafb..da3db12 100644 --- a/PutTowerPosition/cmd.cs +++ b/PutTowerPosition/cmd.cs @@ -41,9 +41,21 @@ namespace PutTowerPosition public string towerName; } + struct Tower + { + public ObjectId point; + public ObjectId name; + } + + private static List latestTowerList = null;//记录最近一次加点的ID。 + [CommandMethod("ptp", CommandFlags.Session)] public static void PutTowerPositionCmd() { + if (latestTowerList == null) + { + latestTowerList = new List(); + } Gui gui = new Gui(); gui.Show(); } @@ -74,7 +86,19 @@ namespace PutTowerPosition acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; - + //先删除最后一次的塔位 + if (latestTowerList != null) + { + foreach(Tower tower in latestTowerList) + { + DBText latestTowerName = acTrans.GetObject(tower.name, OpenMode.ForWrite) as DBText; + DBPoint latestTowerPoint = acTrans.GetObject(tower.point, OpenMode.ForWrite) as DBPoint; + latestTowerName.Erase(); + latestTowerPoint.Erase(); + } + latestTowerList.Clear(); + + } Position[] cordinationList = calTowerXYPostion(cordDic, spanList); foreach (Position point in cordinationList) { @@ -92,6 +116,10 @@ namespace PutTowerPosition dbTowerName.Height = 40; acBlkTblRec.AppendEntity(dbTowerName); acTrans.AddNewlyCreatedDBObject(dbTowerName,true); + Tower latestTower; + latestTower.name = dbTowerName.ObjectId; + latestTower.point = dbPoint.ObjectId; + latestTowerList.Add(latestTower); } acTrans.Commit(); }