OmagCUT :

- correzione per gestione ponticelli per WJ tra pezzi standard e con buchi
- aggiunta possibilità di ponticelli tra pezzi in buchi e contorno del relativo buco.
This commit is contained in:
Dario Sassi
2026-04-22 08:24:48 +02:00
parent 70177a4a0e
commit 6173e1dc15
+9 -8
View File
@@ -277,7 +277,7 @@ Public Class SplitPageUC
' recupero il nome del Layer
EgtGetName(nIdParent, sLayer)
' solo se il nome del layer è quello associato ad un lato esterno allora procedo con l'evidenziazione
If sLayer = NAME_OUTLOOP Then
If sLayer = NAME_OUTLOOP Or sLayer = NAME_INLOOP Then
If (EgtGetType(nIdMy) = GDB_TY.CRV_ARC OrElse EgtGetType(nIdMy) = GDB_TY.CRV_COMPO OrElse EgtGetType(nIdMy) = GDB_TY.CRV_LINE) AndAlso VerifySideIsAcceptable(nIdMy) Then
If m_nIdSelectedSideWJ <> GDB_ID.NULL Or m_nIdSelectedSideWJ = nIdMy Then
EgtDeselectObj(m_nIdSelectedSideWJ)
@@ -371,15 +371,13 @@ Public Class SplitPageUC
End Sub
Private Function VerifyInterference(nIdBridge As Integer) As Boolean
' prima di procedere alla verifica accorco il segmento (solo per sicurezza) 10 * EPS_SMALL
Dim dLen As Double
EgtCurveLength(nIdBridge, dLen)
If dLen > 21 AndAlso Not EgtCurveIsClosed(nIdBridge) Then
' prima di procedere alla verifica accorcio il segmento (solo per sicurezza) 10 * EPS_SMALL
Dim dLen As Double
If EgtCurveLength(nIdBridge, dLen) AndAlso dLen > 21 AndAlso Not EgtCurveIsClosed(nIdBridge) Then
EgtTrimCurveEndAtLen(nIdBridge, dLen - 10 * EPS_SMALL)
EgtTrimCurveStartAtLen(nIdBridge, 10 * EPS_SMALL)
End If
Dim nIdPart As Integer = GDB_ID.NULL
nIdPart = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId)
Dim nIdPart As Integer = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId)
While nIdPart <> GDB_ID.NULL
Dim nIdRegion As Integer = EgtGetFirstNameInGroup(nIdPart, "Region")
Dim nIdSurf As Integer = EgtGetFirstInGroup(nIdRegion)
@@ -389,8 +387,11 @@ Public Class SplitPageUC
If EgtCurveWithRegionClassify(nIdBridge, nIdSurf) <> CREGC.OUT Then
EgtExtendCurveStartByLen(nIdBridge, 10 * EPS_SMALL)
Return False
Else
Exit While
End If
Exit While
Else
nIdSurf = EgtGetNext( nIdSurf)
End If
End While
nIdPart = EgtGetNextPartInRawPart(nIdPart)