diff --git a/src/UI/Components/Board/BoardConfigModal.tsx b/src/UI/Components/Board/BoardConfigModal.tsx index 66d6662f1..be9bb2e34 100644 --- a/src/UI/Components/Board/BoardConfigModal.tsx +++ b/src/UI/Components/Board/BoardConfigModal.tsx @@ -18,13 +18,12 @@ import { ExtrudeSolid } from "../../../DatabaseServices/Entity/Extrude"; import { Line } from "../../../DatabaseServices/Entity/Line"; import { Polyline } from "../../../DatabaseServices/Entity/Polyline"; import { Region } from "../../../DatabaseServices/Entity/Region"; -import { Shape } from "../../../DatabaseServices/Shape"; import { CommandWrap } from "../../../Editor/CommandMachine"; import { JigUtils } from "../../../Editor/JigUtils"; import { SelectBox, SelectType } from "../../../Editor/SelectBox"; import { CreateContours } from "../../../Geometry/CreateContour2"; import { ContourTreeNode } from "../../../Geometry/ExtrudeEdgeGeometry2"; -import { AsVector2, equaln, MoveMatrix } from "../../../Geometry/GeUtils"; +import { AsVector2, equaln, isParallelTo, MoveMatrix } from "../../../Geometry/GeUtils"; import { BoardConfigOption, BoardProcessOption, FaceDirection, IGrooveOption, IUiOption } from '../../Store/BoardInterface'; import { RightPanelStore } from "../../Store/RightPanelStore/RightPanelStore"; import { RightTabId } from "../RightPanel/RightPanel"; @@ -180,7 +179,13 @@ export class BoardConfigModal extends React.Component{ let br = this.props.br; app.Viewer.CameraCtrl.LookAt(br.Normal.negate()); app.Viewer.CameraCtrl.ZoomExtensBox3(br.BoundingBox.expandByScalar(1000)); - app.Editor.UCSMatrix = new Matrix4().extractRotation(br.OCS); + + //#I3CS93 + let ucsMtx = app.Editor.UCSMatrix; + if (isParallelTo(new Vector3().setFromMatrixColumn(ucsMtx, 2), br.Normal)) + app.Editor.UCSMatrix = ucsMtx.setPosition(br.Position); + else + app.Editor.UCSMatrix = new Matrix4().extractRotation(br.OCS); let cu = JigUtils.Draw(br.ContourCurve.Clone().ApplyMatrix(br.OCS)); LastExtractBoardContour.Contour = cu;