From 3198287dfe55c38c51e98bf4a0c1633e70acbd0d Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 20 May 2025 11:16:40 +0200 Subject: [PATCH] - modifiche parziali per scrittura ingombri su disposizione --- LuaLibs/BeamLib.lua | 24 +++++++++++++++++------- LuaLibs/FeatureLib.lua | 8 ++------ LuaLibs/MachiningLib.lua | 3 +++ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 3319b81..de26fe3 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -104,18 +104,28 @@ function BeamLib.GetPartSplittingPoints( Part) end ------------------------------------------------------------------------------------------------------------- -function BeamLib.AddPhaseWithRawParts( nRawId, OriXR, PosXR, dDeltaSucc) +function BeamLib.AddPhaseWithRawParts( Part, OriXR, PosXR, dDeltaSucc) + local idRaw = Part.idRaw + + -- TODO scrittura ingombri sulla disposizione + -- deve arrivare un valore per ogni rotazione + -- deve essere spostato in configurazione macchina??? + local nPhase = EgtGetCurrPhase() + local idDisp = EgtGetPhaseDisposition( nPhase) + EgtSetInfo( idDisp, 'HCING', Part.NotClampableLength.dNotClampableLengthHead) + EgtSetInfo( idDisp, 'TCING', Part.NotClampableLength.dNotClampableLengthTail) + EgtAddPhase() -- si aprono i limiti tavola per permettere rotazioni di pezzi più larghi della tavola EgtSetTableAreaOffset( 2000, 2000, 2000, 2000) local dRawMove = 0 - while nRawId do - EgtKeepRawPart( nRawId) - EgtMoveToCornerRawPart( nRawId, OriXR, PosXR) - EgtMoveRawPart( nRawId, Vector3d( - dRawMove, 0, 0)) + while idRaw do + EgtKeepRawPart( idRaw) + EgtMoveToCornerRawPart( idRaw, OriXR, PosXR) + EgtMoveRawPart( idRaw, Vector3d( - dRawMove, 0, 0)) if dRawMove == 0 then dRawMove = dRawMove + dDeltaSucc end - dRawMove = dRawMove + EgtGetRawPartBBox( nRawId):getDimX() - nRawId = EgtGetNextRawPart( nRawId) + dRawMove = dRawMove + EgtGetRawPartBBox( idRaw):getDimX() + idRaw = EgtGetNextRawPart( idRaw) end end diff --git a/LuaLibs/FeatureLib.lua b/LuaLibs/FeatureLib.lua index a43a8f9..dda53d5 100644 --- a/LuaLibs/FeatureLib.lua +++ b/LuaLibs/FeatureLib.lua @@ -80,12 +80,8 @@ function FeatureLib.NeedTopologyFeature( Proc) return true elseif ID.IsBlockHaus( Proc) then return true - elseif ID.IsRidgeLap( Proc) then - if Proc.nFct == 3 then - return false - else - return true - end + elseif ID.IsRidgeLap( Proc) and Proc.nFct ~= 3 then + return true end -- se feature non tra quelle sopra, riconoscimento topologico non necessario diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 264c22a..240d18f 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -979,6 +979,9 @@ function MachiningLib.AddOperations( vProc, Part, sRotation) RESULT[MACHININGS[i].Proc.nIndexInResult].ChosenStrategy.sStatus = 'Not-Applicable' RESULT[MACHININGS[i].Proc.nIndexInResult].ChosenStrategy.sApplyInfo = sErr RESULT[MACHININGS[i].Proc.nIndexInResult].ChosenStrategy.nApplyError = nErr + else + -- TODO qui scrivere .NotClampableLength nella parte + end RESULT[MACHININGS[i].Proc.nIndexInResult].ChosenStrategy.bIsApplyOk = bIsApplyOk