3dPrinting :

- utilizzo delle regioni con numero diverso di passate per forare pareti
- correzioni varie.
This commit is contained in:
SaraP
2022-09-15 17:17:14 +02:00
parent f7b1c4297c
commit 34f90a1271
7 changed files with 130 additions and 66 deletions
+9 -10
View File
@@ -94,14 +94,13 @@ local function AddLink( vCrv, nTpathGrpId, nLinkType, dLinkParam, dSPOffs, dStra
-- altrimenti verifico se ha senso creare raccordo
-- local dDist = dist( EgtEP( vCrv[i-1]), EgtSP( vCrv[i]))
local dDist = EgtPointCurveDist( EgtEP( vCrv[i-1]), vCrv[i])
if dDist < dStrand + 2 then
if dDist < dStrand + 10 * GEO.EPS_SMALL then
local nLinkId
if k > 1 then
-- modifico lo start point
local dLen = EgtCurveLength( vCrv[i-1]) - abs( dSPOffs)
EgtTrimCurveEndAtLen( vCrv[i-1], dLen)
EgtChangeClosedCurveStartPoint( vCrv[i], EgtEP( vCrv[i-1]))
end
-- modifico lo start point
local dLen = EgtCurveLength( vCrv[i-1]) - EgtIf( k > 1, abs( dSPOffs), 0)
EgtTrimCurveEndAtLen( vCrv[i-1], dLen)
EgtChangeClosedCurveStartPoint( vCrv[i], EgtEP( vCrv[i-1]))
-- aggiungo il raccordo
EgtTrimCurveEndAtLen( vCrv[i-1], EgtCurveLength( vCrv[i-1]) - dLinkParam / 2)
EgtTrimCurveStartAtLen( vCrv[i], dLinkParam / 2)
@@ -133,7 +132,7 @@ end
local function AddLeadIn( nCrvId, LayerParams, nGrpId)
local ptE = EgtSP( nCrvId)
local vtTang = EgtSV( nCrvId)
local vtTang = EgtSV( nCrvId)
local vtOrtho = Vector3d( vtTang)
local dAng = 90
if ( LayerParams.bInvert and LayerParams.nOrder == PRINT_ORDER.INF_INT_EXT) or
@@ -327,7 +326,7 @@ local function CalcRibsLink( nCurr, nNext, nLoopGrp, dStrand, bForceLink)
if dParS and dParE then
local bInvert = false
local bClosed = EgtCurveIsClosed( nCrvId)
if bClosed then
if bClosed then
-- se la curva è chiusa verifico i due percorsi possibili dParS->dParE e dParE->dParS
local nCopyId1 = EgtCopyGlob( nCrvId, nCurr, GDB_IN.AFTER)
local nCopyId2 = EgtCopyGlob( nCrvId, nCurr, GDB_IN.AFTER)
@@ -348,7 +347,7 @@ local function CalcRibsLink( nCurr, nNext, nLoopGrp, dStrand, bForceLink)
local nCopyId = EgtCopyGlob( nCrvId, nLoopGrp)
local nLinkId = EgtCopyGlob( nCrvId, nCurr, GDB_IN.AFTER)
if dParS > dParE and not bInvert then
if dParS > dParE and not bClosed then
bInvert = true
dParS, dParE = dParE, dParS
end