OmagCUT 1.9i3 :

- corretta selezione faccia per taglio singolo in cornici
- corretta creazione cornice da singola linea orizzontale o da L.
This commit is contained in:
Dario Sassi
2018-09-19 14:22:49 +00:00
parent 9f9a228156
commit 9ca444f91e
2 changed files with 30 additions and 7 deletions
+28 -5
View File
@@ -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
+2 -2
View File
@@ -62,5 +62,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.9.9.2")>
<Assembly: AssemblyFileVersion("1.9.9.2")>
<Assembly: AssemblyVersion("1.9.9.3")>
<Assembly: AssemblyFileVersion("1.9.9.3")>