diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index 20de78889..7b95e10a3 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -451,6 +451,7 @@ export class SceneEntities { const { modifiedAst } = addStartProfileAtRes await kclManager.updateAst(modifiedAst, false) + this.removeIntersectionPlane() this.scene.remove(draftPointGroup) @@ -683,7 +684,7 @@ export class SceneEntities { }) return nextAst } - setUpDraftSegment = async ( + setupDraftSegment = async ( sketchPathToNode: PathToNode, forward: [number, number, number], up: [number, number, number], @@ -835,10 +836,11 @@ export class SceneEntities { } await kclManager.executeAstMock(modifiedAst) + if (intersectsProfileStart) { sceneInfra.modelingSend({ type: 'CancelSketch' }) } else { - await this.setUpDraftSegment( + await this.setupDraftSegment( sketchPathToNode, forward, up, diff --git a/src/machines/modelingMachine.ts b/src/machines/modelingMachine.ts index 27cf6d342..52b7e94f7 100644 --- a/src/machines/modelingMachine.ts +++ b/src/machines/modelingMachine.ts @@ -773,7 +773,7 @@ export const modelingMachine = setup({ 'set up draft line': ({ context: { sketchDetails } }) => { if (!sketchDetails) return // eslint-disable-next-line @typescript-eslint/no-floating-promises - sceneEntitiesManager.setUpDraftSegment( + sceneEntitiesManager.setupDraftSegment( sketchDetails.sketchPathToNode, sketchDetails.zAxis, sketchDetails.yAxis, @@ -784,7 +784,7 @@ export const modelingMachine = setup({ 'set up draft arc': ({ context: { sketchDetails } }) => { if (!sketchDetails) return // eslint-disable-next-line @typescript-eslint/no-floating-promises - sceneEntitiesManager.setUpDraftSegment( + sceneEntitiesManager.setupDraftSegment( sketchDetails.sketchPathToNode, sketchDetails.zAxis, sketchDetails.yAxis, @@ -872,7 +872,7 @@ export const modelingMachine = setup({ 'set up draft line without teardown': ({ context: { sketchDetails } }) => { if (!sketchDetails) return // eslint-disable-next-line @typescript-eslint/no-floating-promises - sceneEntitiesManager.setUpDraftSegment( + sceneEntitiesManager.setupDraftSegment( sketchDetails.sketchPathToNode, sketchDetails.zAxis, sketchDetails.yAxis,