|
|
|
@ -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;
|
|
|
|
|
//计算最优切线
|
|
|
|
|