From e5a366ced153bf2066c7d395ae41ed3192425a6b Mon Sep 17 00:00:00 2001 From: Carlo Baronchelli Date: Tue, 19 Oct 2021 16:53:22 +0200 Subject: [PATCH] Come precedente --- Frontalini_ecc/CompoAF/Alz&Front.lua | 69 ++++++++++++++++------------ 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/Frontalini_ecc/CompoAF/Alz&Front.lua b/Frontalini_ecc/CompoAF/Alz&Front.lua index dd80985..92033d7 100644 --- a/Frontalini_ecc/CompoAF/Alz&Front.lua +++ b/Frontalini_ecc/CompoAF/Alz&Front.lua @@ -22,6 +22,9 @@ -- 23/08/2021 - inizio calcolo spostamenti con trigonometria -- 30/08/2021 - caso [b(r1r2r3 -- 06/10/2021 - da Sara 00a con modifiche by Nicola + correzioni +-- 19/10/2021 - etichettatura lati inclinati ... o completamento casi mancanti ...? + +-- |TO DO : Imporre una soglia minima per angolo di inclinazione tagli| -- Intestazioni require( 'EgtBase') @@ -41,7 +44,7 @@ local CMP = {} -- elenco dei parametri visualizzati nell'interfaccia del programma OMAG-Cut CMP.A_Height=30 -- altezza delle alzatine CMP.F_Height=30 -- altezza dei frontalini -CMP.A_DeltaAng=0.5 -- angolo (semiangolo) di incremento per tagli inclinati +CMP.A_DeltaAng=0 -- angolo (semiangolo) di incremento per tagli inclinati CMP.F_DeltaAng=0.5 CMP.ThicknessRaw=10 -- spessore del grezzo -- parametri passati da OmagCut @@ -85,11 +88,19 @@ end -- -- Scrittura info e etichetta con inclinazione dei lati dei rettangoli -local function SideAngSetInfo(SideId, Lay, Gamma, dOffset, dHLbl) +local function SideAngSetInfo(SideId, Lay, Gamma, dOffset, dHLbl, Text) EgtSetInfo( SideId, "SideAng", Gamma) -- -F_Delta? - EgtSetInfo( SideId, "OrigSideAng", Gamma) -- -F_Delta? - local Lbl = EgtNumToString(Gamma,1)..'°' - LblL1 = AddLabelAl( Lay, SideId, dOffset*0.02, Lbl, dHLbl, -90, BLACK()) + EgtSetInfo( SideId, "OrigSideAng", Gamma) -- -F_Delta + local Lbl + if Text == nil then + Lbl = EgtNumToString(Gamma,1)..'°' + --LblL1 = AddLabelAl( Lay, SideId, dOffset*0.02, Lbl, dHLbl, -90, BLACK()) + LblL1 = AddLabel( Lay, SideId, dOffset*0.02, Lbl, dHLbl/1.5, -90, BLACK()) + else + Lbl = Text..EgtNumToString(Gamma,1)..'°' + --LblL1 = AddLabelAl( Lay, SideId, dOffset*0.02, Lbl, dHLbl, -90, BLACK()) + LblL1 = AddLabel( Lay, SideId, dOffset*0.02, Lbl, dHLbl, -90, BLACK()) + end end -- @@ -383,41 +394,45 @@ local function CMP_Draw(bPreview) if Tab[N].InfoSd == 1 then -- CASI RIFERITI AL LATO PRECEDENTE - -- **1) Ap0.sx** = non continua da lato precedente, angolo 'a sx' + -- **Ap0.sx** = non continua da lato precedente, angolo 'a sx' if (Tab[N].InfoSd ~= Tab[Tab[N].RecPrv].InfoSd) and Alphap > 0 then - Gamma1 = 90 - Betap + Gamma1 = 90 - Betap -- - A_Delta --SideAngSetInfo ( l2, LayLbl, Gamma, dStdOffs, dHLbl) -- (in caso **p0.sx.2** = Alphap <= 90, non si fa taglio inclinato) - -- **2) Ap0.dx** = non continua da lato precedente, angolo 'a dx' + -- **Ap0.dx** = non continua da lato precedente, angolo 'a dx' elseif (Tab[N].InfoSd ~= Tab[Tab[N].RecPrv].InfoSd) and Alphap < 0 then - Gamma1 = Betap - 90 -- meno F_Delta ??????? + Gamma1 = 90 - Betap -- - A_Delta --SideAngSetInfo ( l2, LayLbl, Gamma, dStdOffs, dHLbl) - -- **3) Ap1.sx** = continua da lato precedente, angolo 'a sx' + -- **Ap1.sx** = continua da lato precedente, angolo 'a sx' elseif (Tab[N].InfoSd == Tab[Tab[N].RecPrv].InfoSd) and Alphap > 0 then - Gamma1 = (90-Betap/2-A_Delta) + Gamma1 = (90 - Betap/2) -- - A_Delta/2) --SideAngSetInfo ( l2, LayLbl, Gamma, dStdOffs, dHLbl) - -- **4) Ap1.dx** = continua da lato precedente, angolo 'a dx' - elseif (Tab[N].InfoSd == Tab[Tab[N].RecPrv].InfoSd) and Alphap < 0 then - Gamma1 = -(90-Betap/2-A_Delta) + -- **Ap1.dx** = continua da lato precedente, angolo 'a dx' + elseif (Tab[N].InfoSd == Tab[Tab[N].RecPrv].InfoSd) and Alphap < 0 then + -- ************************************* togliere il meno ? + Gamma1 = -(90 - Betap/2) -- - A_Delta/2) + -- ************************************** --SideAngSetInfo ( l2, LayLbl, Gamma, dStdOffs, dHLbl) end -- CASI RIFERITI AL LATO SUCCESSIVO -- **1) As0.sx** = non continua al lato successivo, angolo 'a sx' if (Tab[N].InfoSd ~= Tab[Tab[N].RecNxt].InfoSd) and Alphas > 0 then - Gamma2 = 90 - Betas -- meno F_Delta ??? + Gamma2 = 90 - Betas -- - A_Delta --SideAngSetInfo ( l4, LayLbl, Gamma, dStdOffs, dHLbl) -- **2) As0.dx** = non continua al lato successivo, angolo 'a dx' elseif (Tab[N].InfoSd ~= Tab[Tab[N].RecNxt].InfoSd) and Alphas < 0 then - Gamma2 = Betas - 90 -- meno F_Delta ??? + Gamma2 = 90 - Betas -- - A_Delta --SideAngSetInfo ( l4, LayLbl, Gamma, dStdOffs, dHLbl) -- **3) As1.sx** = continua al lato successivo, angolo 'a sx' elseif (Tab[N].InfoSd == Tab[Tab[N].RecNxt].InfoSd) and Alphas > 0 then - Gamma2 = (90-Betas/2-A_Delta) + Gamma2 = (90 - Betas/2) -- -A_Delta/2) --SideAngSetInfo ( l4, LayLbl, Gamma, dStdOffs, dHLbl) -- **4) As1.dx** = continua al lato successivo, angolo 'a dx' - elseif (Tab[N].InfoSd == Tab[Tab[N].RecNxt].InfoSd) and Alphas < 0 then - Gamma2 = - (90-Betas/2-A_Delta) + elseif (Tab[N].InfoSd == Tab[Tab[N].RecNxt].InfoSd) and Alphas < 0 then + -- ************************************* togliere il meno ? + Gamma2 = - (90-Betas/2) -- -A_Delta/2) + -- ************************************** --SideAngSetInfo ( l4, LayLbl, Gamma, dStdOffs, dHLbl) end @@ -442,7 +457,7 @@ local function CMP_Draw(bPreview) -- |.zPrvAng = PrecSide-Side_Angle; .zNxtAng = Side-ProxSide_Angle| -- |.RefAF = GUID Reference.| - -- CASI RIFERITI AL LATO PRECEDENTE + -- CASI RIFERITI AL LATO PRECEDENTE -- **1) Fp0.sx** = non continua da lato precedente, angolo 'a sx' if (Tab[N].InfoSd ~= Tab[Tab[N].RecPrv].InfoSd) and Alphap > 0 then if Alphap > 90 then @@ -475,7 +490,7 @@ local function CMP_Draw(bPreview) -- CASI RIFERITI AL LATO SUCCESSIVO - -- |ripeti LEGENDA 1: campi di SideTab)| + -- |ripeti LEGENDA 1: campi di SideTab)| -- |.IdSd = Side_Id; .IdPz = Pz_Id; .Frame = Ref_Id; .InfoSd = SideInfo(Alz/Front);| -- |.l1---.l4 = Rectangle sides|; |.RContour = contorno del rettengolo| -- |.RecPrv = Previous Record; RecNxt = Next Record| @@ -514,23 +529,19 @@ local function CMP_Draw(bPreview) --SideAngSetInfo ( l4, LayLbl, Gamma, dStdOffs, dHLbl) end - - -- ******************** CHIAMARE QUI FUNZIONE RETTANGOLO ******************************** - -- chiamo la funzione per il disegno (senso antiorario) dei lati del rettangolo 'allineato' local l1, l2, l3, l4 = DrawRectangle (Pz, Lay, BaseL + Delta1 + Delta2 , HeightL, sName, RefToAF, Delta1, Delta2) -- inserisco gli Id dei lati del rettangolo nel Side_Record in SideTab SideTab[SideNum].l1 = l1; SideTab[SideNum].l2 = l2; SideTab[SideNum].l3 = l3; SideTab[SideNum].l4 = l4 - + -- Scrivo le INFO per taglio inclinato nei componenti (lati) del disegno SideAngSetInfo ( l2, LayLbl, Gamma1, dStdOffs, dHLbl) SideAngSetInfo ( l4, LayLbl, Gamma2, dStdOffs, dHLbl) - - - -- taglio inclinato a -(45+delta) del lato superiore del frontalino Gamma = -(45+F_Delta) SideAngSetInfo ( l1, LayLbl, Gamma, dStdOffs, dHLbl) - SideAngSetInfo ( Tab[N].IdSd, LayLbl, Gamma, dStdOffs, dHLbl) + SideAngSetInfo ( Tab[N].IdSd, LayLbl, Gamma, dStdOffs, dHLbl, 'A'..EgtNumToString(N)..'=') + -- |TO DO: bisogna cancellare il nome del lato del piano cucina| + -- || oppure concatenare a quest'ultimo l'angolo Gamma e eliminare l'ultima istruzione sopra| end --AlZATINE/FRONTALINI -- ???? prevedere caso di errore (info ~= da 1 e da 2 e non nulla ??????