|
|
|
@ -62,7 +62,9 @@ export class DrawClosingStrip implements Command
|
|
|
|
|
let pos = new Vector3();
|
|
|
|
|
let thickness = opt.thickness;
|
|
|
|
|
let width = opt.width;
|
|
|
|
|
let frontShrink = opt.frontShrink;
|
|
|
|
|
let br: Board;
|
|
|
|
|
let br2: Board; //左右横板以及上竖板会成对绘制收口条
|
|
|
|
|
|
|
|
|
|
//靠上,横板为层板,基点位置为前右上方的点往上移动一个厚度 竖板为背板,基点为前左上方点
|
|
|
|
|
if (opt.boardRelative === BrRelativePos.Top)
|
|
|
|
@ -72,57 +74,74 @@ export class DrawClosingStrip implements Command
|
|
|
|
|
br = Board.CreateBoard(size.x, width, thickness,
|
|
|
|
|
BoardType.Layer);
|
|
|
|
|
|
|
|
|
|
pos.set(max.x, min.y, max.z);
|
|
|
|
|
pos.set(max.x, min.y + frontShrink, max.z);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
br = Board.CreateBoard(width, size.x, thickness,
|
|
|
|
|
BoardType.Behind);
|
|
|
|
|
|
|
|
|
|
pos.set(min.x, min.y + thickness, max.z);
|
|
|
|
|
|
|
|
|
|
br2 = Board.CreateBoard(size.x, width, thickness,
|
|
|
|
|
BoardType.Layer);
|
|
|
|
|
br2.Position = new Vector3(max.x, min.y + frontShrink + thickness, max.z)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
br = Board.CreateBoard(size.z, width, thickness,
|
|
|
|
|
opt.striptype === StripType.H ? BoardType.Behind : BoardType.Vertical);
|
|
|
|
|
//靠左,横板为背板,基点为左下角点往x移动一个宽度,竖板为立板,基点为左下角点
|
|
|
|
|
//靠右,横板基点为右下角点,竖板基点为左下角点右移动一个厚度
|
|
|
|
|
if (opt.striptype === StripType.H)
|
|
|
|
|
{
|
|
|
|
|
br = Board.CreateBoard(size.z, width, thickness, BoardType.Behind);
|
|
|
|
|
br2 = Board.CreateBoard(size.z, width, thickness, BoardType.Vertical);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
br = Board.CreateBoard(size.z, width, thickness, BoardType.Vertical);
|
|
|
|
|
|
|
|
|
|
if (opt.boardRelative === BrRelativePos.Left)
|
|
|
|
|
{
|
|
|
|
|
if (opt.striptype === StripType.H)
|
|
|
|
|
{
|
|
|
|
|
pos.set(min.x - width, min.y + thickness, min.z);
|
|
|
|
|
pos.set(min.x - width, min.y + thickness + frontShrink, min.z);
|
|
|
|
|
br2.Position = min.clone().add(new Vector3(-thickness, frontShrink + thickness));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pos.copy(min.add(new Vector3(-thickness)));
|
|
|
|
|
pos.copy(min.clone().add(new Vector3(-thickness, frontShrink)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (opt.striptype === StripType.H)
|
|
|
|
|
{
|
|
|
|
|
pos.set(max.x, min.y + thickness, min.z);
|
|
|
|
|
pos.set(max.x, min.y + thickness + frontShrink, min.z);
|
|
|
|
|
br2.Position = min.clone().add(new Vector3(0, frontShrink + thickness)).setX(max.x);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pos.copy(min).setX(max.x);
|
|
|
|
|
pos.copy(min.clone().add(new Vector3(0, frontShrink))).setX(max.x);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
br.Name = opt.name;
|
|
|
|
|
br.BoardProcessOption = this.store.m_BoardProcessOption;
|
|
|
|
|
let brs = [br];
|
|
|
|
|
br2 && brs.push(br2);
|
|
|
|
|
|
|
|
|
|
//收口条颜色
|
|
|
|
|
br.ColorIndex = 4;
|
|
|
|
|
br.ApplyMatrix(MoveMatrix(pos));
|
|
|
|
|
br.Position = pos;
|
|
|
|
|
//更新总空间
|
|
|
|
|
totalSpace.union(br.BoundingBox);
|
|
|
|
|
|
|
|
|
|
br.ApplyMatrix(rot);
|
|
|
|
|
app.m_Database.ModelSpace.Append(br);
|
|
|
|
|
for (let b of brs)
|
|
|
|
|
{
|
|
|
|
|
b.Name = opt.name;
|
|
|
|
|
b.BoardProcessOption = this.store.m_BoardProcessOption;
|
|
|
|
|
//收口条颜色
|
|
|
|
|
b.ColorIndex = 4;
|
|
|
|
|
b.ApplyMatrix(rot);
|
|
|
|
|
app.m_Database.ModelSpace.Append(b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.m_Editor.UpdateScreen();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|