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,