开发:绘制线移除不需要的代码,优化更新逻辑

pull/2870/head
ChenX 3 months ago
parent 214ec4eeb3
commit f9d2f098fd

@ -85,7 +85,6 @@ export class DrawLine implements Command
let ptLast = ptRes.Point; let ptLast = ptRes.Point;
let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan && ptRes.SnapEntity; let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan && ptRes.SnapEntity;
let firstTangeCircle = ptRes.SnapEntity as Circle; let firstTangeCircle = ptRes.SnapEntity as Circle;
let secondSnapModelIsTan = false;
const TempUndo = () => const TempUndo = () =>
{ {
@ -101,13 +100,13 @@ export class DrawLine implements Command
while (true) while (true)
{ {
let line = new Line(ptLast.clone()); let line = new Line(ptLast.clone());
if ((pts.length === 1 && firstSnapModeIsTan) || secondSnapModelIsTan) if (pts.length === 1 && firstSnapModeIsTan)
JigUtils.Draw(line);//我们用这个来代替橡皮筋 JigUtils.Draw(line);//我们用这个来代替橡皮筋
const UpdateEndPt = (p: Vector3, i, snapMode: ObjectSnapMode) => const UpdateEndPt = (p: Vector3, i, snapMode: ObjectSnapMode) =>
{ {
//第一个是圆切点时,实时更新切点 //第一个是圆切点时,实时更新切点
if ((pts.length === 1 && firstSnapModeIsTan) && snapMode !== ObjectSnapMode.Tan) if (pts.length === 1 && firstSnapModeIsTan)
{ {
const cirCenter = firstTangeCircle.Center; const cirCenter = firstTangeCircle.Center;
let circlePointFirst = p.clone().sub(cirCenter); let circlePointFirst = p.clone().sub(cirCenter);
@ -130,7 +129,7 @@ export class DrawLine implements Command
ptRes = await app.Editor.GetPoint({ ptRes = await app.Editor.GetPoint({
Msg: "请输入点2:", Msg: "请输入点2:",
BasePoint: ptLast, BasePoint: ptLast,
AllowDrawRubberBand: !((pts.length === 1 && firstSnapModeIsTan) || secondSnapModelIsTan), AllowDrawRubberBand: !(pts.length === 1 && firstSnapModeIsTan),
AllowNone: true, AllowNone: true,
SupportSnapPoints: pts, SupportSnapPoints: pts,
KeyWordList: [ KeyWordList: [

Loading…
Cancel
Save