Come precedente
This commit is contained in:
@@ -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 ??????
|
||||
|
||||
Reference in New Issue
Block a user