diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 51f2bd6..30290cc 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -395,6 +395,16 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b if bCustDiceCut and #vCuts == 0 then return false, -1 end + + -- per caso speciale in cui c'è il rischio che il cubetto rimanga appoggiato sul motore, faccio solo i tagli perpendicolari seguiti da due tagli verticali laterali + local bDangerousReliefCut = false + local frFace = BL.GetFaceHvRefDim( Proc.Id, 0) + -- verifico che i tagli perpendicolari siano perpendicolari al lato più vicino a Z + local vtTemp = EgtSurfTmFacetNormVersor( vCuts[1][1], 0, GDB_ID.ROOT) ^ frFace:getVersY() + if #vCuts > 0 and not ( bDownCut or bFromBottom) and bVertCutOk and vtTemp:isSmall() then + bDangerousReliefCut = true + end + --DC.PrintOrderCut( vCuts) if #vCuts > 0 then -- sistemo posizione nel DB e nome @@ -453,6 +463,12 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b end end end + + -- + if bDangerousReliefCut and i % 2 == 0 then + + end + -- lavoro la faccia for j = 1, #vCuts[i] do -- se taglio dal basso