3dPrinting :

- piccole migliorie per stampa 45deg.
This commit is contained in:
DarioS
2022-09-07 12:55:34 +02:00
parent 4f8b33019b
commit bc85b6f7a8
+6 -37
View File
@@ -14,7 +14,7 @@ local AMD = require( 'AddManData')
---------------------------------------------------------------------
local s_nPartId
local s_dOffsCorr = 50 * GEO.EPS_SMALL
local s_dOffsCorr = 10 * GEO.EPS_SMALL
---------------------------------------------------------------------
local function GetLayerParamsForPathCalc()
@@ -859,9 +859,11 @@ local function CalcRibsPaths( nSliceGrp, nRibsGrp, LayerParams, nIdx, nMaxStrand
else
table.insert( tOldNewIds[ vOrderedRibs[i]], nCrv + nInd)
-- controllo la direzione
local vtDir = EgtMV( nCrv + nInd)
local dVal = EgtIf( abs( vtDir:getX()) > abs( vtDir:getY()) - GEO.EPS_SMALL, vtDir:getX(), vtDir:getY())
-- controllo la direzione (consideriamo inclinazione solo lungo X)
local vtDir = EgtMV( nCrv + nInd)
local dXl = sqrt( sqr( vtDir:getX()) + sqr( vtDir:getZ()))
local dYl = abs( vtDir:getY())
local dVal = EgtIf( dXl > dYl - GEO.EPS_SMALL, vtDir:getX(), vtDir:getY())
if dVal < - GEO.EPS_SMALL then
EgtInvertCurve( nCrv + nInd)
EgtSetInfo( nCrv + nInd, KEY_INVERTED_CRV, 1)
@@ -978,39 +980,6 @@ end
--------------------------------------------------------------------
local function UpdateTotalShellSurf( nSrf, nCrv, dStrand, nGrpId)
--[[local nCopyCrv = EgtCopyGlob( nCrv, nGrpId)
-- creo percorso chiuso corrispondente
if not EgtCurveIsClosed( nCrv) then
local nCopy2 = EgtCopyGlob( nCrv, nGrpId)
EgtInvertCurve( nCopy2)
EgtAddCurveCompoCurve( nCopyCrv, nCopy2)
end
local nOffsP = EgtOffsetCurveAdv( nCopyCrv, dStrand - s_dOffsCorr, GDB_OT.EXTEND)
local vSrfIds = { nOffsP}
if EgtCurveIsClosed( nCrv) then
-- se curva è chiusa bisogna tenere conto dell'interno
local nOffsM, nCnt = EgtOffsetCurveAdv( nCopyCrv, - dStrand + s_dOffsCorr)
if nOffsM and nOffsM ~= GDB_ID.NULL then
for nId = nOffsM, nOffsM + nCnt - 1 do
table.insert( vSrfIds, nId)
end
end
end
local nSrfExtraShell = EgtSurfFlatRegion( nGrpId, vSrfIds)
if not EgtSurfFrSubtract( nSrf, nSrfExtraShell) then
EgtInvertSurf( nSrfExtraShell)
EgtSurfFrSubtract( nSrf, nSrfExtraShell)
end
--EgtErase( nCopyCrv)
--for i = 1, #vSrfIds do
-- EgtErase( vSrfIds[i])
--end
--EgtErase( nSrfExtraShell)
]]--
local nSrfExtraShell = EgtSurfFrFatCurve( nGrpId, nCrv, dStrand + s_dOffsCorr, false)
if nSrfExtraShell then