!2009 修复:层板钉数量被覆盖错误

pull/2005/MERGE
林三 2 years ago committed by ChenX
parent 1de9c16ee0
commit a3ae58ebcc

@ -41,7 +41,6 @@ export class ActicityLayerBoard implements Command
let rules = store.rules; let rules = store.rules;
if (rules.length === 0) if (rules.length === 0)
{ {
nailOption.count = 0;
Log("错误:层板钉数量为空"); Log("错误:层板钉数量为空");
} }

@ -124,27 +124,26 @@ class ActivityLayerBoardTool
} }
return 0; 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 fXVec = new Vector3().setFromMatrixColumn(face.OCS, 0);
let addCount = nailOpt.addCount; let addCount = nailOpt.addCount;
let count = nailOpt.count;
let dist = nailOpt.dist; let dist = nailOpt.dist;
let frontDist = nailOpt.front; let frontDist = nailOpt.front;
let backDist = nailOpt.behind; let backDist = nailOpt.behind;
let singleDist: number; let singleDist: number;
//绘制数量为1时,层板钉在中间位置 //绘制数量为1时,层板钉在中间位置
if (count === 1) if (nailCount === 1)
singleDist = face.Length / 2 - frontDist; singleDist = face.Length / 2 - frontDist;
else else
singleDist = (face.Length - frontDist - backDist) / (count - 1); singleDist = (face.Length - frontDist - backDist) / (nailCount - 1);
let buildNails: CylinderHole[] = []; 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))); initNail.ApplyMatrix(MoveMatrix(fXVec.multiplyScalar(singleDist)));
buildNails.push(initNail); buildNails.push(initNail);
@ -256,12 +255,14 @@ class ActivityLayerBoardTool
nail.Position = nail.Position.add(new Vector3(xDist, yDist, zDist)); nail.Position = nail.Position.add(new Vector3(xDist, yDist, zDist));
nail.ApplyMatrix(zRoMat).ApplyMatrix(face.OCS); nail.ApplyMatrix(zRoMat).ApplyMatrix(face.OCS);
//层板钉数
let nailCount = nailOption.count;
if (option || this.NailRules) 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 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) for (let nail of nails)
nailBoardMap.set(nail, otherBoard); nailBoardMap.set(nail, otherBoard);
allNails.push(...nails); allNails.push(...nails);

@ -153,7 +153,6 @@ export class ActivityLayerBoard extends React.Component<IActivityLayerBoardProps
nailOpt.isGroup = !nailOpt.isGroup; nailOpt.isGroup = !nailOpt.isGroup;
}} /> */} }} /> */}
<Checkbox <Checkbox
style={{ marginLeft: 30 }}
checked={nailOpt.isInBack} checked={nailOpt.isInBack}
label="背板绘制层板钉" label="背板绘制层板钉"
disabled={!nailOpt.isDraw} disabled={!nailOpt.isDraw}

@ -19,7 +19,7 @@ export class ActivityLayerBoardStore extends BoardStore<IShinkOption>
isLREqual: true, isLREqual: true,
isFBEqual: true, isFBEqual: true,
}; };
@observable nailOption: LayerNailOption = { ...DefaultNailOption, count: 0, }; @observable nailOption: LayerNailOption = { ...DefaultNailOption };
@observable private uiNailOption: IUiOption<LayerNailOption>; @observable private uiNailOption: IUiOption<LayerNailOption>;
@observable currentRule: INailRule = { @observable currentRule: INailRule = {
startDist: 0, startDist: 0,

Loading…
Cancel
Save