261aec363d
- Gestione avvio script solo quando eseguiti precedenti - Correzioni varie
111 lines
4.2 KiB
Lua
111 lines
4.2 KiB
Lua
-- RunShowManager.lua by Egaltech s.r.l. 2022/04/05
|
|
-- Gestione visualizzazione per Stampa 3d
|
|
|
|
-- Tabella per definizione modulo
|
|
local RunShowManager = {}
|
|
|
|
-- Intestazioni
|
|
require( 'EgtBase')
|
|
|
|
EgtOutLog( ' RunShowManager started', 1)
|
|
|
|
-- Costanti generali
|
|
local AMD = require( 'AddManData')
|
|
|
|
local function ShowImportedSolid( nPartId, bShow)
|
|
local nLayerId = EgtGetFirstNameInGroup( nPartId, ORIGINAL_SOLID)
|
|
local nItemId = EgtGetFirstInGroup( nLayerId)
|
|
while nItemId do
|
|
if EgtGetType( nItemId) == GDB_TY.SRF_MESH then
|
|
EgtSetStatus( nItemId, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
nItemId = EgtGetNext(nItemId)
|
|
end
|
|
end
|
|
|
|
function RunShowManager.Exec()
|
|
-- Verifico esistenza gruppo stato visualizzazione progetto
|
|
local nViewId = EgtGetFirstNameInGroup( GDB_ID.ROOT, VIEWPARAMS)
|
|
local bImportedSolid = false
|
|
local bOuterCrv = false
|
|
local bPath = false
|
|
local bSolid = false
|
|
local bToolPath = false
|
|
|
|
if not nViewId then
|
|
nViewId = EgtGroup( GDB_ID.ROOT)
|
|
EgtSetName( nViewId, VIEWPARAMS)
|
|
else
|
|
bImportedSolid = EgtGetInfo( nViewId, IMPORTED_SOLID, 'b')
|
|
bOuterCrv = EgtGetInfo( nViewId, OUTER_CRV, 'b')
|
|
bPath = EgtGetInfo( nViewId, PATH_GRP, 'b')
|
|
bSolid = EgtGetInfo( nViewId, SOLID_GRP, 'b')
|
|
bToolPath = EgtGetInfo( nViewId, TOOLPATH_GRP, 'b')
|
|
end
|
|
|
|
ViewValues = EgtDialogBox( 'Show Manager', { 'Imported Solid', 'CK:' .. EgtIf( bImportedSolid, '1', '0')},
|
|
{ 'OuterCrv', 'CK:' .. EgtIf( bOuterCrv, '1', '0')},
|
|
{ 'Path', 'CK:' .. EgtIf( bPath, '1', '0')},
|
|
{ 'Solid', 'CK:' .. EgtIf( bSolid, '1', '0')},
|
|
{ 'ToolPath', 'CK:' .. EgtIf( bToolPath, '1', '0')})
|
|
if not ViewValues or #ViewValues < 5 then return end
|
|
|
|
-- dis/attivo solidi originali
|
|
local bCurrImportedSolid = ( ViewValues[1] == '1')
|
|
local bCurrOuterCrv = ( ViewValues[2] == '1')
|
|
local bCurrPath = ( ViewValues[3] == '1')
|
|
local bCurrSolid = ( ViewValues[4] == '1')
|
|
local bCurrToolPath = ( ViewValues[5] == '1')
|
|
|
|
-- ciclo sui pezzi
|
|
local nPartIndex = 1
|
|
local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex)
|
|
while nPartId do
|
|
if bImportedSolid ~= bCurrImportedSolid then
|
|
ShowImportedSolid( nPartId, bCurrImportedSolid)
|
|
end
|
|
-- ciclo sui layer per dis/attivare il resto
|
|
local nLayerIndex = 1
|
|
local nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex)
|
|
while nLayerId do
|
|
local nCrvId = EgtGetFirstGroupInGroup( nLayerId)
|
|
while nCrvId do
|
|
if bOuterCrv ~= bCurrOuterCrv then
|
|
local nOuterCrvId = EgtGetFirstNameInGroup( nCrvId, OUTER_CRV)
|
|
EgtSetStatus( nOuterCrvId, EgtIf( bCurrOuterCrv, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bPath ~= bCurrPath then
|
|
local nPathId = EgtGetFirstNameInGroup( nCrvId, PATH_GRP)
|
|
EgtSetStatus( nPathId, EgtIf( bCurrPath, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bSolid ~= bCurrSolid then
|
|
local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP)
|
|
EgtSetStatus( nSolidId, EgtIf( bCurrSolid, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bToolPath ~= bCurrToolPath then
|
|
local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP)
|
|
EgtSetStatus( nToolPathId, EgtIf( bCurrToolPath, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
nCrvId = EgtGetNext( nCrvId)
|
|
end
|
|
nLayerIndex = nLayerIndex + 1
|
|
nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex)
|
|
end
|
|
nPartIndex = nPartIndex + 1
|
|
nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex)
|
|
end
|
|
|
|
-- riporto impostazioni in gruppo apposito
|
|
EgtSetInfo( nViewId, IMPORTED_SOLID, bCurrImportedSolid)
|
|
EgtSetInfo( nViewId, OUTER_CRV, bCurrOuterCrv)
|
|
EgtSetInfo( nViewId, PATH_GRP, bCurrPath)
|
|
EgtSetInfo( nViewId, SOLID_GRP, bCurrSolid)
|
|
EgtSetInfo( nViewId, TOOLPATH_GRP, bCurrToolPath)
|
|
|
|
EgtDraw()
|
|
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
return RunShowManager
|