1459253e57
- modifiche e correzioni per Costolature (Setti -> Ribs).
123 lines
5.3 KiB
Lua
123 lines
5.3 KiB
Lua
-- RunShowManager.lua by Egaltech s.r.l. 2022/07/03
|
|
-- 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 nSolidLayId = EgtGetFirstNameInGroup( nPartId, ORIGINAL_SOLID)
|
|
EgtSetStatus( nSolidLayId or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF))
|
|
local nRibsLayId = EgtGetFirstNameInGroup( nPartId, LAY_RIBS)
|
|
EgtSetStatus( nRibsLayId or GDB_ID.NULL, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF))
|
|
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
|
|
|
|
local bCurrImportedSolid = bImportedSolid
|
|
local bCurrOuterCrv = bOuterCrv
|
|
local bCurrPath = bPath
|
|
local bCurrSolid = bSolid
|
|
local bCurrToolPath = bToolPath
|
|
|
|
if EgtGetUserLevel() == 1 then
|
|
local ViewValues = EgtDialogBox( 'Show Manager', { 'Imported Solid', 'CK:' .. EgtIf( bImportedSolid, '1', '0')},
|
|
{ 'Solid', 'CK:' .. EgtIf( bSolid, '1', '0')},
|
|
{ 'ToolPath', 'CK:' .. EgtIf( bToolPath, '1', '0')})
|
|
if not ViewValues or #ViewValues < 3 then return end
|
|
bCurrImportedSolid = ( ViewValues[1] == '1')
|
|
bCurrSolid = ( ViewValues[2] == '1')
|
|
bCurrToolPath = ( ViewValues[3] == '1')
|
|
else
|
|
local 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
|
|
bCurrImportedSolid = ( ViewValues[1] == '1')
|
|
bCurrOuterCrv = ( ViewValues[2] == '1')
|
|
bCurrPath = ( ViewValues[3] == '1')
|
|
bCurrSolid = ( ViewValues[4] == '1')
|
|
bCurrToolPath = ( ViewValues[5] == '1')
|
|
end
|
|
|
|
-- 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) or 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 or GDB_ID.NULL, EgtIf( bCurrOuterCrv, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bPath ~= bCurrPath then
|
|
local nPathId = EgtGetFirstNameInGroup( nCrvId, PATH_GRP)
|
|
EgtSetStatus( nPathId or GDB_ID.NULL, EgtIf( bCurrPath, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bSolid ~= bCurrSolid then
|
|
local nSolidId = EgtGetFirstNameInGroup( nCrvId, SOLID_GRP)
|
|
EgtSetStatus( nSolidId or GDB_ID.NULL, EgtIf( bCurrSolid, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
if bToolPath ~= bCurrToolPath then
|
|
local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP)
|
|
EgtSetStatus( nToolPathId or GDB_ID.NULL, EgtIf( bCurrToolPath, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
nCrvId = EgtGetNext( nCrvId)
|
|
end
|
|
nLayerIndex = nLayerIndex + 1
|
|
nLayerId = EgtGetFirstNameInGroup( nPartId, SLICE_LAYER .. nLayerIndex) or 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
|