!2348 优化:翻转曲线矩阵命令支持多选

pull/2350/head
林三 1 year ago committed by ChenX
parent 9131fcfc4e
commit 241e843aab

@ -13,25 +13,28 @@ export class Command_FlipZMatrix implements Command
{
async exec()
{
let enRes = await app.Editor.GetEntity({ Filter: { filterTypes: [Arc, Circle, Polyline, Line] } });
let enRes = await app.Editor.GetSelection({ Filter: { filterTypes: [Arc, Circle, Polyline, Line] } });
if (enRes.Status !== PromptStatus.OK) return;
let pl = enRes.Entity as Curve;
let cus = enRes.SelectSet.SelectEntityList as Curve[];
let xAxis = new Vector3();
let yAxis = new Vector3();
let zAxis = new Vector3();
pl.OCSNoClone.extractBasis(xAxis, yAxis, zAxis);
for (let cu of cus)
{
cu.OCSNoClone.extractBasis(xAxis, yAxis, zAxis);
zAxis.multiplyScalar(-1);
let startPoint = pl.StartPoint;
let endPoint = pl.EndPoint;
let startPoint = cu.StartPoint;
let endPoint = cu.EndPoint;
pl.WriteAllObjectRecord();
pl.OCS = new Matrix4().makeBasis(xAxis, yAxis, zAxis).setPosition(pl.Position);
if (pl instanceof Line)
cu.WriteAllObjectRecord();
cu.OCS = new Matrix4().makeBasis(xAxis, yAxis, zAxis).setPosition(cu.Position);
if (cu instanceof Line)
{
pl.StartPoint = startPoint;
pl.EndPoint = endPoint;
cu.StartPoint = startPoint;
cu.EndPoint = endPoint;
}
cu.Update();
}
pl.Update();
}
}

Loading…
Cancel
Save