From 5519896469a56e88b9b1d7a4e8d0a236597d372c Mon Sep 17 00:00:00 2001 From: ChenX Date: Tue, 16 Jul 2024 14:24:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91:=E7=94=BB=E7=BA=BF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=9B=B4=E7=A8=B3=E5=81=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/DrawLine.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Add-on/DrawLine.ts b/src/Add-on/DrawLine.ts index 8428033e8..2cb5163c4 100644 --- a/src/Add-on/DrawLine.ts +++ b/src/Add-on/DrawLine.ts @@ -3,6 +3,7 @@ import hotkeys from 'hotkeys-js-ext'; import { Vector3 } from 'three'; import { app } from '../ApplicationServices/Application'; import { CircleInternalTangentLines, CircleOuterTangentLines } from '../Common/CurveUtils'; +import { Arc } from '../DatabaseServices/Entity/Arc'; import { Circle } from '../DatabaseServices/Entity/Circle'; import { Line } from '../DatabaseServices/Entity/Line'; import { Command } from '../Editor/CommandMachine'; @@ -83,7 +84,7 @@ export class DrawLine implements Command UCSUtils.SetUCSFromPointRes(ptRes); let ptLast = ptRes.Point; - let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan && ptRes.SnapEntity; + let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan && (ptRes.SnapEntity instanceof Circle || ptRes.SnapEntity instanceof Arc); let firstTangeCircle = ptRes.SnapEntity as Circle; const TempUndo = () => @@ -143,7 +144,7 @@ export class DrawLine implements Command if (ptRes.Status === PromptStatus.OK) { //第一个是切点 第二个也是选切点 - if (ptRes.SnapMode === ObjectSnapMode.Tan && firstSnapModeIsTan && firstTangeCircle && pts.length === 1 && ptRes.SnapEntity) + if (ptRes.SnapMode === ObjectSnapMode.Tan && firstSnapModeIsTan && pts.length === 1 && (ptRes.SnapEntity instanceof Circle || ptRes.SnapEntity instanceof Arc)) { let secondTangeCircle = ptRes.SnapEntity as Circle; //计算最优切线