diff --git a/LuaLibs/AddManData.lua b/LuaLibs/AddManData.lua index 1fa29fb..6e8896f 100644 --- a/LuaLibs/AddManData.lua +++ b/LuaLibs/AddManData.lua @@ -49,6 +49,7 @@ KEY_SPIRAL_VASE_LEN = 'SpiralVaseLen' KEY_SPIRAL_VASE_INTERP_LEN = 'SpiralVaseInterpLen' KEY_SLICING_TYPE = "SlicingType" KEY_SLICING_DIR = "SlicingDir" +KEY_SLICING_POS = "SlicingPos" KEY_SLICE_STEP = "StrandH" KEY_SHELLS_NBR = "StrandCount" KEY_STRAND = "StrandW" diff --git a/LuaLibs/CalcSlices.lua b/LuaLibs/CalcSlices.lua index 2ed025f..ca9c63d 100644 --- a/LuaLibs/CalcSlices.lua +++ b/LuaLibs/CalcSlices.lua @@ -794,7 +794,7 @@ local function MultiPlanarSlicing( nStmId) local nFirstGrpId local dCrvLen = EgtCurveLength( nSpineId) for i = 0, nMaxSlicesNbr - 1 do - local dCurrLen = max( i * dSliceStep, 100 * GEO.EPS_SMALL) + local dCurrLen = max( i * dSliceStep, 10 * GEO.EPS_SMALL) if dCurrLen > dCrvLen then break end @@ -807,6 +807,7 @@ local function MultiPlanarSlicing( nStmId) end local nEntId = EgtPlaneSurfTmInters( ptOn, vtN, nStmId, nGrpId, GDB_RT.GLOB, TOLER) EgtSetInfo( nGrpId, KEY_SLICING_DIR, vtN) + EgtSetInfo( nGrpId, KEY_SLICING_POS, ptOn) end return nFirstGrpId end @@ -1205,6 +1206,11 @@ function CalcSlices.Exec( nPartId, nStmId) local nRecalc = 0 local dDeltaZStart = 0.2 + -- !!! Modifica provvisoria per MultiPlanar !!! + if nSlicingType == SLICING_TYPE.MULTIPLANAR then + dZmax = 2000 + end + local vZSlices = ComputeZSlices( dSliceStep, dZmin, dDeltaZStart, dZmax) local bOk = true