-- -- EEEEEEEEEE GGGGGG wwww wwww -- EEEEEEEEEE GGGGGGGGGG wwww wwww -- EEEE GGGG GGGG wwww wwww wwww -- EEEE GGGG wwww wwww wwww -- EEEEEEE GGGG GGGGGGG wwww wwwwww wwww -- EEEEEEE GGGG GGGGGGG wwww wwwwww wwww -- EEEE GGGG GGGG wwww wwwwwwww wwww -- EEEE GGGG GGGG wwww wwww wwww wwww -- EEEEEEEEEE GGGGGGGGGG wwwwwwww wwwwwwww -- EEEEEEEEEE GGGGGG wwwwwww wwwwwww -- -- EgtDoorsData.lua by EgalWare s.r.l. 22.06.2016 -- Doors Data global -- 2018.11.30 V1.001 FM Add variable DGD.NOBVROT to manage the bevel rotation on particular hardware: roller latch -- 2019.10.15 V1.002 FM Add variables DGD.tDecorations and DGD.Material -- 2019.10.18 V2.000 FM Manage use Materials -- 2019.11.22 V2.001 FM Add vadiables to new profiles section on all sides -- 2022.07.27 V2.002 FM Modification to use compiled code -- Tavola per definizione modulo local EgtDoorsData = {} print( 'EgtDoorsData started') ----------------------------------------------------------------- -- Costanti COS3 = 0.99862953475457387378449205843944 SIN3 = 0.05233595624294383272211862960908 TAN3 = 0.05240777928304120403880582447398 ----------------------------------------------------------------- -- Dati generali da file DDF --if not DGD then -- DGD = {} --end ----------------------------------------------------------------- function ResetDoorsGlobDataAssembly() -- Dati generali DGD.EGR = 0 -- identificativo codice errore globale DGD.EGM = '' -- messaggi errori globali end ----------------------------------------------------------------- function ResetDoorsGlobData( bImportdxf) -- Dati generali DGD.ERR = 0 -- identificativo codice errore DGD.ERM = '' -- messagi errore DGD.EMC = '' -- errori di macchina (lavorazioni) DGD.PZ = GDB_ID.NULL -- identificativo pezzo porta DGD.bProoduce = true -- flag produzione pezzo DGD.bMM = true -- flag mm/pollici DGD.sCode = '' -- codice porta DGD.tOrder = {} -- tabella con dati dell'ordine DGD.tOptions = {} -- tabella con dati delle opzioni DGD.sDate = '' -- data DGD.dT = 0 -- spessore if not bImportdxf then DGD.dW = 0 -- larghezza DGD.dH = 0 -- altezza DGD.sSwing = '' -- tipo apertura LH/RH/LHR/RHR/ ... DGD.sSecSide = '' -- disposizione lato secure UP o DN quando non ci sono profili bevel DGD.tProfs = {} -- tabella con dati profili ( .trimming, .machining, .offset) end DGD.Pressure = 0 -- pressione DGD.sAliasSwng = '' -- alias tipo di apertura DGD.tPosition = {} -- posizione rispetto a porta principale DGD.tSizeLayer = {} -- tabella layer delle quotature DGD.Material = '' -- Materiale porta (parametri speciali) DGD.Properties = {} -- proprietà porta (parametri speciali) DGD.tVisions = {} -- tabella con dati sfinestrature vision ( .shape, ...) DGD.tLouvers = {} -- tabella con dati sfinestrature louver ( .lenght, ...) DGD.tMailSlots = {} -- tabella con dati sfinestrature mail_slot ( .template, ...) DGD.tViewers = {} -- tabella con dati spioncini ( .template, .position, ...) DGD.tFlushPulls = {} -- tabella con dati sfinestrature flush pull ( .template, .position, .back_set, ...) DGD.tHinges = {} -- tabella con dati cerniere ( .template, .position, .back_set, .thickness) DGD.tEPTs = {} -- tabella con dati EPT ( .template, .toptocl, .facetocl, .thickness) DGD.tLocks = {} -- tabella con dati serrature ( .template, .position, .back_set) DGD.tFlushBolts = {} -- tabella con dati flush_bolt ( .template, .position, ...) DGD.tEdgePulls = {} -- tabella con dati edge_pull ( .template, .position, ...) DGD.tRollerLatchs = {} -- tabella con dati roller_latch ( .template, .side, .position, ...) DGD.tPivots = {} -- tabella con dati pivot ( .template, .side, .position, ...) DGD.tStopsAndClosers = {} -- tabella con dati stop and closer ( .template, .position, ...) DGD.tOHeads = {} -- tabella con dati over head ( .template, .position, ...) DGD.tStrikes = {} -- tabella con dati strike ( .template, .position, .back_set) DGD.tGrooves = {} -- tabella con dati groove ( .template, .type, ...) DGD.tRabbets = {} -- tabella con dati rabbet ( .template, .type, ...) DGD.tDecorations = {} -- tabella con dati decoration ( .template, .depth, ...) -- Posizione serratura e flag porta a spinta DGD.Lock = '' -- 'L' = left, 'R' = right DGD.Push = false -- true/false DGD.Position = 0 -- posizione di inserimento della ferramenta -- posizioni supplementari aggregatore DGD.PosXItem = 0 -- posizione supplementare aggregatore (per alcuni tipi di ferramenta) DGD.PosYItem = 0 -- posizione supplementare aggregatore (per alcuni tipi di ferramenta) DGD.PosZItem = 0 -- posizione supplementare aggregatore (per alcuni tipi di ferramenta) DGD.PosDir = 1 -- verso di spostamento (positiva/negativa) applicato a posizione supplementare aggregatore -- variabili per gestire la rotazione delle geometrie su bevel -- (per quegli item che ruotano tutte le geometrie in esso definite, come ad esempio il roller latch) DGD.NOBVROT = false -- blocca la rotazione su lato vebel DGD.LSREF = false -- indica che la geometria base è latch strike, cioè sborda -- valore posizionamento in Z geometrie con frame exterior DGD.dZedExtFrame = 0 -- valore posizionamento in X geometrie con frame exterior DGD.dSideExtFrame = 0 -- valore larghezza ribasso su frame exterior laterali con sill DGD.dWidthRabbet = 0 -- Coordinate estremi porta DGD.Lut = 0 -- sinistra sopra alto X di P7 DGD.Lub = 0 -- sinistra sopra basso X di P1 DGD.Ldt = 0 -- sinistra sotto alto X di P10 DGD.Ldb = 0 -- sinistra sotto basso X di P4 DGD.Lm = 0 -- sinistra medio X di P5 e P11 DGD.Lmb = 0 -- sinistra medio X di P5 DGD.Lmt = 0 -- sinistra medio X di P11 DGD.Rut = 0 -- destra sopra alto X di P8 DGD.Rub = 0 -- destra sopra basso X di P2 DGD.Rdt = 0 -- destra sotto alto X di P9 DGD.Rdb = 0 -- destra sotto basso X di P3 DGD.Rm = 0 -- destra medio X di P6 e P12 DGD.Rmb = 0 -- destra medio X di P6 DGD.Rmt = 0 -- destra medio X di P12 DGD.Lua = 0 -- sinistra sopra arco X di P13 DGD.Lda = 0 -- sinistra sotto arco X di P16 DGD.Lma = 0 -- sinistra medio arco X di P17 DGD.Rua = 0 -- destra sopra arco X di P14 DGD.Rda = 0 -- destra sotto arco X di P15 DGD.Rma = 0 -- destra medio arco X di P18 DGD.Bul = 0 -- inferiore sopra sinistra Y di P1 DGD.Bur = 0 -- inferiore sopra destra Y di P2 DGD.Bdl = 0 -- inferiore sotto sinistra Y di P4 DGD.Bdr = 0 -- inferiore sotto destra Y di P3 DGD.Bm = 0 -- inferiore medio Y di P5 e P6 DGD.Bml = 0 -- inferiore medio Y di P5 DGD.Bmr = 0 -- inferiore medio Y di P6 DGD.Tul = 0 -- superiore sopra sinistra Y di P7 DGD.Tur = 0 -- superiore sopra destra Y di P8 DGD.Tdl = 0 -- superiore sotto sinistra Y di P10 DGD.Tdr = 0 -- superiore sotto destra Y di P9 DGD.Tm = 0 -- superiore medio Y di P11 e P12 DGD.Tml = 0 -- superiore medio Y di P11 DGD.Tmr = 0 -- superiore medio Y di P12 DGD.Aul = 0 -- curva sopra sinistra Y di P13 DGD.Aur = 0 -- curva sopra destra Y di P14 DGD.Adl = 0 -- curva sotto sinistra Y di P16 DGD.Adr = 0 -- curva sotto destra Y di P15 DGD.Aml = 0 -- curva medio sinistra Y di P17 DGD.Amr = 0 -- curva medio destra Y di P18 DGD.Aut = 0 -- curva sopra alto Y di P19 DGD.Adt = 0 -- curva sotto alto Y di P20 DGD.Amt = 0 -- curva medio alto Y di P21 DGD.Cmu = 0 -- curva medio alto top X di P19 DGD.Cmd = 0 -- curva medio alto bot X di P20 DGD.Cmm = 0 -- curva medio alto med X di P21 DGD.RMa = 0 -- curva max destra X di P22 DGD.LMa = 0 -- curva max sinistra X di P23 DGD.AMr = 0 -- curva max destra Y di P22 DGD.AMl = 0 -- curva max sinistra Y di P23 DGD.rma = 0 -- curva min destra X di P24 DGD.lma = 0 -- curva min sinistra X di P25 DGD.amr = 0 -- curva min destra Y di P24 DGD.aml = 0 -- curva min sinistra Y di P25 DGD.Dpu = 0 -- Delta proiez angolo sopra Y delta DGD.Dpd = 0 -- Delta proiez angolo sotto Y delta DGD.Dpm = 0 -- Delta proiezione angolo Y delta medio DGD.Ult = 0 -- sopra sinistra alto Z di P7 DGD.Ulb = 0 -- sopra sinistra basso Z di P1 DGD.Urt = 0 -- sopra destra alto Z di P8 DGD.Urb = 0 -- sopra destra basso Z di P2 DGD.Dlt = 0 -- sotto sinistra alto Z di P10 DGD.Dlb = 0 -- sotto sinistra basso Z di P4 DGD.Drt = 0 -- sotto destra alto Z di P9 DGD.Drb = 0 -- sotto destra basso Z di P3 DGD.Mlt = 0 -- medio sinistra alto Z di P11 DGD.Mlb = 0 -- medio sinistra basso Z di P5 DGD.Mrt = 0 -- medio destra alto Z di P12 DGD.Mrb = 0 -- medio destra basso Z di P6 DGD.Ula = 0 -- sopra sinistra arco Z di P13 DGD.Ura = 0 -- sopra destra arco Z di P14 DGD.Dla = 0 -- sotto sinistra arco Z di P16 DGD.Dra = 0 -- sotto destra arco Z di P15 DGD.Mla = 0 -- medio sinistra arco Z di P17 DGD.Mra = 0 -- medio destra arco Z di P18 -- variabile top porta con angolo DGD.Tpa = nil -- variabili per lati porta lavorati DGD.MHS = 0 -- machine hinge side DGD.MLS = 0 -- machine lock side DGD.MTS = 0 -- machine top side DGD.MBS = 0 -- machine bottom side -- variabili per punti e direzioni porta DGD.A1 = 0 DGD.A2 = 0 DGD.A3 = 0 DGD.A4 = 0 DGD.A5 = 0 DGD.A6 = 0 DGD.A7 = 0 DGD.A8 = 0 -- variabili per quotature DGD.QXP = 0 DGD.QXM = 0 DGD.QYP = 0 DGD.QYM = 0 -- variabile conteggio probe DGD.CPR = 0 DGD.DPR = 15 -- variabile match profilo edge break (EB) DGD.EBP = '' -- variabile forzatura sbordo lato narrow del tipo hardware Groove DGD.GRS = nil -- variabile settata dal prod. 0: nessuna tastatura completa; 1: tastatura completa, fase tastatura porta attivata; 2: tastatura completa: fase generazione porta -- DGD.PROBE = 0 -- Flags -- tipo esecuzione (se non impostato default entrambe) if not DGD.MachEn then DGD.MachEn = 2 -- 0 solo geom esterna, 1 solo geom mach, 2 entrambe end -- Inactive doors con lato bevel invertito automaticamente DGD.RevInBv = 0 -- 0 non invertito automaticamente, 1 invertito automaticamente -- Swing drive disposition ( enable or disable) to calculate disposition ( only without bevel profiles) DGD.SwDD = 1 -- 0 upper and lower geometries found drive the disposition; 1 swing drive disposition end return EgtDoorsData