OmagCUT 2.1j3 :

- Aumentato il numero di TextBox Numero e Dimensioni nei Tagli Multipli. Da 3x2 si è passati ora a 10x2, con indici e scrollbar.
- Uniformati i metodi CreateMultipleCut, CreateFlatteningCut, CreateGridCut al modello di CreateSingleCut, eliminando Create2PointsMultipleCut, Create2PointsFlatteningCut, Create2PointsGridCut.
- Aggiunta costante MIN_OFFSET al metodo OverlapTxBx_EgtClosed di FlatteningCut
This commit is contained in:
Renzo Lanza
2019-10-11 11:33:48 +00:00
parent d68a61b58d
commit 3b7af73ef2
5 changed files with 291 additions and 205 deletions
+9 -54
View File
@@ -340,7 +340,7 @@ Public Class GridCut
If dLen > EPS_SMALL Then
m_dAngO = dAngOrizzDeg
DirectionTxBx.Text = DoubleToString(m_dAngO - m_MainWindow.m_CurrentMachine.dDeltaC, 2)
Create2PointsGridCut()
CreateGridCut()
' Disegno la macchina nella sua posizione reale
SetMachineInCurrPos()
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = True
@@ -506,56 +506,15 @@ Public Class GridCut
MultiplyCut(nLayerId)
' Creo layer per crocetta di riferimento
Dim nCrossLayerId = EgtCreateGroup(nPartId)
' Aggiungo crocetta
CreateCross(nCrossLayerId, ptStart)
' Calcolo punto di inserimento nel grezzo
Dim ptMin, ptMax As Point3d
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, ptMin, ptMax)
Dim ptIns As Point3d = ptMin + (m_ptTabOri - m_ptRawMin)
ptIns.z = dRawHeight
' Inserisco il pezzo nel grezzo
EgtAddPartToRawPart(nPartId, ptIns, m_MainWindow.m_CurrentProjectPageUC.m_nRawId)
' Inserisco la lavorazione
m_bCutOk = AddMachinings(nPartId) AndAlso UpdateAllMachiningsToolpaths()
EgtSetCurrPhase(1)
' Eventuale eliminazione Home finale
If Not m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome Then
RemoveFinalHome()
' Aggiungo crocetta/e
If m_bPointP1Ok Then
CreateCross(nCrossLayerId, ptStart)
End If
UpdateSimulOkBtn()
Return m_bCutOk
End Function
Private Function Create2PointsGridCut() As Boolean
' Verifico siano definiti punto iniziale punto finale e grezzo
If Not m_bPointP1Ok Or Not m_bPointP2Ok Or Not m_bRawOk Then
m_bCutOk = False
Return False
If m_bPointP2Ok Then
Dim ptEnd As Point3d = m_ptTipP2
ptEnd.z = 0
CreateCross(nCrossLayerId, ptEnd)
End If
' Spessore grezzo
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
' Rimuovo eventuale vecchio pezzo per taglio diretto
EraseDirectCutPart()
' Disattivo eventuali lavorazioni presenti
DeactivateAllMachinings()
' Creo nuovo pezzo per il taglio diretto
Dim nPartId = EgtCreateGroup(GDB_ID.ROOT)
EgtSetName(nPartId, NAME_DIRECTCUT)
' Creo layer di taglio
Dim nLayerId = EgtCreateGroup(nPartId)
EgtSetName(nLayerId, NAME_OUTLOOP)
' Creo il taglio
Dim ptStart As Point3d = m_ptTipP1
Dim ptEnd As Point3d = m_ptTipP2
ptStart.z = 0
ptEnd.z = 0
' Funzione che crea i tagli successivi al primo
MultiplyCut(nLayerId)
' Creo layer per crocette di riferimento
Dim nCrossLayerId = EgtCreateGroup(nPartId)
' Aggiungo crocette
CreateCross(nCrossLayerId, ptStart)
CreateCross(nCrossLayerId, ptEnd)
' Calcolo punto di inserimento nel grezzo
Dim ptMin, ptMax As Point3d
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, ptMin, ptMax)
@@ -651,11 +610,7 @@ Public Class GridCut
Private Sub NumPz1TxBx_EgtClosed(sender As Object, e As EventArgs) Handles NumPzXTxBx.EgtClosed, NumPzYTxBx.EgtClosed, DimPzXTxBx.EgtClosed, DimPzYTxBx.EgtClosed, SideChBx.Click
' Disegno il taglio
If m_bPointP2Ok Then
Create2PointsGridCut()
Else
CreateGridCut()
End If
CreateGridCut()
SetMachineInCurrPos()
EgtDraw()
End Sub