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