开发:优化绘制线时获取捕捉实体

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

@ -3,14 +3,12 @@ import hotkeys from 'hotkeys-js-ext';
import { Vector3 } from 'three'; import { Vector3 } from 'three';
import { app } from '../ApplicationServices/Application'; import { app } from '../ApplicationServices/Application';
import { CircleInternalTangentLines, CircleOuterTangentLines } from '../Common/CurveUtils'; import { CircleInternalTangentLines, CircleOuterTangentLines } from '../Common/CurveUtils';
import { Arc } from '../DatabaseServices/Entity/Arc';
import { Circle } from '../DatabaseServices/Entity/Circle'; import { Circle } from '../DatabaseServices/Entity/Circle';
import { Line } from '../DatabaseServices/Entity/Line'; import { Line } from '../DatabaseServices/Entity/Line';
import { Command } from '../Editor/CommandMachine'; import { Command } from '../Editor/CommandMachine';
import { JigUtils } from '../Editor/JigUtils'; import { JigUtils } from '../Editor/JigUtils';
import { ObjectSnapMode } from '../Editor/ObjectSnapMode'; import { ObjectSnapMode } from '../Editor/ObjectSnapMode';
import { PromptPointResult, PromptStatus } from '../Editor/PromptResult'; import { PromptPointResult, PromptStatus } from '../Editor/PromptResult';
import { SelectPick } from '../Editor/SelectPick';
import { UCSUtils } from '../Editor/UCSRAII'; import { UCSUtils } from '../Editor/UCSRAII';
import { userConfig } from '../Editor/UserConfig'; import { userConfig } from '../Editor/UserConfig';
import { ZeroVec, equalv3 } from '../Geometry/GeUtils'; import { ZeroVec, equalv3 } from '../Geometry/GeUtils';
@ -85,22 +83,10 @@ export class DrawLine implements Command
UCSUtils.SetUCSFromPointRes(ptRes); UCSUtils.SetUCSFromPointRes(ptRes);
let ptLast = ptRes.Point; let ptLast = ptRes.Point;
let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan; let firstSnapModeIsTan = ptRes.SnapMode === ObjectSnapMode.Tan && ptRes.SnapEntity;
let firstTangeCircle = ptRes.SnapEntity as Circle;
let secondSnapModelIsTan = false; let secondSnapModelIsTan = false;
let firstTangeCircle: Circle | Arc;
if (firstSnapModeIsTan)
{
let pick = new SelectPick(app.Viewer, app.Viewer.WorldToScreen(ptRes.Point));
pick.Select(app.Viewer.VisibleObjects, { filterTypes: [Circle, Arc] });
let cirs = pick.SelectEntityList as Circle[];
for (let e of cirs)
{
if (e.PtOnCurve(ptRes.Point))
firstTangeCircle = e;
}
}
const TempUndo = () => const TempUndo = () =>
{ {
if (app.Editor.GetPointServices.IsReady) if (app.Editor.GetPointServices.IsReady)

Loading…
Cancel
Save