diff --git a/FrameCutPageUC.xaml.vb b/FrameCutPageUC.xaml.vb index b936f51..84c018b 100644 --- a/FrameCutPageUC.xaml.vb +++ b/FrameCutPageUC.xaml.vb @@ -797,6 +797,9 @@ Public Class FrameCutPageUC ' Recupero ingombro locale della sezione Dim b3Sect As New BBox3d EgtGetBBox(nSectId, GDB_BB.STANDARD, b3Sect) + ' Differenza in Y sezione tra start e minimo della sezione + Dim ptTmp As Point3d : EgtStartPoint(nSectId, nSectLayId, ptTmp) + Dim dDiffY = ptTmp.y - b3Sect.Min().y ' Porto la sezione nel piano YZ EgtChangeGroupFrame(nSectLayId, New Frame3d(Point3d.ORIG(), Frame3d.TYPE.LEFT)) ' Recupero o creo layer per la linea guida @@ -810,6 +813,7 @@ Public Class FrameCutPageUC EgtSetColor(nGuideLayId, COL_FRAME()) ' Creo la curva guida (per ora arco) Dim ptStart As Point3d : EgtStartPoint(nSectId, nGuideLayId, ptStart) + ptStart.z -= dDiffY Dim dExtRad As Double = 0 : StringToLen(ArcRadTxBx.Text, dExtRad) Dim dRad As Double = dExtRad - b3Sect.DimX() If dRad < 10 * EPS_SMALL Then @@ -820,7 +824,7 @@ Public Class FrameCutPageUC If dAngCenDeg > 360 Then dAngCenDeg = 360 Dim dAngIniDeg As Double = If(dAngCenDeg < 180, -90 - dAngCenDeg / 2, -dAngCenDeg) Dim ptCen As Point3d = ptStart - Vector3d.FromPolar(dRad, dAngIniDeg) - Dim nGuideId As Integer = EgtCreateArc(nGuideLayId, ptCen, dRad, dAngIniDeg, dAngCenDeg, 0) + Dim nGuideId As Integer = EgtCreateArc(nGuideLayId, ptCen, dExtRad, dAngIniDeg, dAngCenDeg, 0) ' Recupero o creo layer per la superficie Dim nSurfLayId As Integer = EgtGetFirstNameInGroup(nPartId, NAME_SURF) If nSurfLayId = GDB_ID.NULL Then