OmagCUT :
- migliorata gestione sovratavola - import DXF ora setta nomi layer a loop di contorno e interni.
This commit is contained in:
+10
@@ -43,6 +43,9 @@ Module ConstGen
|
||||
' Sottodirettorio di default per le macchine
|
||||
Public Const MACHINES_DFL_DIR As String = "Machines"
|
||||
|
||||
' Delta Z sovratavola per evitare problemi di visualizzazione texture
|
||||
Public Const DELTAZ_ADDTAB As Double = 0.1
|
||||
|
||||
' Nome della superficie del grezzo
|
||||
Public Const NAME_RAW_SOLID As String = "RawSolid"
|
||||
' Nome del contorno di kerf nel grezzo
|
||||
@@ -55,4 +58,11 @@ Module ConstGen
|
||||
' Contrassegno di progetto OmagCut
|
||||
Public Const NAME_PROJMARK As String = "OmagCut"
|
||||
|
||||
' Nome contorni esterni
|
||||
Public Const NAME_OUTLOOP As String = "OutLoop"
|
||||
' Nome contorni interni
|
||||
Public Const NAME_INLOOP As String = "InLoop"
|
||||
' Nome percorsi sul pezzo
|
||||
Public Const NAME_ONPATH As String = "OnPath"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -213,6 +213,7 @@ Public Class CurrentProjectPageUC
|
||||
EgtGetTableArea(1, ptMin, ptMax)
|
||||
' Aggiungo sovratavola nel gruppo dei bloccaggi
|
||||
Const MACH_FIXT_GROUP As String = "Fixt"
|
||||
ptMax.z -= DELTAZ_ADDTAB
|
||||
ptMin.z = ptMax.z
|
||||
ptMax.z += m_dAddTable
|
||||
Dim nMchId As Integer = EgtGetFirstMachGroup()
|
||||
|
||||
+69
-24
@@ -296,31 +296,76 @@ Public Class ImportPageUC
|
||||
End While
|
||||
End Sub
|
||||
|
||||
Private Sub UseLayerBtn_Click(sender As Object, e As RoutedEventArgs) Handles UseLayerBtn.Click
|
||||
' Creo i pezzi
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.LAYER)
|
||||
EgtCreateFlatParts(nType)
|
||||
' Eseguo zoom
|
||||
ImportScene.ZoomAll()
|
||||
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
|
||||
UseLayerBtn.IsEnabled = False
|
||||
UseRegionBtn.IsEnabled = False
|
||||
ResetBtn.IsEnabled = True
|
||||
OkBtn.IsEnabled = True
|
||||
End Sub
|
||||
Private Sub UseLayerBtn_Click(sender As Object, e As RoutedEventArgs) Handles UseLayerBtn.Click
|
||||
' Creo i pezzi
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.LAYER)
|
||||
EgtCreateFlatParts(nType)
|
||||
AdjustFlatParts()
|
||||
' Eseguo zoom
|
||||
ImportScene.ZoomAll()
|
||||
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
|
||||
UseLayerBtn.IsEnabled = False
|
||||
UseRegionBtn.IsEnabled = False
|
||||
ResetBtn.IsEnabled = True
|
||||
OkBtn.IsEnabled = True
|
||||
End Sub
|
||||
|
||||
Private Sub UseRegionBtn_Click(sender As Object, e As RoutedEventArgs) Handles UseRegionBtn.Click
|
||||
' Creo i pezzi
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
|
||||
EgtCreateFlatParts(nType)
|
||||
' Eseguo zoom
|
||||
ImportScene.ZoomAll()
|
||||
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
|
||||
UseLayerBtn.IsEnabled = False
|
||||
UseRegionBtn.IsEnabled = False
|
||||
ResetBtn.IsEnabled = True
|
||||
OkBtn.IsEnabled = True
|
||||
End Sub
|
||||
Private Sub UseRegionBtn_Click(sender As Object, e As RoutedEventArgs) Handles UseRegionBtn.Click
|
||||
' Creo i pezzi
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
|
||||
EgtCreateFlatParts(nType)
|
||||
AdjustFlatParts()
|
||||
' Eseguo zoom
|
||||
ImportScene.ZoomAll()
|
||||
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
|
||||
UseLayerBtn.IsEnabled = False
|
||||
UseRegionBtn.IsEnabled = False
|
||||
ResetBtn.IsEnabled = True
|
||||
OkBtn.IsEnabled = True
|
||||
End Sub
|
||||
|
||||
Private Sub AdjustFlatParts()
|
||||
' Ciclo sui pezzi
|
||||
Dim nPartId As Integer = EgtGetFirstPart()
|
||||
While nPartId <> GDB_ID.NULL
|
||||
' Ciclo sui layer
|
||||
Dim nLayerId As Integer = EgtGetFirstLayer(nPartId)
|
||||
While nLayerId <> GDB_ID.NULL
|
||||
' Recupero il layer successivo
|
||||
Dim nNextLayerId As Integer = EgtGetNextLayer(nLayerId)
|
||||
' Recupero il nome del layer
|
||||
Dim sLayName As String = String.Empty
|
||||
If EgtGetName(nLayerId, sLayName) Then
|
||||
' Se layer OutLoop o InLoop
|
||||
If String.Compare(sLayName, NAME_OUTLOOP, True) = 0 Or
|
||||
String.Compare(sLayName, NAME_INLOOP, True) = 0 Then
|
||||
' Compatto e poi esplodo le curve composite
|
||||
Dim nId As Integer = EgtGetFirstInGroup(nLayerId)
|
||||
While nId <> GDB_ID.NULL
|
||||
' Recupero successivo
|
||||
Dim nNextId As Integer = EgtGetNext(nId)
|
||||
' Compatto
|
||||
EgtMergeCurvesInCurveCompo(nId, 10 * EPS_SMALL)
|
||||
' Esplodo curva composita
|
||||
If EgtGetType(nId) = GDB_TY.CRV_COMPO Then
|
||||
Dim nCount As Integer
|
||||
EgtExplodeCurveCompo(nId, nCount)
|
||||
End If
|
||||
' Passo all'entità successiva
|
||||
nId = nNextId
|
||||
End While
|
||||
End If
|
||||
' Se senza nome, lo elimino
|
||||
Else
|
||||
EgtErase(nLayerId)
|
||||
End If
|
||||
' Passo al layer successivo
|
||||
nLayerId = nNextLayerId
|
||||
End While
|
||||
' Passo al pezzo successivo
|
||||
nPartId = EgtGetNextPart(nPartId)
|
||||
End While
|
||||
End Sub
|
||||
|
||||
Private Sub ResetBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetBtn.Click
|
||||
' Ricarico file corrente
|
||||
|
||||
@@ -175,7 +175,8 @@ Public Class RawPartPageUC
|
||||
If m_RawWidth - dDelta > MIN_RAW_DIM Then
|
||||
m_RawWidth -= dDelta
|
||||
m_RawOffsY += dDelta
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf, m_RawWidth + 2 * m_RawKerf, m_RawHeight)
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf,
|
||||
m_RawWidth + 2 * m_RawKerf, m_RawHeight - DELTAZ_RAW)
|
||||
UpdateRawPartKerf()
|
||||
Dim vtMove As New Vector3d(0, dDelta, 0)
|
||||
EgtMoveRawPart(m_CurrProjPage.m_nRawId, vtMove)
|
||||
@@ -190,7 +191,8 @@ Public Class RawPartPageUC
|
||||
Dim dDelta = ptCurr.x - m_ptPrev.x
|
||||
If m_RawLength + dDelta > MIN_RAW_DIM Then
|
||||
m_RawLength += dDelta
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf, m_RawWidth + 2 * m_RawKerf, m_RawHeight)
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf,
|
||||
m_RawWidth + 2 * m_RawKerf, m_RawHeight - DELTAZ_RAW)
|
||||
UpdateRawPartKerf()
|
||||
EgtDraw()
|
||||
m_bShowVar = True
|
||||
@@ -202,7 +204,8 @@ Public Class RawPartPageUC
|
||||
Dim dDelta = ptCurr.y - m_ptPrev.y
|
||||
If m_RawWidth + dDelta > MIN_RAW_DIM Then
|
||||
m_RawWidth += dDelta
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf, m_RawWidth + 2 * m_RawKerf, m_RawHeight)
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf,
|
||||
m_RawWidth + 2 * m_RawKerf, m_RawHeight - DELTAZ_RAW)
|
||||
UpdateRawPartKerf()
|
||||
EgtDraw()
|
||||
m_bShowVar = True
|
||||
@@ -215,7 +218,8 @@ Public Class RawPartPageUC
|
||||
If m_RawLength - dDelta > MIN_RAW_DIM Then
|
||||
m_RawLength -= dDelta
|
||||
m_RawOffsX += dDelta
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf, m_RawWidth + 2 * m_RawKerf, m_RawHeight)
|
||||
EgtModifyRawPartSize(m_CurrProjPage.m_nRawId, m_RawLength + 2 * m_RawKerf,
|
||||
m_RawWidth + 2 * m_RawKerf, m_RawHeight - DELTAZ_RAW)
|
||||
UpdateRawPartKerf()
|
||||
Dim vtMove As New Vector3d(dDelta, 0, 0)
|
||||
EgtMoveRawPart(m_CurrProjPage.m_nRawId, vtMove)
|
||||
|
||||
Reference in New Issue
Block a user