Come precedente

This commit is contained in:
Carlo Baronchelli
2021-10-19 16:53:22 +02:00
parent c2a4e995f4
commit e5a366ced1
+40 -29
View File
@@ -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 ??????