diff --git a/src/Add-on/DrawDim/AutoDimBrs.ts b/src/Add-on/DrawDim/AutoDimBrs.ts index 7cd6f5031..765a4f9ab 100644 --- a/src/Add-on/DrawDim/AutoDimBrs.ts +++ b/src/Add-on/DrawDim/AutoDimBrs.ts @@ -39,6 +39,7 @@ interface DirBrs const DEG90 = 90;//90° export class Command_AutoDimBrs implements Command { + maxThickness: number = 0; async exec() { //选择板件 @@ -55,11 +56,12 @@ export class Command_AutoDimBrs implements Command return; let brs = enRes.SelectSet.SelectEntityList as Board[]; - + this.maxThickness = 0; //原数据转二维数组[[br0],[br1],[br2],[br3],[br4]...],并记录每组的Box let brBoxs: Box3[] = []; let brGroups: Board[][] = brs.map(item => { + this.maxThickness = Math.max(this.maxThickness, item.Thickness); brBoxs.push(item.BoundingBox); return [item]; }); @@ -178,7 +180,7 @@ export class Command_AutoDimBrs implements Command let ocs = new Matrix4().makeBasis(xv.normalize(), yv.negate().normalize(), zv.normalize()); ocs.setPosition(l.StartPoint); - let cuObb = new OBB(ocs, new Vector3(l.Length, 20, 20).multiplyScalar(0.5)); + let cuObb = new OBB(ocs, new Vector3(l.Length, this.maxThickness ?? 20, this.maxThickness ?? 20).multiplyScalar(0.5)); let filterFunc = (b: Board) => { if (!dirBrs[key].includes(b))