diff --git a/src/DatabaseServices/CADObject.ts b/src/DatabaseServices/CADObject.ts index aa9fa6e83..b554bbf15 100644 --- a/src/DatabaseServices/CADObject.ts +++ b/src/DatabaseServices/CADObject.ts @@ -29,6 +29,8 @@ export abstract class CADObject //对象被彻底遗弃 GoodBye(): any { + this.Destroy(); + this.Erase(true); } /** diff --git a/src/DatabaseServices/Entity/Entity.ts b/src/DatabaseServices/Entity/Entity.ts index 1a108c543..e00969d19 100644 --- a/src/DatabaseServices/Entity/Entity.ts +++ b/src/DatabaseServices/Entity/Entity.ts @@ -356,6 +356,7 @@ export class Entity extends CADObject GoodBye() { + super.GoodBye(); if (this._drawObject && this._drawObject.parent) this._drawObject.parent.remove(this._drawObject); this.ClearDraw(); diff --git a/src/DatabaseServices/ObjectCollection.ts b/src/DatabaseServices/ObjectCollection.ts index 0094d6489..75c75c730 100644 --- a/src/DatabaseServices/ObjectCollection.ts +++ b/src/DatabaseServices/ObjectCollection.ts @@ -56,9 +56,6 @@ export class ObjectCollection extends CADObject if (index === -1) return; let obj = this.Objects[index]; - obj.Erase(); //TODO: 导致了多余的历史记录 - obj.GoodBye(); - this.Objects.splice(index, 1); let undoRec = this.UndoRecord(); @@ -70,6 +67,7 @@ export class ObjectCollection extends CADObject undoRec.WriteObjectHistoryPath(this, hisRec); } + obj.GoodBye(); } //#region -----------------------------File-----------------------------