Icarus :
- modifiche per sistemazione riferimenti oggetti inseriti.
This commit is contained in:
@@ -418,7 +418,7 @@ Public Class MySceneHostVM
|
||||
"|New geometry EgalTech(*.nge)|*.nge" &
|
||||
"|Imported Files (*.*)|*.stl;*.igs;*.iges;*.stp;*.step;*.3mf;*.nge" &
|
||||
"|All Files (*.*)|*.*",
|
||||
.FilterIndex = 1,
|
||||
.FilterIndex = 6,
|
||||
.InitialDirectory = sDir}
|
||||
If Not OpenFileDialog.ShowDialog Then
|
||||
Return False
|
||||
@@ -431,29 +431,35 @@ Public Class MySceneHostVM
|
||||
' sposto le nuove geometrie nel layer rib del pezzo
|
||||
Dim nNewPartId As Integer = EgtGetLastPart()
|
||||
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
|
||||
Dim frLayer As New Frame3d
|
||||
EgtGetGroupGlobFrame( nNewLayerId, frLayer)
|
||||
Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewLayerId)
|
||||
While nNewEntityId <> GDB_ID.NULL
|
||||
Dim EntityType As GDB_TY = EgtGetType(nNewEntityId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.CRV_COMPO, GDB_TY.CRV_LINE, GDB_TY.CRV_ARC
|
||||
Dim nNewRib = nNewEntityId
|
||||
Dim nNewRib As Integer = GDB_ID.NULL
|
||||
If EntityType = GDB_TY.CRV_LINE OrElse EntityType = GDB_TY.CRV_ARC Then
|
||||
nNewRib = EgtCreateCurveCompo(Map.refTopPanelVM.SelPart.nPartId, nNewEntityId, False)
|
||||
nNewRib = EgtCreateCurveCompo(nNewLayerId, nNewEntityId, False)
|
||||
EgtRelocate( nNewRib, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON)
|
||||
Else
|
||||
' lo copio nel layer dei rib
|
||||
nNewRib = EgtCopy(nNewEntityId, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON)
|
||||
End If
|
||||
EgtSetName(nNewRib, RIB_CURVE)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewRib, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
Dim NewEntity As RibEntity = New RibEntity(RibEntity.RibTypes.FROMIMPORT, nNewRib)
|
||||
Map.refRibPanelVM.RibList.Add(NewEntity)
|
||||
Case GDB_TY.SRF_MESH, GDB_TY.SRF_FRGN, GDB_TY.SRF_BEZ
|
||||
Dim nNewRib = nNewEntityId
|
||||
' lo copio nel layer dei rib
|
||||
nNewRib = EgtCopy(nNewEntityId, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON)
|
||||
Dim nNewRib As Integer = EgtCopy(nNewEntityId, Map.refRibPanelVM.nRibLayerId, GDB_POS.LAST_SON)
|
||||
EgtSetName(nNewRib, RIB_EXTRUSION)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewRib, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
@@ -490,7 +496,7 @@ Public Class MySceneHostVM
|
||||
"|New geometry EgalTech(*.nge)|*.nge" &
|
||||
"|Imported Files (*.*)|*.stl;*.igs;*.iges;*.stp;*.step;*.3mf;*.nge" &
|
||||
"|All Files (*.*)|*.*",
|
||||
.FilterIndex = 1,
|
||||
.FilterIndex = 6,
|
||||
.InitialDirectory = sDir}
|
||||
If Not OpenFileDialog.ShowDialog Then
|
||||
Return False
|
||||
@@ -502,6 +508,8 @@ Public Class MySceneHostVM
|
||||
' sposto le nuove geometrie nel layer rib del pezzo
|
||||
Dim nNewPartId As Integer = EgtGetLastPart()
|
||||
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
|
||||
Dim frLayer As New Frame3d
|
||||
EgtGetGroupGlobFrame( nNewLayerId, frLayer)
|
||||
' verifico che ci sia una sola entita'
|
||||
If EgtGetGroupObjs(nNewLayerId) <> 1 Then
|
||||
MessageBox.Show("Impossible importing file that contains more than one entity.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
@@ -510,6 +518,8 @@ Public Class MySceneHostVM
|
||||
If MenuItem.OrigLayer.EntityList.Count > 0 AndAlso MenuItem.OrigLayer.EntityList(0).nId <> GDB_ID.NULL Then EgtErase(MenuItem.OrigLayer.EntityList(0).nId)
|
||||
Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewLayerId)
|
||||
EgtRelocate(nNewEntityId, MenuItem.OrigLayer.nLayerId, GDB_POS.LAST_SON)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewEntityId, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' aggiorno riferimento pezzo
|
||||
@@ -548,7 +558,7 @@ Public Class MySceneHostVM
|
||||
"|New geometry EgalTech(*.nge)|*.nge" &
|
||||
"|Imported Files (*.*)|*.stl;*.igs;*.iges;*.stp;*.step;*.3mf;*.nge" &
|
||||
"|All Files (*.*)|*.*",
|
||||
.FilterIndex = 1,
|
||||
.FilterIndex = 6,
|
||||
.InitialDirectory = sDir}
|
||||
If Not OpenFileDialog.ShowDialog Then
|
||||
Return False
|
||||
@@ -561,29 +571,35 @@ Public Class MySceneHostVM
|
||||
' sposto le nuove geometrie nel layer ShellNumber del pezzo
|
||||
Dim nNewPartId As Integer = EgtGetLastPart()
|
||||
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
|
||||
Dim frLayer As New Frame3d
|
||||
EgtGetGroupGlobFrame( nNewLayerId, frLayer)
|
||||
Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewLayerId)
|
||||
While nNewEntityId <> GDB_ID.NULL
|
||||
Dim EntityType As GDB_TY = EgtGetType(nNewEntityId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.CRV_COMPO, GDB_TY.CRV_LINE, GDB_TY.CRV_ARC
|
||||
Dim nNewShellNumberId As Integer = nNewEntityId
|
||||
Dim nNewShellNumberId As Integer = GDB_ID.NULL
|
||||
If EntityType = GDB_TY.CRV_LINE OrElse EntityType = GDB_TY.CRV_ARC Then
|
||||
nNewShellNumberId = EgtCreateCurveCompo(Map.refTopPanelVM.SelPart.nPartId, nNewEntityId, False)
|
||||
nNewShellNumberId = EgtCreateCurveCompo(nNewLayerId, nNewEntityId, False)
|
||||
EgtRelocate( nNewShellNumberId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
Else
|
||||
' lo copio nel layer dei shellnumber
|
||||
nNewShellNumberId = EgtCopy(nNewEntityId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
End If
|
||||
EgtSetName(nNewShellNumberId, RIB_CURVE)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewShellNumberId, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
Dim NewEntity As ShellNumberEntity = New ShellNumberEntity(ShellNumberEntity.ShellNumberTypes.FROMIMPORT, nNewShellNumberId)
|
||||
Map.refShellNumberPanelVM.ShellNumberList.Add(NewEntity)
|
||||
Case GDB_TY.SRF_MESH, GDB_TY.SRF_FRGN, GDB_TY.SRF_BEZ
|
||||
Dim nNewShellNumberId = nNewEntityId
|
||||
' lo copio nel layer dei rib
|
||||
nNewShellNumberId = EgtCopy(nNewEntityId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
' lo copio nel layer dei shellnumber
|
||||
Dim nNewShellNumberId As Integer = EgtCopy(nNewEntityId, Map.refShellNumberPanelVM.nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
EgtSetName(nNewShellNumberId, RIB_EXTRUSION)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewShellNumberId, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
@@ -593,7 +609,7 @@ Public Class MySceneHostVM
|
||||
nNewEntityId = EgtGetNext(nNewEntityId)
|
||||
End While
|
||||
EgtErase(nNewPartId)
|
||||
' seleziono ultima rib
|
||||
' seleziono ultima ShellNumber
|
||||
Map.refShellNumberPanelVM.SelLastShellNumber()
|
||||
EgtDraw()
|
||||
' Imposto flag di ricalcolo slice
|
||||
@@ -620,7 +636,7 @@ Public Class MySceneHostVM
|
||||
"|New geometry EgalTech(*.nge)|*.nge" &
|
||||
"|Imported Files (*.*)|*.stl;*.igs;*.iges;*.stp;*.step;*.3mf;*.nge" &
|
||||
"|All Files (*.*)|*.*",
|
||||
.FilterIndex = 1,
|
||||
.FilterIndex = 6,
|
||||
.InitialDirectory = sDir}
|
||||
If Not OpenFileDialog.ShowDialog Then
|
||||
Return False
|
||||
@@ -633,29 +649,35 @@ Public Class MySceneHostVM
|
||||
' sposto le nuove geometrie nel layer ShellNumber del pezzo
|
||||
Dim nNewPartId As Integer = EgtGetLastPart()
|
||||
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
|
||||
Dim frLayer As New Frame3d
|
||||
EgtGetGroupGlobFrame( nNewLayerId, frLayer)
|
||||
Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewLayerId)
|
||||
While nNewEntityId <> GDB_ID.NULL
|
||||
Dim EntityType As GDB_TY = EgtGetType(nNewEntityId)
|
||||
Select Case EntityType
|
||||
Case GDB_TY.CRV_COMPO, GDB_TY.CRV_LINE, GDB_TY.CRV_ARC
|
||||
Dim nNewFilledSolidId As Integer = nNewEntityId
|
||||
Dim nNewFilledSolidId As Integer = GDB_ID.NULL
|
||||
If EntityType = GDB_TY.CRV_LINE OrElse EntityType = GDB_TY.CRV_ARC Then
|
||||
nNewFilledSolidId = EgtCreateCurveCompo(Map.refTopPanelVM.SelPart.nPartId, nNewEntityId, False)
|
||||
nNewFilledSolidId = EgtCreateCurveCompo(nNewLayerId, nNewEntityId, False)
|
||||
EgtRelocate( nNewFilledSolidId, Map.refFilledSolidPanelVM.nFilledSolidLayerId, GDB_POS.LAST_SON)
|
||||
Else
|
||||
' lo copio nel layer dei shellnumber
|
||||
' lo copio nel layer dei FilledSolid
|
||||
nNewFilledSolidId = EgtCopy(nNewEntityId, Map.refFilledSolidPanelVM.nFilledSolidLayerId, GDB_POS.LAST_SON)
|
||||
End If
|
||||
EgtSetName(nNewFilledSolidId, RIB_CURVE)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewFilledSolidId, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
Dim NewEntity As FilledSolidEntity = New FilledSolidEntity(FilledSolidEntity.FilledSolidTypes.FROMIMPORT, nNewFilledSolidId)
|
||||
Map.refFilledSolidPanelVM.FilledSolidList.Add(NewEntity)
|
||||
Case GDB_TY.SRF_MESH, GDB_TY.SRF_FRGN, GDB_TY.SRF_BEZ
|
||||
Dim nNewFilledSolidId = nNewEntityId
|
||||
' lo copio nel layer dei rib
|
||||
nNewFilledSolidId = EgtCopy(nNewEntityId, Map.refFilledSolidPanelVM.nFilledSolidLayerId, GDB_POS.LAST_SON)
|
||||
' lo copio nel layer dei FilledSolid
|
||||
Dim nNewFilledSolidId As Integer = EgtCopy(nNewEntityId, Map.refFilledSolidPanelVM.nFilledSolidLayerId, GDB_POS.LAST_SON)
|
||||
EgtSetName(nNewFilledSolidId, RIB_EXTRUSION)
|
||||
' elimino effetti di eventuale riferimento originale
|
||||
EgtTransform( nNewFilledSolidId, frLayer)
|
||||
' elimino colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo aggiungo alla lista
|
||||
@@ -665,7 +687,7 @@ Public Class MySceneHostVM
|
||||
nNewEntityId = EgtGetNext(nNewEntityId)
|
||||
End While
|
||||
EgtErase(nNewPartId)
|
||||
' seleziono ultima rib
|
||||
' seleziono ultima FilledSolid
|
||||
Map.refFilledSolidPanelVM.SelLastFilledSolid()
|
||||
EgtDraw()
|
||||
' Imposto flag di ricalcolo slice
|
||||
|
||||
Reference in New Issue
Block a user