Files
DataBeam/DisableFeatures.lua
T
Dario Sassi 8ce7008a76 DataBeam :
- aggiunto calcolo del solido della trave tramite operatori booleani su Stm.
2019-11-23 17:53:31 +00:00

48 lines
1.4 KiB
Lua

-- DisableFeatures.lua by Egaltech s.r.l. 2019/11/22
-- Gestione disabilitazione delle feature selezionate
-- Intestazioni
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( false)
if EgtGetSelectedObjCount() == 0 then
EgtOutBox( 'Nessuna lavorazione selezionata', 'Disabilita lavorazioni', 'ERROR')
end
-- Elenco dei pezzi interessati
local vParts = {}
-- Disabilito features selezionate
local nId = EgtGetFirstSelectedObj()
while nId do
-- verifico sia una feature
local nParentId = EgtGetParent( nId)
if EgtIsLayer( nParentId or GDB_ID.NULL) and EgtGetName( nParentId) == 'Processings' and
EgtGetInfo( nId, 'GRP', 'i') and EgtGetInfo( nId, 'PRC', 'i') then
EgtSetInfo( nId, 'DO', 0)
EgtSetColor( nId, Color3d( 160, 160, 160))
local nAuxId = EgtGetInfo( nId, 'AUXID', 'i')
if nAuxId then
EgtSetColor( nId + nAuxId, Color3d( 160, 160, 160))
end
table.insert( vParts, EgtGetParent( nParentId))
end
nId = EgtGetNextSelectedObj()
end
-- Cancello eventuale solido dei pezzi interessati
table.sort( vParts)
local PrevPartId = GDB_ID.NULL
for i = 1, #vParts do
if vParts[i] ~= PrevPartId then
local SolidLy = EgtGetFirstNameInGroup( vParts[i], 'Solid')
EgtErase( SolidLy or GDB_ID.NULL)
PrevPartId = vParts[i]
end
end
EgtDeselectAll()
EgtZoom( SCE_ZM.ALL)
-- end