diff --git a/FrameCutPageUC.xaml.vb b/FrameCutPageUC.xaml.vb index 6c9f80d..cadc7ef 100644 --- a/FrameCutPageUC.xaml.vb +++ b/FrameCutPageUC.xaml.vb @@ -262,7 +262,10 @@ Public Class FrameCutPageUC ' Ignoro superfici del layer Facet Dim nLayName As String = String.Empty EgtGetName(nLayId, nLayName) - If nLayName = NAME_FACET Then Continue While + If nLayName = NAME_FACET Then + nId = EgtGetNextObjInSelWin() + Continue While + End If ' Se pezzo in tavola Dim bPartInTable As Boolean = (EgtGetParent(nPartId) = m_nRawId) If bPartInTable Then @@ -595,6 +598,8 @@ Public Class FrameCutPageUC ' Assegno nome e direzione a pezzo EgtSetName(nPartId, NAME_FRAME) EgtSetInfo(nPartId, INFO_FRAME_DIR, m_CurrAx) + ' Aggiorno info per superficie/facet + EgtSetInfo(nPartId, INFO_FRAME_SURF, nSurfId) ' Inserisco il pezzo nel grezzo Return InsertPartInRawPart(nPartId) End Function @@ -646,6 +651,17 @@ Public Class FrameCutPageUC ptEnd = ptStart ptStart = ptTmp End If + ' Se linea orizzontale, aggiungo tratti verticali + If b3Box.DimY() < EPS_SMALL Then + ptStart -= 10 * EPS_SMALL * Vector3d.Y_AX() + EgtInvertCurve(nCrvId) + EgtAddCurveCompoLine(nCrvId, ptStart) + EgtInvertCurve(nCrvId) + b3Box.Add(ptStart) + ptEnd -= 10 * EPS_SMALL * Vector3d.Y_AX() + EgtAddCurveCompoLine(nCrvId, ptEnd) + b3Box.Add(ptEnd) + End If ' Se necessario, aggiungo due tratti orizzontali agli estremi Dim vtStart, vtEnd As Vector3d EgtStartVector(nCrvId, vtStart) @@ -655,21 +671,28 @@ Public Class FrameCutPageUC EgtInvertCurve(nCrvId) EgtAddCurveCompoLine(nCrvId, ptStart) EgtInvertCurve(nCrvId) + b3Box.Add(ptStart) End If If ptEnd.x > b3Box.Min().x + EPS_SMALL Or (vtEnd.x > -EPS_SMALL And vtEnd.y > 0) Then ptEnd = New Point3d(b3Box.Min().x - 10 * EPS_SMALL, ptEnd.y, ptEnd.z) EgtAddCurveCompoLine(nCrvId, ptEnd) + b3Box.Add(ptEnd) End If ' Eseguo chiusura (con aggiunta di eventuali tratti verticali) - If ptStart.y > b3Box.Min().y + EPS_SMALL Then + If ptStart.y > b3Box.Min().y + EPS_SMALL Or Math.Abs(vtStart.y) < EPS_SMALL Then + ptStart = New Point3d(ptStart.x, b3Box.Min().y - 10 * EPS_SMALL, ptStart.z) EgtInvertCurve(nCrvId) - EgtAddCurveCompoLine(nCrvId, New Point3d(ptStart.x, b3Box.Min().y - 10 * EPS_SMALL, ptStart.z)) + EgtAddCurveCompoLine(nCrvId, ptStart) EgtInvertCurve(nCrvId) + b3Box.Add(ptStart) End If - If ptEnd.y > b3Box.Min().y + 5 * EPS_SMALL Then - EgtAddCurveCompoLine(nCrvId, New Point3d(ptEnd.x, b3Box.Min().y - 10 * EPS_SMALL, ptEnd.z)) + If ptEnd.y > b3Box.Min().y + EPS_SMALL Or Math.Abs(vtEnd.y) < EPS_SMALL Then + ptEnd = New Point3d(ptEnd.x, b3Box.Min().y - 10 * EPS_SMALL, ptEnd.z) + EgtAddCurveCompoLine(nCrvId, ptEnd) + b3Box.Add(ptEnd) End If EgtCloseCurveCompo(nCrvId) + EgtMergeCurvesInCurveCompo(nCrvId, EPS_SMALL) End If Return True End Function diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index ce08bed..6467760 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -62,5 +62,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + +