From a3ae58ebcc8d589dacfb731b4c4c7c1ec5743984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=89?= <940119273@qq.com> Date: Mon, 10 Oct 2022 07:18:20 +0000 Subject: [PATCH] =?UTF-8?q?!2009=20=E4=BF=AE=E5=A4=8D:=E5=B1=82=E6=9D=BF?= =?UTF-8?q?=E9=92=89=E6=95=B0=E9=87=8F=E8=A2=AB=E8=A6=86=E7=9B=96=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/ActivityLayerBoard.ts | 1 - src/Add-on/DrawBoard/ActivityLayerBoardTool.ts | 17 +++++++++-------- src/UI/Components/Modal/ActivityLayerBoard.tsx | 1 - src/UI/Store/ActivityLayerBoardStore.ts | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Add-on/ActivityLayerBoard.ts b/src/Add-on/ActivityLayerBoard.ts index e59b455cc..ebf427cd9 100644 --- a/src/Add-on/ActivityLayerBoard.ts +++ b/src/Add-on/ActivityLayerBoard.ts @@ -41,7 +41,6 @@ export class ActicityLayerBoard implements Command let rules = store.rules; if (rules.length === 0) { - nailOption.count = 0; Log("错误:层板钉数量为空"); } diff --git a/src/Add-on/DrawBoard/ActivityLayerBoardTool.ts b/src/Add-on/DrawBoard/ActivityLayerBoardTool.ts index 4b0469949..90af12239 100644 --- a/src/Add-on/DrawBoard/ActivityLayerBoardTool.ts +++ b/src/Add-on/DrawBoard/ActivityLayerBoardTool.ts @@ -124,27 +124,26 @@ class ActivityLayerBoardTool } return 0; } - private BuildNails(initNail: CylinderHole, nailOpt: LayerNailOption, face: Face, fYVec: Vector3) + private BuildNails(initNail: CylinderHole, nailOpt: LayerNailOption, face: Face, fYVec: Vector3, nailCount: number) { let fXVec = new Vector3().setFromMatrixColumn(face.OCS, 0); let addCount = nailOpt.addCount; - let count = nailOpt.count; let dist = nailOpt.dist; let frontDist = nailOpt.front; let backDist = nailOpt.behind; let singleDist: number; //绘制数量为1时,层板钉在中间位置 - if (count === 1) + if (nailCount === 1) singleDist = face.Length / 2 - frontDist; else - singleDist = (face.Length - frontDist - backDist) / (count - 1); + singleDist = (face.Length - frontDist - backDist) / (nailCount - 1); let buildNails: CylinderHole[] = []; //构建层板钉 - for (let i = 0; i < count; i++) + for (let i = 0; i < nailCount; i++) { - if (count === 1) + if (nailCount === 1) { initNail.ApplyMatrix(MoveMatrix(fXVec.multiplyScalar(singleDist))); buildNails.push(initNail); @@ -256,12 +255,14 @@ class ActivityLayerBoardTool nail.Position = nail.Position.add(new Vector3(xDist, yDist, zDist)); nail.ApplyMatrix(zRoMat).ApplyMatrix(face.OCS); + //层板钉数 + let nailCount = nailOption.count; if (option || this.NailRules) - nailOption.count = this.GetRuleCount(face.Length, rules); + nailCount = this.GetRuleCount(face.Length, rules); let yVec = new Vector3().setFromMatrixColumn(otherBoard.OCS, 1); - let nails = this.BuildNails(nail, nailOption, face, yVec); + let nails = this.BuildNails(nail, nailOption, face, yVec, nailCount); for (let nail of nails) nailBoardMap.set(nail, otherBoard); allNails.push(...nails); diff --git a/src/UI/Components/Modal/ActivityLayerBoard.tsx b/src/UI/Components/Modal/ActivityLayerBoard.tsx index f20e0ee44..3b4f3e51e 100644 --- a/src/UI/Components/Modal/ActivityLayerBoard.tsx +++ b/src/UI/Components/Modal/ActivityLayerBoard.tsx @@ -153,7 +153,6 @@ export class ActivityLayerBoard extends React.Component */} isLREqual: true, isFBEqual: true, }; - @observable nailOption: LayerNailOption = { ...DefaultNailOption, count: 0, }; + @observable nailOption: LayerNailOption = { ...DefaultNailOption }; @observable private uiNailOption: IUiOption; @observable currentRule: INailRule = { startDist: 0,