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:
+28
-5
@@ -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
|
||||
|
||||
@@ -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")>
|
||||
|
||||
Reference in New Issue
Block a user