From 50c9038c94f95a6ee24a33dd270be856ee6422b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=AF=97=E6=B4=A5?= <2723065175@qq.com> Date: Wed, 22 May 2024 07:26:50 +0000 Subject: [PATCH] =?UTF-8?q?!2771=20=E5=8A=9F=E8=83=BD:=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8D=8A=E5=BE=84=E5=8A=A8=E4=BD=9C=E6=B7=BB=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E9=80=89=E6=A8=A1=E5=BC=8F=E9=80=89=E9=A1=B9(=E5=9C=86?= =?UTF-8?q?=E5=BC=A7,=E5=87=B8=E5=BA=A6,=E9=AB=98=E5=BA=A6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Template/Action/TemplateaRadiusAction.ts | 6 ++++ src/DatabaseServices/Template/TempateUtils.ts | 6 ++-- .../Template/TemplateActionDiglog.tsx | 29 +++++++++++++++++-- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/DatabaseServices/Template/Action/TemplateaRadiusAction.ts b/src/DatabaseServices/Template/Action/TemplateaRadiusAction.ts index 90484fb96..918109cf0 100644 --- a/src/DatabaseServices/Template/Action/TemplateaRadiusAction.ts +++ b/src/DatabaseServices/Template/Action/TemplateaRadiusAction.ts @@ -37,6 +37,12 @@ export class TemplateaRadiusAction extends TemplateFilletAction @AutoRecord IsBigArc = false;//是大圆弧(仅在半径模式下生效) @AutoRecord RadiusType = TempalteActionRadiusType.Radius;//半径类型 + constructor(radiusType: TempalteActionRadiusType) + { + super(); + this.RadiusType = radiusType; + } + //修改半径(这里不是倒角了) protected override Fillet(br: ExtrudeSolid | I2DModeling, newValue: number, d: { ArcParams: number[]; }) { diff --git a/src/DatabaseServices/Template/TempateUtils.ts b/src/DatabaseServices/Template/TempateUtils.ts index e5461a986..71f53c3c3 100644 --- a/src/DatabaseServices/Template/TempateUtils.ts +++ b/src/DatabaseServices/Template/TempateUtils.ts @@ -48,7 +48,7 @@ import { IGrooveFillet, TemplateFilletAction } from "./Action/TemplateFilletActi import { TemplateMoveAction } from "./Action/TemplateMoveAction"; import { TemplateStretchGripAction } from "./Action/TemplateStretchGripAction"; import { TemplateStretchScaleBoxAction } from "./Action/TemplateStretchScaleBoxAction"; -import { TemplateaRadiusAction } from "./Action/TemplateaRadiusAction"; +import { TempalteActionRadiusType, TemplateaRadiusAction } from "./Action/TemplateaRadiusAction"; import { PositioningClampSpace } from './Positioning/PositioningClampSpace'; import { PositioningTemporary } from "./Positioning/PositioningTemporary"; import { TemplateVisualSpace } from "./ProgramTempate/TemplateVisualSpace"; @@ -811,7 +811,7 @@ export enum ArcActionType * @param template * @returns */ -export async function AddFilletAction(template: TemplateRecord, actionType = ArcActionType.Fillet): Promise +export async function AddFilletAction(template: TemplateRecord, actionType = ArcActionType.Fillet, radiusType = TempalteActionRadiusType.Radius): Promise { //模块信息 let brs = GetTempateBoards(template); @@ -882,7 +882,7 @@ export async function AddFilletAction(template: TemplateRecord, actionType = Arc if (brParamMap.size === 0) return; - let action = actionType === ArcActionType.Fillet ? new TemplateFilletAction() : new TemplateaRadiusAction; + let action = actionType === ArcActionType.Fillet ? new TemplateFilletAction() : new TemplateaRadiusAction(radiusType); for (let [br, { parames, grooves, path2D, subGrooves, arcSweepParams }] of brParamMap) { const gs: IGrooveFillet[] = []; diff --git a/src/UI/Components/Template/TemplateActionDiglog.tsx b/src/UI/Components/Template/TemplateActionDiglog.tsx index 38dddaa92..223f075f6 100644 --- a/src/UI/Components/Template/TemplateActionDiglog.tsx +++ b/src/UI/Components/Template/TemplateActionDiglog.tsx @@ -14,6 +14,7 @@ import { ObjectId } from '../../../DatabaseServices/ObjectId'; import { TemplateAction } from '../../../DatabaseServices/Template/Action/TemplateAction'; import { TemplateMaterialAction } from '../../../DatabaseServices/Template/Action/TemplateMaterialAction'; import { TemplateSetSealAction } from '../../../DatabaseServices/Template/Action/TemplateSetSealAction'; +import { TempalteActionRadiusType } from '../../../DatabaseServices/Template/Action/TemplateaRadiusAction'; import { TemplateParam } from '../../../DatabaseServices/Template/Param/TemplateParam'; import { TemplateParamType } from '../../../DatabaseServices/Template/Param/TemplateParamType'; import { AddFilletAction, AddStretchAction, ArcActionType, CheckTempalteParamName } from '../../../DatabaseServices/Template/TempateUtils'; @@ -64,12 +65,19 @@ const MaterialActionOptions = [ { label: "设置材质", value: EEditorActionType.SetMaterial } ]; +const ActionModeOptions = [ + { label: "圆弧模式", value: TempalteActionRadiusType.Radius }, + { label: "凸度模式", value: TempalteActionRadiusType.Bulge }, + { label: "高度模式", value: TempalteActionRadiusType.Height }, +]; + /** * 添加参数 * 添加动作 */ @observer -export class TempalteActionDialog extends React.Component { +export class TempalteActionDialog extends React.Component +{ @observable pararmConfig: ITemplateParam = { name: "", value: "0", @@ -82,6 +90,7 @@ export class TempalteActionDialog extends React.Component { @@ -102,7 +111,6 @@ export class TempalteActionDialog extends React.Component @@ -139,6 +147,21 @@ export class TempalteActionDialog extends React.Component } + { + this.actionType === EEditorActionType.AddRadius && + + }