Files
Essetre-WALL_XS0014/Wall/WallData.lua
T
luca.mazzoleni 5df48bfe17 primo commit
2024-09-19 09:27:57 +02:00

121 lines
6.0 KiB
Lua

-- WallData.lua by Egaltech s.r.l. 2023/06/28
-- Raccolta dati generali per Pareti
EgtOutLog( ' Wall_XS0014-WallData started', 1)
-- Tabella per definizione modulo
local WallData = {
MIN_LENGTH = 100, -- lunghezza minima del grezzo
MIN_WIDTH = 100, -- larghezza minima del grezzo
MIN_HEIGHT = 10, -- altezza minima del grezzo
MAX_LENGTH = 18000, -- lunghezza massima del grezzo
MAX_WIDTH = 4900, -- larghezza massima del grezzo
MAX_HEIGHT = 400, -- altezza massima del grezzo
STD_RAW_LENGTH = 10000, -- lunghezza standard del grezzo
STD_RAW_WIDTH = 4000, -- larghezza standard del grezzo
OVM_HEAD = 60, -- sovramateriale testa
OVM_MID = 50, -- sovramateriale intermedio
COLL_SIC = 5, -- distanza di sicurezza per collisioni
CUT_SIC = 20, -- distanza di sicurezza per tagli
CUT_EXTRA = 0, -- affondamento extra standard per tagli di lama e fresature
CUT_EXTRA_MIN = 0, -- affondamento extra ridotto per tagli di lama e fresature
NZ_MINA = 0.5, -- componente limite in Z normale di una faccia (-30deg)
NZ_MINB = -0.4, -- componente limite in Z normale di un insieme di facce (-23deg)
DRILL_TOL = 0.5, -- tolleranza tra diametro foro e diametro punta
DRILL_VZ_MIN = 0.5, -- componente limite in Z del versore di un foro
DRILL_VX_MAX = 0.866, -- componente limite in X del versore di un foro sulle facce laterali
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
SIMUL_VIEW_DIR = 3, -- direzione di vista predefinita per la simulazione (1=NW, 2=SW, 3=NE, 4=SE)
ORIG_CORNER = 'TL', -- angolo tavola per origine di battuta (BR (default), TR, BL, TL)
MAX_CLEAN_CRN30 = 60, -- massimo spessore per pulitura angolo con fresa 30deg
MIN_DIM_ALLOW_CLEAN = 200, -- apertura minima per lavorazione pulitura spigolo
USE_POSY = true, -- utilizzare POSY di BTL (spostamento sullo spessore per pareti a layer)
MILL_MAX_DEPTH_AS_MAT = true, -- massimo affondamento frese uguale ad altezza tagliente (max materiale)
CHECK_MIN_Z_SAW = false, -- controlla la quota minima della lama rispetto alla tavola (default true)
TAB_EXTRA_XP = 3000, -- extra spazio su tavola per grezzo in X più
TAB_EXTRA_XM = 0, -- extra spazio su tavola per grezzo in X meno
TAB_EXTRA_YP = 0, -- extra spazio su tavola per grezzo in Y più
TAB_EXTRA_YM = 100, -- extra spazio su tavola per grezzo in Y meno
MID_REF = 9000, -- offset X per origini TM e BM
NEW_REF =11640, -- offset X per origini TN e BN
DELTA_Y = 0, -- allontanamento in Y dai riferimenti
DELTA_Z = 0 -- sollevamento dalla tavola
}
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-Wall_XS0014.data"
local sData = EgtGetSourceDir().."\\Ts3Data.lua"
if EgtExistsFile( sTs3Data) then
EgtCopyFile( sTs3Data, sData)
local sTs3DataOld = sTs3Data..'.old'
EgtEraseFile( sTs3DataOld)
EgtRenameFile( sTs3Data, sTs3DataOld)
end
if EgtExistsFile( sData) then
local Machine = dofile( sData)
if Machine then
if Machine.Trave then
WallData.MIN_LENGTH = Machine.Trave.YMIN or WallData.MIN_LENGTH
WallData.MIN_WIDTH = Machine.Trave.XMIN or WallData.MIN_WIDTH
WallData.MIN_HEIGHT = Machine.Trave.ZMIN or WallData.MIN_HEIGHT
WallData.MAX_LENGTH = Machine.Trave.YMAX or WallData.MAX_LENGTH
WallData.MAX_WIDTH = Machine.Trave.XMAX or WallData.MAX_WIDTH
WallData.MAX_HEIGHT = Machine.Trave.ZMAX or WallData.MAX_HEIGHT
end
if Machine.Offsets then
WallData.DELTA_Y = Machine.Offsets.DELTA_X or WallData.DELTA_Y
WallData.DELTA_Z = Machine.Offsets.DELTA_Z or WallData.DELTA_Z
end
end
end
-------------------------------------------------------------------------------------------------------------
local function GetChainSawBlockedAxis( nInd)
--if nInd == 1 then
return 'A1=270'
--else
-- return 'A1=0'
--end
end
WallData.GetChainSawBlockedAxis = GetChainSawBlockedAxis
-------------------------------------------------------------------------------------------------------------
local function GetSawHeadSide( dSpeed, sHead)
local sMchNotes = EgtGetMachiningParam( MCH_MP.USERNOTES)
if not sMchNotes or not string.find( sMchNotes, 'PULL;', 1, true) then
return EgtIf( dSpeed < 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT)
else
return EgtIf( dSpeed > 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT)
end
end
WallData.GetSawHeadSide = GetSawHeadSide
-------------------------------------------------------------------------------------------------------------
local function GetOrigCorner( RefPos)
if RefPos == 1 then
return 'TL'
elseif RefPos == 2 then
return 'BL'
elseif RefPos == 3 then
return 'TM'
elseif RefPos == 4 then
return 'BM'
elseif RefPos == 5 then
return 'TN'
elseif RefPos == 6 then
return 'BN'
elseif RefPos == 7 then
return 'TR'
elseif RefPos == 8 then
return 'BR'
else
return 'TL'
end
end
WallData.GetOrigCorner = GetOrigCorner
---------------------------------------------------------------------
return WallData