Gestione lavorazione diretta con foretto

This commit is contained in:
NicolaP
2021-09-16 11:42:23 +02:00
parent 97b78f584a
commit 6a894e9d33
6 changed files with 46 additions and 27 deletions
+18 -6
View File
@@ -114,7 +114,21 @@
</Grid>
</Button>
<Button Name="FlatteningCutBtn" Grid.Row="4"
<Button Name="SingleDrillBtn" Grid.Row="4"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Foro-singoloImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SingleDrillTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="FlatteningCutBtn" Grid.Row="5"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
@@ -127,10 +141,10 @@
</Grid>
</Button>
<Button Name="PolishingBtn" Grid.Row="5"
<Button Name="PolishingBtn" Grid.Row="6"
Style="{DynamicResource OmagCut_YellowTextButton}"/>
<Button Name="CopyTemplateBtn" Grid.Row="6"
<Button Name="CopyTemplateBtn" Grid.Row="7"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
@@ -143,11 +157,9 @@
</Grid>
</Button>
<Button Name="SawTestBtn" Grid.Row="7"
<Button Name="SawTestBtn" Grid.Row="8"
Style="{DynamicResource OmagCut_YellowTextButton}"/>
<Button Name="SingleDrillBtn" Grid.Row="8"
Style="{DynamicResource OmagCut_YellowTextButton}"/>
</Grid>
</Grid>
+2 -1
View File
@@ -114,7 +114,8 @@ Public Class DirectCutPageUC
ManualTxt.Text = EgtMsg(90201)
'SingleCutBtn.Content = EgtMsg(90202)
SingleCutTxt.Text = EgtMsg(90202)
SingleDrillBtn.Content = "Foro singolo"
'SingleDrillBtn.Content = "Foro singolo"
SingleDrillTxt.Text = EgtMsg(90258)
'MultipleCutBtn.Content = EgtMsg(90203)
MultipleCutTxt.Text = EgtMsg(90203)
'GridCutBtn.Content = EgtMsg(90204)
+22 -20
View File
@@ -27,12 +27,7 @@ Public Class SingleDrillUC
Private m_vtToolP2 As Vector3d
' Parametri della lavorazione
Private m_bCutOk As Boolean = False
Private m_dDepth As Double = 0
Private m_dLen As Double = 1000
Private m_dAngO As Double = 180
Private m_dAngV As Double = 0
Private m_dOffset As Double = 0
Private m_bSawTh As Boolean = False
' Array delle modalità di acquisizione dei punti
Private m_PointsModeArray(2) As String
' Punto selezionato nel disegno
@@ -48,7 +43,7 @@ Public Class SingleDrillUC
Private Const MAX_SIDE_ANG As Double = 60.0
' Costanti che indicano la modalità di acquisizione dei punti
Private Enum PT_MODE As Integer
SAW = 0
DRILL = 0
LASER = 1
DRAW = 2
End Enum
@@ -59,7 +54,7 @@ Public Class SingleDrillUC
m_CurrentMachine = m_MainWindow.m_CurrentMachine
' Creo lista modalità di acquisizione punto
m_PointsModeArray(PT_MODE.SAW) = EgtMsg(MSG_DIRECTCUTPAGEUC + 24)
m_PointsModeArray(PT_MODE.DRILL) = EgtMsg(90752)
m_PointsModeArray(PT_MODE.LASER) = EgtMsg(MSG_DIRECTCUTPAGEUC + 12)
m_PointsModeArray(PT_MODE.DRAW) = EgtMsg(MSG_DIRECTCUTPAGEUC + 25)
' la associo alla combobox
@@ -168,6 +163,8 @@ Public Class SingleDrillUC
End Sub
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
' deselezione il bottone per acquisizione
Point1Btn.IsChecked = False
' Verifico di essere il gestore attivo
If Not m_bActive Then Return
' Si può selezionare solo con il tasto sinistro e se stato NULL
@@ -211,14 +208,14 @@ Public Class SingleDrillUC
If Not m_bRawOk Then Return
' Se acquisizione lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
If PointModeCmBx.SelectedIndex = PT_MODE.DRILL Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
' Recupero la posizione macchina
Dim dL1, dL2, dL3, dR1, dR2 As Double
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
' Ricavo dati Foretto corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrDrill
Dim sDrill As String = m_MainWindow.m_CurrentMachine.sCurrDrill
' Se punto da laser
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
' Imposto come testa corrente il laser (senza utensile ovviamente)
@@ -226,11 +223,11 @@ Public Class SingleDrillUC
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
End If
@@ -254,7 +251,7 @@ Public Class SingleDrillUC
End If
' Disegno il taglio
CreateSingleCut()
CreateSingleDrill()
' Disegno la macchina nella sua posizione reale
SetMachineInCurrPos()
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = True
@@ -346,7 +343,7 @@ Public Class SingleDrillUC
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateSingleCut() As Boolean
Private Function CreateSingleDrill() As Boolean
' Verifico sia definito il punto iniziale e il grezzo
If Not m_bPointP1Ok Or Not m_bRawOk Then
m_bCutOk = False
@@ -357,8 +354,8 @@ Public Class SingleDrillUC
' Spessore grezzo
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
' Recupero spessore lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrDrill
EgtTdbSetCurrTool(sSaw)
Dim sDrill As String = m_MainWindow.m_CurrentMachine.sCurrDrill
EgtTdbSetCurrTool(sDrill)
Dim dThick As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
' Rimuovo eventuale vecchio pezzo per taglio diretto
@@ -369,8 +366,8 @@ Public Class SingleDrillUC
' Creo nuovo pezzo per il taglio diretto
Dim nPartId = CreateDirectCutPart()
Dim nLayerId = EgtCreateGroup(nPartId)
EgtSetName(nLayerId, NAME_OUTLOOP)
' Creo il taglio
EgtSetName(nLayerId, NAME_INLOOP)
' Creo il Drill
Dim ptStart As Point3d = m_ptTipP1
ptStart.z = 0
@@ -381,7 +378,12 @@ Public Class SingleDrillUC
CreateCross(nCrossLayerId, ptStart)
End If
Dim ptIns As Point3d = ptStart
Dim nCutId = EgtCreateCircle(nLayerId, ptStart, m_dDiameter / 2)
' 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)
@@ -408,7 +410,7 @@ Public Class SingleDrillUC
EgtSetColor(nCrossId2, New Color3d(255, 0, 0))
Dim nPntId = EgtCreateGeoPoint(nLayerId, ptP)
EgtSetColor(nPntId, New Color3d(255, 0, 0))
Dim nCirleId = EgtCreateCircle(nLayerId, ptP, m_dDiameter)
Dim nCirleId = EgtCreateCircle(nLayerId, ptP, m_dDiameter / 2)
EgtSetColor(nCirleId, New Color3d(0, 255, 0))
Return True
End Function
+3
View File
@@ -1096,6 +1096,9 @@
<ItemGroup>
<Resource Include="Resources\NewIcons\Sezione-cornice.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Foro-singolo.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
+1
View File
@@ -172,6 +172,7 @@
<BitmapImage x:Key="Taglio-grigliaImg" UriSource="Resources/NewIcons/Taglio-griglia.png"></BitmapImage>
<BitmapImage x:Key="Taglio-multiploImg" UriSource="Resources/NewIcons/Taglio-multiplo.png"></BitmapImage>
<BitmapImage x:Key="Taglio-singoloImg" UriSource="Resources/NewIcons/Taglio-singolo.png"></BitmapImage>
<BitmapImage x:Key="Foro-singoloImg" UriSource="Resources/NewIcons/Foro-singolo.png"></BitmapImage>
<BitmapImage x:Key="SpianaturaImg" UriSource="Resources/NewIcons/Spianatura.png"></BitmapImage>
<BitmapImage x:Key="Movimento-manualeImg" UriSource="Resources/NewIcons/Movimento-manuale.png"></BitmapImage>
<BitmapImage x:Key="Copia-dimaImg" UriSource="Resources/NewIcons/Copia-dima.png"></BitmapImage>
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB