-- EgtConst.lua libreria di costanti EgalTech per Lua 2022/02/04 -- 2018/02/22 Sistemata package.cpath per lua 5.3 con "/bin/clibs53/?.dll;" -- 2019/07/24 Portato GEO.EPS_ZERO a 1e-8 come nel programma. -- 2020/01/15 Aggiunta costante GDB_TY.EXT_DIMENSION. -- 2020/02/06 Aggiunte costanti GDB_CRC. -- 2020/02/14 Aggiunta costante MCH_GP.MAXDEPTHSAFE. -- 2020/02/21 Aggiunta costante MCH_TY.MILL_POLISHING. -- 2020/03/26 Aggiunta costante GDB_TY.SRF_BEZ. -- 2020/06/05 Aggiunte costanti MCH_MP.TABMIN e MCH_MP.TABMAX. -- 2020/10/12 Aggiunte costanti EEX_FL. -- 2021/02/14 Aggiunte costanti NST_CORNER. -- 2021/05/21 Aggiunta costante MCH_SIM_COB.CONE (tronco di cono). -- 2021/07/28 Aggiunte costanti MCH_MP.SIDEANGFEED e MCH_MP.STEPLAST. -- 2021/09/24 Aggiunte costanti MCH_MILL_LI.TG_PERP e MCH_MILL_LO.PERP_TG. -- 2022/02/04 Aggiunte costanti MCH_MP.EPICYCLESRAD e MCH_MP.EPICYCLESDIST. -- Tavola per definizione modulo (serve ma non usata) local EgtConst = {} EgtOutLog( 'EgtConst started', 1) -- Per eventuale debug local ZBS = "c:/ZeroBraneStudio" if not package.path:find(ZBS,1,true) then package.path = ZBS .. "/lualibs/?/?.lua;" .. ZBS .. "/lualibs/?.lua;" .. package.path package.cpath = ZBS .. "/bin/?.dll;" .. ZBS .. "/bin/clibs53/?.dll;" .. package.cpath end -- Funzione per rendere non modificabili le costanti local protect = function(tbl) return setmetatable({}, { __index = tbl, __newindex = function(t, key, value) error("attempting to change constant " .. tbl[1]..tostring(key) .. " to " .. tostring(value), 2) end }) end -- Costanti geometriche GEO = { 'GEO.', EPS_SMALL = 1.0e-3, EPS_ZERO = 1.0e-8, INFINITO = 1.0e10, EPS_ANG_SMALL = 1.0e-3, ONE_MM = 1.0, ONE_INCH = 25.4 } GEO = protect( GEO) -- Costanti per tipo di file Nge GDB_NT = { 'GDB_NT.', TXT = 0, BIN = 1, CMPTXT = 2 } GDB_NT = protect( GDB_NT) -- Costanti per identificativi speciali di GDB GDB_ID = { 'GDB_ID.', ROOT = 0, -- radice NULL = -1, -- non valido SEL = -2, -- selezione GRID = -3, -- griglia CP = -4, -- current part CL = -5 -- current layer } GDB_ID = protect( GDB_ID) -- Costanti per posizione di inserimento in GDB in copia/trasferisci GDB_IN = { 'GDB_IN.', FIRST_SON = 0, LAST_SON = 1, BEFORE = 2, AFTER = 3 } GDB_IN = protect( GDB_IN) -- Costanti per riferimento in cui sono espressi i dati della funzione GDB_RT = { 'GDB_RT.', GLOB = 0, -- globale GRID = -3, -- griglia LOC = -6 -- locale } GDB_RT = protect( GDB_RT) -- Costanti per tipo di punto GDB_PT = { 'GDB_PT.', STD = 0, TG = 1, PERP = 2, MIND = 3 } GDB_PT = protect( GDB_PT) -- Costanti per famiglie di oggetti GDB_FY = { 'GDB_FY.', NONE = 0, GEO_ZERODIM = 128, GEO_CURVE = 256, GEO_SURF = 512, GEO_VOLUME = 1024, GEO_EXTRA = 2048 } GDB_FY = protect( GDB_FY) -- Costanti per tipo di oggetti GDB_TY = { 'GDB_TY.', NONE = 0, GROUP = 2, GEO_VECTOR = 128, GEO_POINT = 129, GEO_FRAME = 130, CRV_LINE = 256, CRV_ARC = 257, CRV_BEZ = 258, CRV_COMPO = 259, SRF_MESH = 512, SRF_FRGN = 513, SRF_BEZ = 514, VOL_ZMAP = 1024, EXT_TEXT = 2048, EXT_DIMENSION = 2049 } GDB_TY = protect( GDB_TY) -- Costanti per livello oggetti GDB_LV = { 'GDB_LV.', USER = 1, SYSTEM = 2, TEMP = 3 } GDB_LV = protect( GDB_LV) -- Costanti per modo oggetti GDB_MD = { 'GDB_MD.', STD = 1, LOCKED = 2, HIDDEN = 3 } GDB_MD = protect( GDB_MD) -- Costanti per stato oggetti GDB_ST = { 'GDB_ST.', OFF = 0, ON = 1, SEL = 2 } GDB_ST = protect( GDB_ST) -- Costanti per flag calcolo BBox3d GDB_BB = { 'GDB_BB.', STANDARD = 0, ONLY_VISIBLE = 1, EXACT = 2, IGNORE_TEXT = 4, IGNORE_DIM = 8 } GDB_BB = protect( GDB_BB) -- Costanti per info di sistema GDB_SI = { 'GDB_SI.', SOURCE = "!SOU", BASE = "!BAS", LIST = "!LST", COPY = "!COP", MGRPONLY = "!MGO" } GDB_SI = protect( GDB_SI) -- Costanti per tipologia di riferimento GDB_FR = { 'GDB_FR.', TOP = 1, BOTTOM = 2, FRONT = 3, BACK = 4, LEFT = 5, RIGHT = 6 } GDB_FR = protect( GDB_FR) -- Costanti per posizione inserimento testo rispetto al punto di riferimento GDB_TI = { 'GDB_TI.', TL = 1, TC = 2, TR = 3, ML = 4, MC = 5, MR = 6, BL = 7, BC = 8, BR = 9 } GDB_TI = protect( GDB_TI) -- Costanti per interpolazione punti GDB_PI = { 'GDB_PI.', ARCS = 0, ARCS_CORNER = 1, CUBICS = 2 } GDB_PI = protect( GDB_PI) -- Costanti per approssimazione curve GDB_CA = { 'GDB_CA.', LINES = 0, SPECIAL_LINES = 10, LEFT_LINES = 1, LEFT_CONVEX_LINES = 11, RIGHT_LINES = 2, RIGHT_CONVEX_LINES = 12, ARCS = 3 } GDB_CA = protect( GDB_CA) -- Costanti per tipo offset di curve GDB_OT = { 'GDB_OT.', FILLET = 0, CHAMFER = 1, EXTEND = 2 } GDB_OT = protect( GDB_OT) -- Costanti per classificazione reciproca di regioni GDB_RC = { 'GDB_RC.', NULL = 0, IN1 = 1, IN2 = 2, SAME = 3, OUT = 4, INTERS = 5 } GDB_RC = protect( GDB_RC) -- Costanti per classificazione curva rispetto a regione GDB_CRC = { 'GDB_CRC.', NULL = 0, IN = 1, OUT = 2, ON = 3, INTERS = 4 } GDB_CRC = protect( GDB_CRC) -- Costanti tipo punto intersezione Linea SurfTriMesh GDB_SLT = { 'GDB_SLT.', NULL = 0, IN = 1, OUT = 2, TG_INI = 3, TG_FIN = 4, TOUCH = 5 } GDB_SLT = protect( GDB_SLT) -- Costanti tipo costruzione superficie rigata GDB_RUL = { 'GDB_RUL.', ISOPAR = 'IP', MINDIST = 'MD' } GDB_RUL = protect( GDB_RUL) -- Costanti scena per tipo visualizzazione SCE_SM = { 'SCE_SM.', WF = 0, HL = 1, SH = 2 } SCE_SM = protect( SCE_SM) -- Costanti scena per tipo zoom SCE_ZM = { 'SCE_ZM.', ALL = 1, IN = 2, OUT = 3 } SCE_ZM = protect( SCE_ZM) -- Costanti scena per tipo vista SCE_VD = { 'SCE_VD.', NONE = 0, TOP = 1, FRONT = 2, RIGHT = 3, BACK = 4, LEFT = 5, BOTTOM = 6, ISO_SW = 7, ISO_SE = 8, ISO_NE = 9, ISO_NW = 10, GRID = 11 } SCE_VD = protect( SCE_VD) -- Flag per import CNC EIC_FL = { 'EIC_FL.', NONE = 0, CHAIN = 1, SKIP_ZEROMACH = 2, SKIP_RAPID = 4 } EIC_FL = protect( EIC_FL) -- Flag per import BTL EIB_FL = { 'EIB_FL.', NONE = 0, FLAT_POS = 1, VERT_POS = 2, SPECIAL_TRIM = 4, TS3_POS = 8, SORT = 16, USEUATTR = 32 } EIB_FL = protect( EIB_FL) -- Flag per export EEX_FL = { 'EEX_FL.', NONE = 0, COMP_LAYER = 1, COL_BY_LAYER = 2, ADV_NAMES = 4 } EEX_FL = protect( EEX_FL) -- Costanti shortest path per tipo di percorso di ottimizzazione SHP_TY = { 'SHP_TY.', NONE = 0, CLOSED = 1, OPEN = 2, ZIGZAG_X = 3, ZIGZAG_Y = 4, ONEWAY_XP = 5, ONEWAY_XM = 6, ONEWAY_YP = 7, ONEWAY_YM = 8 } SHP_TY = protect( SHP_TY) -- Costanti shortest path per tipo estremo di percorso aperto SHP_OB = { 'SHP_OB.', NONE = 0, NEAR_PNT = 1, XMIN = 2, XMAX = 3, YMIN = 4, YMAX = 5 } SHP_OB = protect( SHP_OB) -- Costanti nesting per interferenza lavorazione NST_FMI = { 'NST_FMI.', NONE = 0, LI = 1, RM = 2, LO = 4 } NST_FMI = protect( NST_FMI) -- Costanti nesting automatico per corner di partenza NST_CORNER = { 'NST_CORNER.', BL = 0, TL = 1, BR = 2, TR = 3 } NST_CORNER = protect( NST_CORNER) -- Costanti lavorazioni per tipo di tavola della macchina MCH_TT = { 'MCH_TT.', FLAT = 1 } MCH_TT = protect( MCH_TT) -- Costanti lavorazioni per tipo assi della macchina MCH_AT = { 'MCH_AT.', LINEAR = 1, ROTARY = 2 } MCH_AT = protect( MCH_AT) -- Costanti lavorazioni per tipo teste della macchina (standard o multipla) MCH_HT = { 'MCH_HT.', STD = 1, MULTI = 2, SPECIAL = 3 } MCH_HT = protect( MCH_HT) -- Costanti lavorazioni per criterio scelta soluzione (Solution Choice Criterion) -- STD e OPPOSITE si possono usare solo nelle operazioni (non nelle teste) MCH_SCC = { 'MCH_SCC.', NONE = 0, STD = 1, OPPOSITE = 2, ADIR_XP = 11, ADIR_XM = 12, ADIR_YP = 13, ADIR_YM = 14, ADIR_ZP = 15, ADIR_ZM = 16, ADIR_NEAR = 21, ADIR_FAR = 22 } MCH_SCC = protect( MCH_SCC) -- Costanti lavorazioni per posizionamento grezzo su corner MCH_CR = { 'MCH_CR.', TL = 1, TR = 2, BL = 3, BR = 4 } MCH_CR = protect( MCH_CR) -- Costanti lavorazioni per posizionamento grezzo su centro MCH_CE = { 'MCH_CE.', TC = 1, ML = 2, MR = 3, BC = 4, MC = 5 } MCH_CE = protect( MCH_CE) -- Costanti lavorazioni per famiglia utensile MCH_TF = { 'MCH_TF.', DRILLBIT = 256, SAWBLADE = 512, MILL = 1024, MORTISE = 2048, CHISEL = 4096, WATERJET = 8192, COMPO = 16384 } MCH_TF = protect( MCH_TF) -- Costanti lavorazioni per tipologia utensile MCH_TY = { 'MCH_TY.', NONE = 0, DRILL_STD = 256, DRILL_LONG = 257, SAW_STD = 512, SAW_FLAT = 513, MILL_STD = 1024, MILL_NOTIP = 1025, MILL_POLISHING = 1026, MORTISE_STD = 2048, CHISEL_STD = 4096, WATERJET = 8192, COMPO = 16384 } MCH_TY = protect( MCH_TY) -- Costanti lavorazioni per tipo parametri di utensili MCH_TP = { 'MCH_TP.', ACTIVE = 4096, CORR = 8192, EXIT = 8193, TYPE = 8194, COOLANT = 8195, CORNRAD = 16384, DIAM = 16385, TOTDIAM = 16386, FEED = 16387, ENDFEED = 16388, STARTFEED = 16389, TIPFEED = 16390, LEN = 16391, TOTLEN = 16392, MAXMAT = 16393, LONOFFSET = 16394, RADOFFSET = 16395, SPEED = 16396, SIDEANG = 16397, MAXSPEED = 16398, THICK = 16399, MAXABSORPTION = 16400, MINFEED = 16401, DRAW = 32768, HEAD = 32769, NAME = 32770, SYSNOTES = 32771, USERNOTES = 32772, TCPOS = 32773, UUID = 32774 } MCH_TP = protect( MCH_TP) -- Costanti lavorazioni per tipologia operazione MCH_OY = { 'MCH_OY.', NONE = 0, DISP = 256, DRILLING = 512, SAWING = 1024, MILLING = 2048, POCKETING = 4096, MORTISING = 8192, SAWROUGHING = 16384, SAWFINISHING = 32768, GENMACHINING = 65536, CHISELING = 131072, SURFROUGHING = 262144, SURFFINISHING = 524288, WATERJETTING = 1048576 } MCH_OY = protect( MCH_OY) -- Costanti lavorazioni per tipologia lavorazione MCH_MY = { 'MCH_MY.', NONE = MCH_OY.NONE, DRILLING = MCH_OY.DRILLING, SAWING = MCH_OY.SAWING, MILLING = MCH_OY.MILLING, POCKETING = MCH_OY.POCKETING, MORTISING = MCH_OY.MORTISING, SAWROUGHING = MCH_OY.SAWROUGHING, SAWFINISHING = MCH_OY.SAWFINISHING, GENMACHINING = MCH_OY.GENMACHINING, CHISELING = MCH_OY.CHISELING, SURFROUGHING = MCH_OY.SURFROUGHING, SURFFINISHING = MCH_OY.SURFFINISHING, WATERJETTING = MCH_OY.WATERJETTING } MCH_MY = protect( MCH_MY) -- Costanti lavorazioni per parametri generali delle lavorazioni MCH_GP = { 'MCH_GP.', SPLITARCS = 8192, SAFEZ = 16384, EXTRALONCUTREG = 16385, EXTRARONDRIREG = 16386, HOLEDIAMTOLER = 16387, EXTSAWARCMINRAD = 16388, INTSAWARCMAXSIDEANG = 16389, SAFEAGGRBOTTZ = 16390, MAXDEPTHSAFE = 16391 } MCH_GP = protect( MCH_GP) -- Costanti spezzatura archi MCH_SPLAR ={ 'MCH_SPLAR.', NEVER = 0, GEN_PLANE = 1, NO_XY_PLANE = 2, ALWAYS = 3 } MCH_SPLAR = protect( MCH_SPLAR) -- Costanti lavorazioni per tipo parametri di lavorazione MCH_MP = { 'MCH_MP.', INVERT = 4096, LEAVETAB = 4097, TOOLINVERT = 4098, PROBING = 4099, LIHOLE = 4100, OSCENABLE = 4101, TYPE = 8192, WORKSIDE = 8193, HEADSIDE = 8194, LEADINTYPE = 8195, EXTLINKTYPE = 8196, LEADOUTTYPE = 8197, CURVEUSE = 8198, STEPTYPE = 8199, SUBTYPE = 8200, LEADLINKTYPE = 8201, SCC = 8202, FACEUSE = 8203, EXTCORNERTYPE = 8204, INTCORNERTYPE = 8205, CORNERSLOWPERC = 8206, LPTURNS = 8207, HPTURNS = 8208, TABMIN = 8209, TABMAX = 8210, SPEED = 16384, TOOLSPEED = 16384, -- per compatibilità FEED = 16385, STARTFEED = 16386, ENDFEED = 16387, TIPFEED = 16388, OFFSR = 16389, OFFSL = 16390, DEPTH = 16391, SIDEANGLE = 16392, APPROX = 16393, STARTPOS = 16394, STARTSLOWLEN = 16395, ENDSLOWLEN = 16396, THROUADDLEN = 16397, STEP = 16398, RETURNPOS = 16399, OVERLAP = 16400, TABLEN = 16401, TABDIST = 16402, TABHEIGHT = 16403, TABANGLE = 16404, LITANG = 16405, LIPERP = 16406, LIELEV = 16407, LICOMPLEN = 16408, LOTANG = 16409, LOPERP = 16410, LOELEV = 16411, LOCOMPLEN = 16412, STARTADDLEN = 16413, ENDADDLEN = 16414, OFFSET = 16415, STEPEXTARC = 16416, STEPINTARC = 16417, SIDESTEP = 16418, VERTFEED = 16419, STEPSIDEANG = 16420, OVERL = 16421, STEPBACK = 16422, STEPSIDEANGBACK = 16423, BACKFEED = 16424, LIHOLERAD = 16425, FORWARDANGLE = 16426, PROBINGMINDIST =16427, PROBINGMAXDIST =16428, CORNERSLOWLEN = 16429, THICKREF = 16430, OSCHEIGHT = 16431, OSCRAMPLEN = 16432, OSCFLATLEN = 16433, SIDEANGFEED = 16434, STEPLAST = 16435, EPICYCLESRAD = 16436, EPICYCLESDIST = 16437, NAME = 32768, TOOL = 32769, DEPTH_STR = 32770, TUUID = 32771, UUID = 32772, SYSNOTES = 32773, USERNOTES = 32774, OVERLAP_STR = 32775, OFFSET_STR = 32776, INITANGS= 32777, BLOCKEDAXIS= 32778 } MCH_MP = protect( MCH_MP) -- Costanti foratura per sottotipo lavorazione MCH_DRI_SUB = { 'MCH_DRI_SUB.', STD = 0, ALONG_CURVE = 1 } MCH_DRI_SUB = protect( MCH_DRI_SUB) -- Costanti lavorazioni lama per lato di lavoro MCH_SAW_WS = { 'MCH_SAW_WS.', CENTER = 0, LEFT = 1, RIGHT = 2 } MCH_SAW_WS = protect( MCH_SAW_WS) -- Costanti lavorazioni lama per lato testa MCH_SAW_HS = { 'MCH_SAW_HS.', LEFT = 1, RIGHT = 2 } MCH_SAW_HS = protect( MCH_SAW_HS) -- Costanti lavorazioni lama per tipo di step MCH_SAW_ST = { 'MCH_SAW_ST.', ZIGZAG = 0, ONEWAY = 1, TOANDFROM = 2 } MCH_SAW_ST = protect( MCH_SAW_ST) -- Costanti lavorazioni lama per tipo di attacco MCH_SAW_LI = { 'MCH_SAW_LI.', CENT = 0, STRICT = 1, OUT = 2, EXT_CENT = 3, EXT_OUT = 4 } MCH_SAW_LI = protect( MCH_SAW_LI) -- Costanti lavorazioni lama per link esterno MCH_SAW_EL = { 'MCH_SAW_EL.', CENT = 0, EXT_PREV = 1, EXT_NEXT = 2, EXT_BOTH = 3 } MCH_SAW_EL = protect( MCH_SAW_EL) -- Costanti lavorazioni lama per tipo di uscita ( EXT conservato per compatibilità) MCH_SAW_LO = { 'MCH_SAW_LO.', CENT = 0, STRICT = 1, EXT = 2, EXT_CENT = 2, OUT = 3, EXT_OUT = 4 } MCH_SAW_LO = protect( MCH_SAW_LO) -- Costanti lavorazioni lama per gestione curve MCH_SAW_CRV = { 'MCH_SAW_CRV.', SKIP = 0, APPROX = 1, CONVEX = 2, KEEP = 3 } MCH_SAW_CRV = protect( MCH_SAW_CRV) -- Costanti lavorazioni fresa per lato di lavoro MCH_MILL_WS = { 'MCH_MILL_WS.', CENTER = 0, LEFT = 1, RIGHT = 2 } MCH_MILL_WS = protect( MCH_MILL_WS) -- Costanti lavorazioni fresa per tipo di step MCH_MILL_ST = { 'MCH_MILL_ST.', ZIGZAG = 0, ONEWAY = 1, SPIRAL = 2 } MCH_MILL_ST = protect( MCH_MILL_ST) -- Costanti lavorazioni fresa per tipo di attacco MCH_MILL_LI = { 'MCH_MILL_LI.', NONE = 0, LINEAR = 1, TANGENT = 2, GLIDE = 3, ZIGZAG = 4, HELIX = 5, TG_PERP = 6 } MCH_MILL_LI = protect( MCH_MILL_LI) -- Costanti lavorazioni fresa per tipo di uscita MCH_MILL_LO = { 'MCH_MILL_LO.', NONE = 0, LINEAR = 1, TANGENT = 2, GLIDE = 3, AS_LI = 4, PERP_TG = 5 } MCH_MILL_LO = protect( MCH_MILL_LO) -- Costanti lavorazioni fresa per tipo lavorazione faccia MCH_MILL_FU = { 'MCH_MILL_FU.', NONE = 0, PARAL_DOWN = 1, PARAL_TOP = 2, PARAL_FRONT = 3, PARAL_BACK = 4, PARAL_LEFT = 5, PARAL_RIGHT = 6, ORTHO_DOWN = 33, ORTHO_TOP = 34, ORTHO_FRONT = 35, ORTHO_BACK = 36, ORTHO_LEFT = 37, ORTHO_RIGHT = 38, ORTHO_CONT = 39, ORTUP_DOWN = 65, ORTUP_TOP = 66, ORTUP_FRONT = 67, ORTUP_BACK = 68, ORTUP_LEFT = 69, ORTUP_RIGHT = 70, ORTUP_CONT = 71 } MCH_MILL_FU = protect( MCH_MILL_FU) -- Costanti lavorazioni svuotatura per sottotipo MCH_POCK_SUB = { 'MCH_POCK_SUB.', ZIGZAG = 0, ONEWAY = 1, SPIRALIN = 2, SPIRALOUT = 3 } MCH_POCK_SUB = protect( MCH_POCK_SUB) -- Costanti lavorazioni svuotatura per tipo di attacco MCH_POCK_LI = { 'MCH_POCK_LI.', NONE = 0, GLIDE = 1, ZIGZAG = 2, HELIX = 3 } MCH_POCK_LI = protect( MCH_POCK_LI) -- Costanti lavorazioni svuotatura per tipo di uscita MCH_POCK_LO = { 'MCH_POCK_LO.', NONE = 0, GLIDE = 1 } MCH_POCK_LO = protect( MCH_POCK_LO) -- Costanti lavorazioni sgrossatura con lama per lato testa MCH_SAWROU_HS = { 'MCH_SAWROU_HS.', LEFT = 1, RIGHT = 2 } MCH_SAWROU_HS = protect( MCH_SAWROU_HS) -- Costanti lavorazioni sgrossatura con lama per tipo di step MCH_SAWROU_ST = { 'MCH_SAWROU_ST.', ZIGZAG = 0, ONEWAY = 1 } MCH_SAWROU_ST = protect( MCH_SAWROU_ST) -- Costanti lavorazioni sgrossatura con lama per tipo di attacco MCH_SAWROU_LL = { 'MCH_SAWROU_LL.', CENT = 0, OUT = 1 } MCH_SAWROU_LL = protect( MCH_SAWROU_LL) -- Costanti lavorazioni finitura con lama per lato testa MCH_SAWFIN_HS = { 'MCH_SAWFIN_HS.', LEFT = 1, RIGHT = 2 } MCH_SAWFIN_HS = protect( MCH_SAWFIN_HS) -- Costanti lavorazioni finitura con lama per tipo di step MCH_SAWFIN_ST = { 'MCH_SAWFIN_ST.', ZIGZAG = 0, ONEWAY = 1 } MCH_SAWFIN_ST = protect( MCH_SAWFIN_ST) -- Costanti lavorazioni finitura con lama per tipo di attacco MCH_SAWFIN_LL = { 'MCH_SAWFIN_LL.', CENT = 0, OUT = 1 } MCH_SAWFIN_LL = protect( MCH_SAWFIN_LL) -- Costanti lavorazioni scalpellatura per lato di lavoro MCH_CHISEL_WS = { 'MCH_CHISEL_WS.', LEFT = 1, RIGHT = 2 } MCH_CHISEL_WS = protect( MCH_CHISEL_WS) -- Costanti lavorazioni mortasatura per lato di lavoro MCH_MORTISE_WS = { 'MCH_MORTISE_WS.', LEFT = 1, RIGHT = 2 } MCH_MORTISE_WS = protect( MCH_MORTISE_WS) -- Costanti lavorazioni mortasatura per tipo di step MCH_MORTISE_ST = { 'MCH_MORTISE_ST.', ZIGZAG = 0, ONEWAY = 1 } MCH_MORTISE_ST = protect( MCH_MORTISE_ST) -- Costanti lavorazioni fresa per tipo lavorazione faccia MCH_MORTISE_FU = { 'MCH_MORTISE_FU.', NONE = 0, PARAL_DOWN = 1, PARAL_TOP = 2, PARAL_FRONT = 3, PARAL_BACK = 4, PARAL_LEFT = 5, PARAL_RIGHT = 6 } MCH_MORTISE_FU = protect( MCH_MORTISE_FU) -- Costanti lavorazioni getto d'acqua per lato di lavoro MCH_WJET_WS = { 'MCH_WJET_WS.', CENTER = 0, LEFT = 1, RIGHT = 2 } MCH_WJET_WS = protect( MCH_WJET_WS) -- Costanti lavorazioni getto d'acqua per comportamento su angolo esterno MCH_WJET_EC = { 'MCH_WJET_EC.', NONE = 0, SLOW = 1, LOOP = 2 } MCH_WJET_EC = protect( MCH_WJET_EC) -- Costanti lavorazioni getto d'acqua per comportamento su angolo interno MCH_WJET_IC = { 'MCH_WJET_IC.', NONE = 0, SLOW = 1, } MCH_WJET_IC = protect( MCH_WJET_IC) -- Costanti lavorazioni getto d'acqua per tipo di attacco MCH_WJET_LI = { 'MCH_WJET_LI.', NONE = 0, LINEAR = 1, TANGENT = 2 } MCH_WJET_LI = protect( MCH_WJET_LI) -- Costanti lavorazioni getto d'acqua per tipo di uscita MCH_WJET_LO = { 'MCH_WJET_LO.', NONE = 0, LINEAR = 1, TANGENT = 2, AS_LI = 4 } MCH_WJET_LO = protect( MCH_WJET_LO) -- Costanti lavorazioni per stato simulazione MCH_SIM = { 'MCH_SIM.', OK = 0, END_STEP = 1, END = 2, STOP = 3, OUTSTROKE = 4, DIR_ERR = 5, COLLISION = 6, ERR = 7 } MCH_SIM = protect( MCH_SIM) -- Costanti lavorazioni per stato utente di simulazione MCH_UISIM = { 'MCH_UISIM.', NULL = 0, STOP = 1, PLAY = 2, STEP = 3, PAUSE = 4 } MCH_UISIM = protect( MCH_UISIM) -- Costanti errore simulatore in cieco MCH_SHE = { 'MCH_SHE.', NONE = 0, INIT = 1, OUTSTROKE = 2, DIR_ERR = 3, COLLISION = 4, SPECIAL = 5, GENERAL = 6 } MCH_SHE = protect( MCH_SHE) -- Costanti per tipi oggetti per collisioni in simulatore MCH_SIM_COB = { 'MCH_SIM_COB.', NONE = 0, BOX = 1, CYL = 2, SPHE = 3, CONE = 4 } MCH_SIM_COB = protect( MCH_SIM_COB) --Costanti : stato visualizzazione macchina MCH_LOOK = { 'MCH_LOOK.', TAB = 0, TAB_TOOL = 1, TAB_HEAD = 2, ALL = 3 } MCH_LOOK = protect( MCH_LOOK) return EgtConst