DataWall :
- modifiche per gestire rotazioni di pezzi di tipo LAYER da TS3v7.
This commit is contained in:
+10
-7
@@ -1,4 +1,4 @@
|
||||
-- BatchProcess.lua by Egaltech s.r.l. 2021/04/09
|
||||
-- BatchProcess.lua by Egaltech s.r.l. 2021/06/23
|
||||
-- Gestione calcolo batch disposizione e lavorazioni per Pareti
|
||||
-- 2020/07/24 Nuvola di punti riferita allo Zero Tavola.
|
||||
-- 2020/10/28 Corretto spostamento pezzi per rotazioni (0 o 180) e inversioni( 0, 90, 180, o 270).
|
||||
@@ -296,8 +296,9 @@ if bToProcess then
|
||||
end
|
||||
EgtSetInfo( vWall[i].Id, 'INVERTED_DONE', dInvAng)
|
||||
end
|
||||
-- correzioni per rotazioni non centrate di produzioni TS3 (quasi sempre 0 o 180 deg)
|
||||
if not bProj and dRotAng and dInvAng then
|
||||
-- correzioni per rotazioni non centrate di produzioni TS3 (quasi sempre multipli di 90 deg)
|
||||
local sType = EgtGetInfo( vWall[i].Id, 'TYPE', 's')
|
||||
if not bProj and dRotAng and dInvAng and sType ~= 'LAYER' then
|
||||
if abs( dInvAng - 0) < GEO.EPS_ANG_SMALL then
|
||||
if abs( dRotAng - 180) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosZ = vWall[i].PosZ - vWall[i].Box:getDimY()
|
||||
@@ -306,17 +307,19 @@ if bToProcess then
|
||||
end
|
||||
elseif abs( dInvAng - 90) < GEO.EPS_ANG_SMALL or abs( dInvAng + 270) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosZ = vWall[i].PosZ - vWall[i].Box:getDimY()
|
||||
if abs( dRotAng - 180) < GEO.EPS_ANG_SMALL then
|
||||
if abs( dRotAng - 180) < GEO.EPS_ANG_SMALL or abs( dRotAng + 180) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosX = vWall[i].PosX - vWall[i].Box:getDimX()
|
||||
elseif abs( dRotAng - 270) < GEO.EPS_ANG_SMALL or abs( dRotAng + 90) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosX = vWall[i].PosX - vWall[i].Box:getDimX()
|
||||
end
|
||||
elseif abs( dInvAng - 180) < GEO.EPS_ANG_SMALL or abs( dInvAng + 180) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosX = vWall[i].PosX - vWall[i].Box:getDimX()
|
||||
if abs( dRotAng - 0) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosZ = vWall[i].PosZ - vWall[i].Box:getDimY()
|
||||
--elseif abs( dRotAng - 270) < GEO.EPS_ANG_SMALL or abs( dRotAng + 90) < GEO.EPS_ANG_SMALL then
|
||||
-- vWall[i].PosX = vWall[i].PosX + vWall[i].Box:getDimX()
|
||||
elseif abs( dRotAng - 270) < GEO.EPS_ANG_SMALL or abs( dRotAng + 90) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosZ = vWall[i].PosZ - vWall[i].Box:getDimY()
|
||||
elseif abs( dRotAng - 90) < GEO.EPS_ANG_SMALL or abs( dRotAng + 270) < GEO.EPS_ANG_SMALL then
|
||||
vWall[i].PosX = vWall[i].PosX + vWall[i].Box:getDimX()
|
||||
vWall[i].PosZ = vWall[i].PosZ - vWall[i].Box:getDimY()
|
||||
end
|
||||
elseif abs( dInvAng - 270) < GEO.EPS_ANG_SMALL or abs( dInvAng + 90) < GEO.EPS_ANG_SMALL then
|
||||
if abs( dRotAng - 0) < GEO.EPS_ANG_SMALL then
|
||||
|
||||
Reference in New Issue
Block a user