-- WProcessSawCut.lua by Egaltech s.r.l. 2021/04/28 -- Gestione calcolo taglio di lama per Pareti -- Tabella per definizione modulo local WPSC = {} -- Include require( 'EgtBase') local WL = require( 'WallLib') local Cut = require( 'WProcessCut') EgtOutLog( ' WProcessSawCut started', 1) -- Dati local WD = require( 'WallData') local WM = require( 'WMachiningLib') --------------------------------------------------------------------- -- Riconoscimento della feature function WPSC.Identify( Proc) return ( ( Proc.Grp == 0 or Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 13) end --------------------------------------------------------------------- -- Classificazione della feature function WPSC.Classify( Proc, b3Raw) -- recupero i dati del versore direzione di accesso della lavorazione local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') if not AuxId then return false end AuxId = AuxId + Proc.Id local vtDir = EgtSV( AuxId, GDB_ID.ROOT) return ( vtDir:getZ() > 0.5) end ---------------------------------------------------------------------- -- Classificazione del flip della feature per nesting -- return nFlip0, nFlip1 function WPSC.FlipClassify( Proc) -- recupero i dati del versore direzione di accesso della lavorazione local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') if not AuxId then return false end AuxId = AuxId + Proc.Id local vtDir = EgtSV( AuxId, GDB_ID.ROOT) local vtDirZ = vtDir:getZ() nFlip0 = EgtIf( vtDirZ > 0.5, 100, 0) nFlip1 = EgtIf( - vtDirZ > 0.5, 100, 0) return nFlip0, nFlip1 end --------------------------------------------------------------------- -- Applicazione della lavorazione function WPSC.Make( Proc, nRawId, b3Raw) return Cut.Make( Proc, nRawId, b3Raw) end --------------------------------------------------------------------- return WPSC