cc55202ec5
- primo commit con versione corrente.
229 lines
14 KiB
Lua
229 lines
14 KiB
Lua
--
|
|
-- 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
|