diff --git a/src/DatabaseServices/Template/ProgramTempate/TemplateVisualSpace.ts b/src/DatabaseServices/Template/ProgramTempate/TemplateVisualSpace.ts index 8a2caa801..9daa4e2f8 100644 --- a/src/DatabaseServices/Template/ProgramTempate/TemplateVisualSpace.ts +++ b/src/DatabaseServices/Template/ProgramTempate/TemplateVisualSpace.ts @@ -1,9 +1,8 @@ -import { CADFiler } from "../../CADFiler"; -import { TemplateRecord } from "../TemplateRecord"; -import { AutoRecord } from "../../AutoRecord"; import { VisualSpaceBox } from "../../../Editor/VisualSpaceBox"; -import { app } from "../../../ApplicationServices/Application"; +import { AutoRecord } from "../../AutoRecord"; import { Factory } from "../../CADFactory"; +import { CADFiler } from "../../CADFiler"; +import { TemplateRecord } from "../TemplateRecord"; @Factory export class TemplateVisualSpace extends TemplateRecord @@ -18,13 +17,16 @@ export class TemplateVisualSpace extends TemplateRecord protected async Update() { await super.Update(); + if (!this.Db) return;//如果没有绘制到DB空间,那么将不会进行更新(否则绘制失败) + //在这里重建虚拟空间,(未来我们可能会避免自动重建) if (this.Objects.length === 0 || this.Objects[0].Object === undefined) { this.Objects.length = 0; let visualEntity = new VisualSpaceBox(this.LParam.value as number, this.WParam.value as number, this.HParam.value as number); visualEntity.ApplyMatrix(this._CacheSpaceCS); visualEntity.SpaceOCS = this._CacheSpaceCS; - app.Database.ModelSpace.Append(visualEntity); + //这里避免使用app.Database,否则插入图纸后,会错误的在app的图纸里面绘制一个空间,导致程序错误. + this.Db.ModelSpace.Append(visualEntity); this.Objects.push(visualEntity.Id); } let visualEntity = this.Objects[0].Object as VisualSpaceBox;