From a2a840ebdd82df22f96a2df27427eba3e149e322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=89?= <940119273@qq.com> Date: Thu, 30 Nov 2023 07:52:10 +0000 Subject: [PATCH] =?UTF-8?q?!2490=20=E4=BF=AE=E5=A4=8D:=E5=9C=86=E5=BC=A7?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E5=88=80=E8=B7=AF=E9=94=99=E8=AF=AF=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DatabaseServices/Entity/Board.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/DatabaseServices/Entity/Board.ts b/src/DatabaseServices/Entity/Board.ts index 01b9af42f..2d7639aa3 100644 --- a/src/DatabaseServices/Entity/Board.ts +++ b/src/DatabaseServices/Entity/Board.ts @@ -1567,9 +1567,11 @@ export class Board extends ExtrudeSolid let mt4 = new Matrix4().setPosition(cu.Radius, 0, 0); let arcKnifeGeom = geom2.transform(mt4.elements as Mat4, knifeGeom); let rotateGeom = extrudeRotate({ segments: GetArcDrawCount(cu.Radius), angle: cu.AllAngle }, arcKnifeGeom); + //圆弧的旋转分量 + let extractRotation = new Matrix4().extractRotation(cu.OCS); rotateGeom = retessellate(rotateGeom); //放置Geom - let rotateMat = new Matrix4().makeRotationZ(cu.IsClockWise ? cu.EndAngle : cu.StartAngle).setPosition(cu.Position); + let rotateMat = new Matrix4().makeRotationZ(cu.IsClockWise ? cu.EndAngle : cu.StartAngle).setPosition(cu.Position).multiply(extractRotation); rotateGeom = transform(rotateMat.elements as Mat4, rotateGeom); geom3s.push(rotateGeom); //端点部分