优化:FixView删除空文字

pull/2007/MERGE
ChenX 2 years ago
parent 176c889b8e
commit 5009d49cde

@ -2,11 +2,11 @@ import { Intent } from "@blueprintjs/core";
import { Vector3 } from "three";
import { app } from "../../ApplicationServices/Application";
import { Log } from "../../Common/Log";
import { DbText } from "../../DatabaseServices/Text/Text";
import { Command } from "../../Editor/CommandMachine";
import { GetBox } from "../../Geometry/GeUtils";
import { AppToaster } from "../../UI/Components/Toaster";
export class Command_FixView implements Command
{
async exec()
@ -17,14 +17,25 @@ export class Command_FixView implements Command
//将实体错误的矩阵恢复
for (let e of app.Database.ModelSpace.Entitys)
{
if (e instanceof DbText && !e.TextString.trim())
{
Log("空文字被删除!");
e.Erase();
continue;
}
let isFix = false;
for (let i = 0; i < e.OCSNoClone.elements.length; i++)
{
let v = e.OCSNoClone.elements[i];
if (v !== (v || 0))//使用|| 而不是 ?? 因为 || 能转 NaN
{
e.OCSNoClone.elements[i] = 0;
// e.OCSNoClone.elements[i] = 0; //这个会导致全部为0
e.WriteAllObjectRecord();
e.OCSNoClone.identity();
e.Update();
isFix = true;
break;
}
}
if (isFix) e.Update();
@ -34,6 +45,7 @@ export class Command_FixView implements Command
box.getSize(size);
if (isNaN(size.x) || isNaN(size.y) || isNaN(size.z))
{
e.WriteAllObjectRecord();
e.OCSNoClone.identity();
e.Update();
isFix = true;

@ -330,3 +330,6 @@ export class Text extends Entity
}
//#endregion-----------------------------File End-----------------------------
}
export const DbText = Text;

Loading…
Cancel
Save