Files
2026-04-23 12:35:55 +02:00

100 lines
6.4 KiB
Lua

-- WallData.lua by Egaltech s.r.l. 2023/07/19
-- Raccolta dati generali per Pareti
EgtOutLog( ' 90480031-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
MID_GAP = 50, -- distanza tra i pezzi
MID_SIC = 5, -- distanza di sicurezza di una lavorazione da un altro pezzo
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
CUT_VZ_MIN = -0.866, -- componente limite in Z del versore di un taglio (-60deg)
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.46, -- componente limite in Z del versore di un foro
DRILL_VX_MAX = 0.887, -- 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
MAX_CLEAN_CRN30 = 60, -- massimo spessore per pulitura angolo con fresa 30deg
MAX_CLEAN_CRN60 = 241, -- massimo spessore per pulitura angolo con fresa 60deg
MILL_MAX_DEPTH_AS_MAT = false, -- massimo affondamento frese uguale ad altezza tagliente (max materiale)
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 (defualt), TR, BL, TL)
NESTING_CORNER = 'TL', -- angolo di origine del grezzo per posizionamento pezzi (BR (defualt), TR, BL, TL)
TAB_EXTRA_YP = 51, -- offset in Y+ dell'area di lavoro della tavola per aumentare l'area utile in cui inserire grezzi
TAB_EXTRA_YM = 51, -- offset in Y- dell'area di lavoro della tavola per aumentare l'area utile in cui inserire grezzi
MAXDIAM_POCK_CORNER= 70, -- diametro massimo utensile ammesso per tasche con angoli interni
DELTA_X = 0, -- allontanamento in X dai riferimenti
DELTA_Y = 0, -- allontanamento in Y dai riferimenti
RAWPART_ROT = 180, -- rotazione del pannello grezzo rispetto alla descrizione BTL
CUT_WITH_OUTLINE = true, -- taglio delle feature con l'outline del pezzo
DEFAULT_RAW_NO_EXTRA_WIDTH = false, -- in vista si ha grezzo delle stesse dimensioni della parete finita
SQUARING_TYPE = 0, -- master panel squaring: 0 = disabled, 1 = on rawpart, 2 = shrink to parts
SQUARING_TOOL = 0, -- 0 = auto, 1 = double diskmill, 2 = double diskmill+blade, 3 = double blade, 4 = diskmill, 5 = blade, 6 = double mill, 7 = mill
SQUARING_USE_ZIGZAG = true, -- false = oneway, true = zigzag. For mill only
SQUARING_STARTS_ON_REFERENCE = false, -- false = squaring starts near machine parking, true = squaring starts on reference edge
SQUARING_OFFSET_XY = 0, -- > 0 = larger rectangle, < 0 = smaller rectangle. Only with squaring on rawpart
SQUARING_EXTEND_Z = 0, -- > 0 = squaring extends below Z0, < 0 = squaring stops above Z0
SQUARING_MAX_OVERMATERIAL = 40, -- max overmaterial before squaring
}
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480031.data"
local sData = EgtGetCurrMachineDir().."\\Wall\\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.Offsets then
WallData.DELTA_X = Machine.Offsets.DELTA_Y or WallData.DELTA_X
WallData.DELTA_Y = Machine.Offsets.DELTA_X or WallData.DELTA_Y
if Machine.Offsets.RAW_OFFSET then WallData.DEFAULT_RAW_NO_EXTRA_WIDTH = ( Machine.Offsets.RAW_OFFSET == 1) or WallData.DEFAULT_RAW_NO_EXTRA_WIDTH end
end
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
end
end
-------------------------------------------------------------------------------------------------------------
local function GetOrigCorner( RefPos)
if RefPos == 1 or RefPos == 2 or RefPos == 3 then
return 'TL'
elseif RefPos == 4 or RefPos == 5 or RefPos == 6 then
return 'BL'
elseif RefPos == 7 or RefPos == 8 or RefPos == 9 then
return 'TR'
elseif RefPos == 10 or RefPos == 11 or RefPos == 12 then
return 'BR'
else
return 'TL'
end
end
WallData.GetOrigCorner = GetOrigCorner
---------------------------------------------------------------------
return WallData