3dPrinting :
- piccole migliorie per stampa 45deg.
This commit is contained in:
+6
-37
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user