!1340 优化:在应用轮廓时,允许输入空格使用上一次提取的轮廓

pull/1340/MERGE
ChenX 4 years ago
parent 41d2e5c451
commit eb8a2379f5

@ -9,7 +9,10 @@ import { ExtrudeSolid, ExtureContour } from "../../DatabaseServices/Entity/Extru
import { Polyline } from "../../DatabaseServices/Entity/Polyline"; import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Region } from "../../DatabaseServices/Entity/Region"; import { Region } from "../../DatabaseServices/Entity/Region";
import { PromptStatus } from "../../Editor/PromptResult"; import { PromptStatus } from "../../Editor/PromptResult";
import { SelectSetBase } from "../../Editor/SelectBase";
import { SelectSet } from "../../Editor/SelectSet";
import { isParallelTo, MoveMatrix } from "../../Geometry/GeUtils"; import { isParallelTo, MoveMatrix } from "../../Geometry/GeUtils";
import { LastExtractBoardContour } from "../../UI/Components/Board/LastExtractBoardContour";
import { Ellipse } from './../../DatabaseServices/Entity/Ellipse'; import { Ellipse } from './../../DatabaseServices/Entity/Ellipse';
import { Spline } from './../../DatabaseServices/Spline'; import { Spline } from './../../DatabaseServices/Spline';
@ -72,15 +75,29 @@ export async function SelectExtrudeContour(selectInside = false, useExtrude = fa
useCurves?: (Curve | Region)[]; useCurves?: (Curve | Region)[];
}> }>
{ {
let Msg = useExtrude ? "请选择(拉伸实体,面域或曲线):" : "请选择(面域或曲线):"; let Msg = useExtrude ? "请选择(拉伸实体,面域或曲线)" : "请选择(面域或曲线)";
let filterTypes = useExtrude ? [Region, ExtrudeSolid, Curve] : [Region, Curve]; let filterTypes = useExtrude ? [Region, ExtrudeSolid, Curve] : [Region, Curve];
let allowNone = LastExtractBoardContour.Contour?.IsErase === false;
if (allowNone) Msg += "<空格使用提取的轮廓>";
Msg += ":";
let ssRes = await app.Editor.GetSelection({ let ssRes = await app.Editor.GetSelection({
Msg, Msg,
Filter: { filterTypes }, Filter: { filterTypes },
AllowNone: allowNone,
Once: true Once: true
}); });
if (ssRes.Status === PromptStatus.None)
{
ssRes.Status = PromptStatus.OK;
ssRes.SelectSet = new SelectSet();
let ss = new SelectSetBase(app.Viewer);
ss._SelectList.add(LastExtractBoardContour.Contour.DrawObject);
ssRes.SelectSet.AddSelect(ss);
}
if (ssRes.Status !== PromptStatus.OK) if (ssRes.Status !== PromptStatus.OK)
return {}; return {};

@ -23,6 +23,7 @@ import { RightPanelStore } from "../../Store/RightPanelStore/RightPanelStore";
import { RightTabId } from "../RightPanel/RightPanel"; import { RightTabId } from "../RightPanel/RightPanel";
import { TempEditor } from './../../../Editor/TempEditor'; import { TempEditor } from './../../../Editor/TempEditor';
import { BoardTypeComponent, ItemName, SetBoardDataBlock } from "./BoardCommon"; import { BoardTypeComponent, ItemName, SetBoardDataBlock } from "./BoardCommon";
import { LastExtractBoardContour } from "./LastExtractBoardContour";
interface BoardConfigProps interface BoardConfigProps
{ {
@ -163,6 +164,7 @@ export class BoardConfigModal extends React.Component<BoardConfigProps, {}>{
app.Editor.UCSMatrix = new Matrix4().extractRotation(br.OCS); app.Editor.UCSMatrix = new Matrix4().extractRotation(br.OCS);
let cu = JigUtils.Draw(br.ContourCurve.Clone().ApplyMatrix(br.OCS)); let cu = JigUtils.Draw(br.ContourCurve.Clone().ApplyMatrix(br.OCS));
LastExtractBoardContour.Contour = cu;
cu.Erase(false); cu.Erase(false);
let moveCus = [cu]; let moveCus = [cu];

@ -0,0 +1,5 @@
import { Curve } from "../../../DatabaseServices/Entity/Curve";
export const LastExtractBoardContour: { Contour: Curve; } = {
Contour: undefined
};
Loading…
Cancel
Save