3dPrinting :
- modifiche e correzioni per Costolature (Setti -> Ribs).
This commit is contained in:
+102
-84
@@ -37,29 +37,33 @@ local function GetLayerParamsForToolPathCalc()
|
||||
LayerParams.dWipeLen = EgtGetInfo( s_nPartId, KEY_WIPE_LEN, 'd')
|
||||
LayerParams.vtSlicing = EgtGetInfo( s_nPartId, KEY_SLICING_DIR, 'v')
|
||||
LayerParams.dTDiam = EgtGetInfo( s_nPartId, KEY_TOOL_DIAM, 'd')
|
||||
-- Parametri setti
|
||||
LayerParams.nSettiShellsNbr = EgtGetInfo( s_nPartId, KEY_SETTI_SHELLS_NBR, 'i')
|
||||
LayerParams.bSettiLink = EgtGetInfo( s_nPartId, KEY_SETTI_LINK, 'b')
|
||||
LayerParams.bSettiInvert = EgtGetInfo( s_nPartId, KEY_SETTI_INVERT_DIR, 'b')
|
||||
LayerParams.bSettiLIInvert = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_IN_INVERT, 'b')
|
||||
LayerParams.dSettiLILen = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_IN_LEN, 'd')
|
||||
LayerParams.bSettiLOInvert = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_OUT_INVERT, 'b')
|
||||
LayerParams.dSettiLOLen = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_OUT_LEN, 'd')
|
||||
LayerParams.dSettiLOWipeTang = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_OUT_WIPE1, 'd')
|
||||
LayerParams.dSettiLOWipe = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_OUT_WIPE2, 'd')
|
||||
LayerParams.dSettiLOWipeAng = EgtGetInfo( s_nPartId, KEY_SETTI_LEAD_OUT_WIPE_DIR, 'd')
|
||||
-- Parametri costolature
|
||||
LayerParams.nRibsShellsNbr = EgtGetInfo( s_nPartId, KEY_RIBS_SHELLS_NBR, 'i')
|
||||
LayerParams.bRibsLink = EgtGetInfo( s_nPartId, KEY_RIBS_LINK, 'b')
|
||||
LayerParams.bRibsInvert = EgtGetInfo( s_nPartId, KEY_RIBS_INVERT_DIR, 'b')
|
||||
LayerParams.bRibsLIInvert = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_IN_INVERT, 'b')
|
||||
LayerParams.dRibsLILen = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_IN_LEN, 'd')
|
||||
LayerParams.bRibsLOInvert = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_INVERT, 'b')
|
||||
LayerParams.dRibsLOLen = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_LEN, 'd')
|
||||
LayerParams.dRibsLOWipeTang = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE1, 'd')
|
||||
LayerParams.dRibsLOWipe = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE2, 'd')
|
||||
LayerParams.dRibsLOWipeAng = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE_DIR, 'd')
|
||||
|
||||
return LayerParams
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function ComputeZCorrection( LayerParams)
|
||||
local _, dAng, _ = SphericalFromVector( LayerParams.vtSlicing)
|
||||
-- direzione dell'estrusore
|
||||
local vtN = LayerParams.vtSlicing
|
||||
local dNxy = sqrt( vtN:getX() * vtN:getX() + vtN:getY() * vtN:getY())
|
||||
local dNz = vtN:getZ()
|
||||
-- correzione per l'offset
|
||||
local dCorr1 = LayerParams.dOffs * sin( dAng)
|
||||
-- eventuale correzione per il diametro ugello
|
||||
local dCorr2 = max( LayerParams.dTDiam * 0.5 * sin( dAng) - LayerParams.dLayHeight * cos( dAng) - LayerParams.dStrand * 0.5 * sin( dAng) + 10 * GEO.EPS_SMALL, 0.0)
|
||||
return dCorr1 + dCorr2
|
||||
local dCorr1 = LayerParams.dOffs * dNxy
|
||||
-- correzione per il diametro dell'ugello
|
||||
local dCorr2 = ( LayerParams.dOffs - LayerParams.dStrand / 2 + LayerParams.dTDiam / 2) * dNxy - LayerParams.dLayHeight * dNz
|
||||
-- massimo tra le due
|
||||
return max( dCorr1, dCorr2)
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
@@ -174,7 +178,7 @@ local function AddRetractionOnLastCrv( nTpathGrpId, LayerParams)
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function CalcSettiLink( ptS, ptE, nCurr, nLoopGrp, bForceLink)
|
||||
local function CalcRibsLink( ptS, ptE, nCurr, nLoopGrp, bForceLink)
|
||||
|
||||
local nCrvId = EgtGetFirstInGroup( nLoopGrp)
|
||||
-- recupero la curva di offset su cui calcolare link
|
||||
@@ -211,7 +215,7 @@ local function CalcSettiLink( ptS, ptE, nCurr, nLoopGrp, bForceLink)
|
||||
end
|
||||
|
||||
EgtTrimCurveStartEndAtParam( nLinkId, dParS, dParE)
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.SETTO)
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.RIB)
|
||||
if bInvert then EgtInvertCurve( nLinkId) end
|
||||
|
||||
if bClosed then
|
||||
@@ -231,16 +235,16 @@ local function CalcSettiLink( ptS, ptE, nCurr, nLoopGrp, bForceLink)
|
||||
-- se non ho trovato un collegamento sul bordo, creo una linea tra ptS e ptE
|
||||
if bForceLink then
|
||||
local nLinkId = EgtCurveCompoFromPoints( EgtGetParent( nCurr), {ptS, ptE})
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.SETTO)
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.RIB)
|
||||
EgtRelocateGlob( nLinkId, nCurr, GDB_IN.AFTER)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function AddSettiLeadIn( nCrv, nLoopsGrp, LayerParams)
|
||||
local function AddRibsLeadIn( nCrv, nLoopsGrp, LayerParams)
|
||||
|
||||
if LayerParams.dSettiLILen < GEO.EPS_SMALL then return end
|
||||
if LayerParams.dRibsLILen < GEO.EPS_SMALL then return end
|
||||
|
||||
-- recupero la curva di offset su cui calcolare leadin
|
||||
local ptS = EgtSP( nCrv)
|
||||
@@ -261,9 +265,9 @@ local function AddSettiLeadIn( nCrv, nLoopsGrp, LayerParams)
|
||||
if abs( dParS - dEndPar) < GEO.EPS_SMALL then
|
||||
EgtInvertCurve( nCrvId)
|
||||
elseif abs( dParS) > GEO.EPS_SMALL or bClosed then
|
||||
-- se ho più tratti possibili scelgo in base al parametro SettiLIInvert
|
||||
-- se ho più tratti possibili scelgo in base al parametro RibsLIInvert
|
||||
local nNewId = EgtSplitCurveAtParam( nCrvId, dParS) or EgtCopyGlob( nCrvId, nCrv, GDB_IN.BEFORE)
|
||||
if LayerParams.bSettiLIInvert then
|
||||
if LayerParams.bRibsLIInvert then
|
||||
EgtInvertCurve( nCrvId)
|
||||
EgtErase( nNewId)
|
||||
else
|
||||
@@ -272,9 +276,9 @@ local function AddSettiLeadIn( nCrv, nLoopsGrp, LayerParams)
|
||||
end
|
||||
end
|
||||
|
||||
EgtTrimCurveEndAtLen( nCrvId, LayerParams.dSettiLILen)
|
||||
EgtTrimCurveEndAtLen( nCrvId, LayerParams.dRibsLILen)
|
||||
EgtInvertCurve( nCrvId)
|
||||
EgtSetInfo( nCrvId, KEY_TYPE, TYPE.SETTO)
|
||||
EgtSetInfo( nCrvId, KEY_TYPE, TYPE.RIB)
|
||||
EgtSetName( nCrvId, LEAD_IN_CRV)
|
||||
return
|
||||
end
|
||||
@@ -284,11 +288,11 @@ local function AddSettiLeadIn( nCrv, nLoopsGrp, LayerParams)
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
|
||||
if abs( LayerParams.dSettiLOLen) < GEO.EPS_SMALL and
|
||||
abs( LayerParams.dSettiLOWipeTang) < GEO.EPS_SMALL and
|
||||
abs( LayerParams.dSettiLOWipe) < GEO.EPS_SMALL then return end
|
||||
if abs( LayerParams.dRibsLOLen) < GEO.EPS_SMALL and
|
||||
abs( LayerParams.dRibsLOWipeTang) < GEO.EPS_SMALL and
|
||||
abs( LayerParams.dRibsLOWipe) < GEO.EPS_SMALL then return end
|
||||
|
||||
local ptE = EgtEP( nCrv)
|
||||
-- recupero la curva di offset su cui calcolare lead out
|
||||
@@ -315,8 +319,8 @@ local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
EgtInvertCurve( nCrvRef)
|
||||
bInvert = true
|
||||
elseif abs( dParE) > GEO.EPS_SMALL or bClosed then
|
||||
-- se ho più tratti possibili scelgo in base al parametro SettiLOInvert
|
||||
bInvert = LayerParams.bSettiLOInvert
|
||||
-- se ho più tratti possibili scelgo in base al parametro RibsLOInvert
|
||||
bInvert = LayerParams.bRibsLOInvert
|
||||
local nNewId = EgtSplitCurveAtParam( nCrvRef, dParE) or EgtCopyGlob( nCrvRef, nCrv, GDB_IN.AFTER)
|
||||
if bInvert then
|
||||
EgtInvertCurve( nCrvRef)
|
||||
@@ -330,10 +334,10 @@ local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
local vtE = EgtSV( nCrvRef)
|
||||
|
||||
-- primo tratto ( segue offset con flusso aperto)
|
||||
if LayerParams.dSettiLOLen > GEO.EPS_SMALL then
|
||||
if LayerParams.dRibsLOLen > GEO.EPS_SMALL then
|
||||
nCrvLO = EgtCopyGlob( nCrvRef, nCrv, GDB_IN.AFTER)
|
||||
EgtTrimCurveEndAtLen( nCrvLO, LayerParams.dSettiLOLen)
|
||||
EgtSetInfo( nCrvLO, KEY_TYPE, TYPE.SETTO)
|
||||
EgtTrimCurveEndAtLen( nCrvLO, LayerParams.dRibsLOLen)
|
||||
EgtSetInfo( nCrvLO, KEY_TYPE, TYPE.RIB)
|
||||
EgtSetName( nCrvLO, LEAD_OUT_CRV)
|
||||
-- aggiorno ptE e vtE
|
||||
ptE = EgtEP( nCrvLO)
|
||||
@@ -341,10 +345,10 @@ local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
end
|
||||
|
||||
-- secondo tratto ( segue offset con flusso chiuso)
|
||||
if LayerParams.dSettiLOWipeTang > GEO.EPS_SMALL then
|
||||
if LayerParams.dRibsLOWipeTang > GEO.EPS_SMALL then
|
||||
nWipe = EgtCopyGlob( nCrvRef, nCrvLO or nCrv, GDB_IN.AFTER)
|
||||
EgtTrimCurveStartAtLen( nWipe, LayerParams.dSettiLOLen)
|
||||
EgtTrimCurveEndAtLen( nWipe, LayerParams.dSettiLOWipeTang)
|
||||
EgtTrimCurveStartAtLen( nWipe, LayerParams.dRibsLOLen)
|
||||
EgtTrimCurveEndAtLen( nWipe, LayerParams.dRibsLOWipeTang)
|
||||
-- aggiorno ptE e vtE
|
||||
ptE = EgtEP( nWipe)
|
||||
vtE = EgtEV( nWipe)
|
||||
@@ -352,10 +356,10 @@ local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
EgtErase( nCrvRef)
|
||||
|
||||
-- terzo tratto ( diretto verso esterno con ugello chiuso)
|
||||
if LayerParams.dSettiLOWipe > GEO.EPS_SMALL then
|
||||
local dAng = EgtIf( bInvert, 90, - 90) + LayerParams.dSettiLOWipeAng
|
||||
if LayerParams.dRibsLOWipe > GEO.EPS_SMALL then
|
||||
local dAng = EgtIf( bInvert, 90, - 90) + LayerParams.dRibsLOWipeAng
|
||||
vtE:rotate( LayerParams.vtSlicing, dAng)
|
||||
local ptFinal = ptE + vtE * LayerParams.dSettiLOWipe
|
||||
local ptFinal = ptE + vtE * LayerParams.dRibsLOWipe
|
||||
if nWipe then
|
||||
-- unisco al secondo tratto così da averne uno solo per il wiping
|
||||
EgtAddCurveCompoLine( nWipe, ptFinal)
|
||||
@@ -379,11 +383,11 @@ local function AddSettiLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function CalcSettiToolPath( nCrvGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
local function CalcRibsToolPath( nCrvGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
|
||||
local nSettiGrp = EgtGetFirstNameInGroup( nCrvGrp, SETTI_GRP)
|
||||
-- aggiungo i setti nel toolpath
|
||||
local vEntIds = EgtGetNameInGroup( nSettiGrp, SETTI_CRV .. '*')
|
||||
local nRibsGrp = EgtGetFirstNameInGroup( nCrvGrp, RIBS_GRP)
|
||||
-- aggiungo le costolature nel toolpath
|
||||
local vEntIds = EgtGetNameInGroup( nRibsGrp, RIBS_CRV .. '*')
|
||||
for i = 1, #vEntIds do
|
||||
-- copio entità nel gruppo toolpath
|
||||
local nNewEntId = EgtCopyGlob( vEntIds[i], nTpathGrpId, GDB_IN.LAST_SON)
|
||||
@@ -396,8 +400,8 @@ local function CalcSettiToolPath( nCrvGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
end
|
||||
|
||||
-- estraggo i contorni della superficie di offset
|
||||
local nLoopGrp = EgtGroup( nSettiGrp)
|
||||
local nSrfId = EgtGetFirstNameInGroup( nSettiGrp, LAYER_SRF)
|
||||
local nLoopGrp = EgtGroup( nRibsGrp)
|
||||
local nSrfId = EgtGetFirstNameInGroup( nRibsGrp, LAYER_SRF)
|
||||
local nChunksNbr = EgtSurfFrChunkCount( nSrfId)
|
||||
for i = 0, nChunksNbr do
|
||||
local nRes, nCnt = EgtExtractSurfFrChunkLoops( nSrfId, i, nLoopGrp)
|
||||
@@ -410,67 +414,67 @@ local function CalcSettiToolPath( nCrvGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
end
|
||||
end
|
||||
|
||||
-- recupero i gruppi di setti
|
||||
local tabSetti = {}
|
||||
local nFirst = EgtGetFirstNameInGroup( nTpathGrpId, SETTI_CRV .. '*')
|
||||
-- recupero i gruppi delle costolature
|
||||
local tabRibs = {}
|
||||
local nFirst = EgtGetFirstNameInGroup( nTpathGrpId, RIBS_CRV .. '*')
|
||||
while nFirst do
|
||||
local sName = EgtGetName( nFirst)
|
||||
local vIds = EgtGetNameInGroup( nTpathGrpId, sName)
|
||||
table.insert( tabSetti, vIds)
|
||||
nFirst = EgtGetNextName( vIds[#vIds], SETTI_CRV .. '*')
|
||||
table.insert( tabRibs, vIds)
|
||||
nFirst = EgtGetNextName( vIds[#vIds], RIBS_CRV .. '*')
|
||||
end
|
||||
|
||||
-- orientamento delle curve
|
||||
local bInvert = LayerParams.bSettiInvert
|
||||
for i = 1, #tabSetti do
|
||||
-- oriento tutte le passate relative ad uno stesso setto
|
||||
for j = 1, #tabSetti[i] do
|
||||
local bInvert = LayerParams.bRibsInvert
|
||||
for i = 1, #tabRibs do
|
||||
-- oriento tutte le passate relative ad una stessa costolatura
|
||||
for j = 1, #tabRibs[i] do
|
||||
if ( bInvert and j % 2 == 1) or ( not bInvert and j % 2 == 0) then
|
||||
EgtInvertCurve( tabSetti[i][j])
|
||||
EgtInvertCurve( tabRibs[i][j])
|
||||
end
|
||||
end
|
||||
-- aggiorno bInvert per il gruppo di setti successivo
|
||||
if LayerParams.bSettiLink and LayerParams.nSettiShellsNbr % 2 == 1 then
|
||||
-- aggiorno bInvert per il gruppo di costolature successivo
|
||||
if LayerParams.bRibsLink and LayerParams.nRibsShellsNbr % 2 == 1 then
|
||||
bInvert = not bInvert
|
||||
end
|
||||
end
|
||||
|
||||
-- Link
|
||||
-- collego le passate di uno stesso setto
|
||||
for i = 1, #tabSetti do
|
||||
for j = 1, #tabSetti[i] - 1 do
|
||||
local ptS = EgtEP( tabSetti[i][j])
|
||||
local ptE = EgtSP( tabSetti[i][j + 1])
|
||||
CalcSettiLink( ptS, ptE, tabSetti[i][j], nLoopGrp, true)
|
||||
-- collego le passate di una stessa costolatura
|
||||
for i = 1, #tabRibs do
|
||||
for j = 1, #tabRibs[i] - 1 do
|
||||
local ptS = EgtEP( tabRibs[i][j])
|
||||
local ptE = EgtSP( tabRibs[i][j + 1])
|
||||
CalcRibsLink( ptS, ptE, tabRibs[i][j], nLoopGrp, true)
|
||||
-- creo link fittizio per eliminare tratto corrispondente sulla curva di offset
|
||||
local nFakeLink = CalcSettiLink( EgtSP( tabSetti[i][j]), EgtEP( tabSetti[i][j + 1]), tabSetti[i][j], nLoopGrp, false)
|
||||
local nFakeLink = CalcRibsLink( EgtSP( tabRibs[i][j]), EgtEP( tabRibs[i][j + 1]), tabRibs[i][j], nLoopGrp, false)
|
||||
EgtErase( nFakeLink)
|
||||
end
|
||||
end
|
||||
-- se necessario collego i diversi setti
|
||||
if LayerParams.bSettiLink then
|
||||
for i = 1, #tabSetti - 1 do
|
||||
local nCnt = #tabSetti[i]
|
||||
local ptS = EgtEP( tabSetti[i][nCnt])
|
||||
local ptE = EgtSP( tabSetti[i + 1][1])
|
||||
CalcSettiLink( ptS, ptE, tabSetti[i][nCnt], nLoopGrp, false)
|
||||
-- se necessario collego le diverse costolature
|
||||
if LayerParams.bRibsLink then
|
||||
for i = 1, #tabRibs - 1 do
|
||||
local nCnt = #tabRibs[i]
|
||||
local ptS = EgtEP( tabRibs[i][nCnt])
|
||||
local ptE = EgtSP( tabRibs[i + 1][1])
|
||||
CalcRibsLink( ptS, ptE, tabRibs[i][nCnt], nLoopGrp, false)
|
||||
end
|
||||
end
|
||||
|
||||
-- leadin/leadout
|
||||
local nCrvSetto = EgtGetFirstNameInGroup( nTpathGrpId, SETTI_CRV .. '*')
|
||||
while nCrvSetto do
|
||||
local nCrvRib = EgtGetFirstNameInGroup( nTpathGrpId, RIBS_CRV .. '*')
|
||||
while nCrvRib do
|
||||
-- verifico se necessario lead in
|
||||
local nPrev = EgtGetPrev( nCrvSetto)
|
||||
local nPrev = EgtGetPrev( nCrvRib)
|
||||
if not nPrev or EgtGetName( nPrev) then
|
||||
AddSettiLeadIn( nCrvSetto, nLoopGrp, LayerParams)
|
||||
AddRibsLeadIn( nCrvRib, nLoopGrp, LayerParams)
|
||||
end
|
||||
-- verifico se necessario lead out
|
||||
local nNext = EgtGetNext( nCrvSetto)
|
||||
local nNext = EgtGetNext( nCrvRib)
|
||||
if not nNext or EgtGetName( nNext) then
|
||||
AddSettiLeadOut( nCrvSetto, nTpathGrpId, nLoopGrp, LayerParams)
|
||||
AddRibsLeadOut( nCrvRib, nTpathGrpId, nLoopGrp, LayerParams)
|
||||
end
|
||||
nCrvSetto = EgtGetNextName( nCrvSetto, SETTI_CRV .. '*')
|
||||
nCrvRib = EgtGetNextName( nCrvRib, RIBS_CRV .. '*')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -495,7 +499,21 @@ function CalcToolPath.Exec( nPartId)
|
||||
-- recupero i parametri per calcolo dei toolpath
|
||||
local LayerParams = GetLayerParamsForToolPathCalc()
|
||||
local dCorrZ = ComputeZCorrection( LayerParams)
|
||||
|
||||
|
||||
-- se necessario sposto anche il solido di partenza
|
||||
if dCorrZ > 10 * GEO.EPS_SMALL then
|
||||
local vtMove = Vector3d( 0, 0, dCorrZ) + LayerParams.dLayHeight / 2 * LayerParams.vtSlicing
|
||||
local SolidLayId = EgtGetFirstNameInGroup( s_nPartId, ORIGINAL_SOLID)
|
||||
if SolidLayId then
|
||||
EgtSetInfo( s_nPartId, KEY_MOVED_PART, vtMove)
|
||||
local EntId = EgtGetFirstInGroup( SolidLayId)
|
||||
while EntId do
|
||||
EgtMove( EntId, vtMove)
|
||||
EntId = EgtGetNext( EntId)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Ciclo sui layer
|
||||
for nIdx = 1, #vLayIds do
|
||||
|
||||
@@ -627,10 +645,10 @@ function CalcToolPath.Exec( nPartId)
|
||||
nId = EgtGetNextName( nId, SHELL_CRV .. "*")
|
||||
end
|
||||
|
||||
-- sistemo i setti
|
||||
local nSettiGrp = EgtGetFirstNameInGroup( nCrvGrpId, SETTI_GRP)
|
||||
if nSettiGrp then
|
||||
CalcSettiToolPath( nCrvGrpId, nTpathGrpId, LayerParams, dCorrZ)
|
||||
-- sistemo le costolature
|
||||
local nRibsGrp = EgtGetFirstNameInGroup( nCrvGrpId, RIBS_GRP)
|
||||
if nRibsGrp then
|
||||
CalcRibsToolPath( nCrvGrpId, nTpathGrpId, LayerParams, dCorrZ)
|
||||
end
|
||||
|
||||
--passo al gruppo di contorni successivo
|
||||
|
||||
Reference in New Issue
Block a user