3dPrinting 2.5d3 :
- migliorata gestione di setti con fori - gestione di setti con link disegnato dall'utente dallo stesso lato del solido.
This commit is contained in:
@@ -349,18 +349,25 @@ local function AddRetraction( nCrvId, vtSlicing, dCoastingLen, dWipeLen, dWipeDi
|
||||
nCopyId = nil
|
||||
EgtTrimCurveEndAtLen( nWipeId, dWipeLen)
|
||||
else
|
||||
-- se extra shell, infill a zigzag, spiral vase o rib che non termina sulla parete
|
||||
local vtDir = EgtEV( nCoastingId or nCrvId, GDB_ID.ROOT)
|
||||
local dAng = dWipeDir + s_nDefaultWipeAng
|
||||
-- verifico se necessario cambiare il segno all'angolo
|
||||
local bChangeSign = false
|
||||
-- riempimento
|
||||
if nType == TYPE.INFILL or nType == TYPE.AUX_SOLID then
|
||||
local vtS = EgtGetInfo( nCrvId, KEY_ZIG_ZAG_DIR, 'v')
|
||||
local bSameDir = AreSameVectorApprox( vtS, vtDir)
|
||||
bChangeSign = ( bInverted == bSameDir)
|
||||
else
|
||||
-- rib
|
||||
elseif nType == TYPE.RIB then
|
||||
local bInvertStrandOrder = EgtGetInfo( nCrvId, KEY_RIBS_INVERT_STRAND_ORDER, 'b') or false
|
||||
local bInvertDir = EgtGetInfo( nCrvId, KEY_RIBS_INVERT_DIR, 'b') or false
|
||||
bChangeSign = ( bInvertDir ~= bInvertStrandOrder)
|
||||
-- extra shell
|
||||
elseif nType == TYPE.EXTRA_SHELL or nType == TYPE.EXTRA_OUTER_SHELL then
|
||||
bChangeSign = bInverted
|
||||
end
|
||||
|
||||
vtDir:rotate( vtSlicing, EgtIf( bChangeSign, - dAng, dAng))
|
||||
local ptS = EgtEP( nCoastingId or nCrvId, GDB_ID.ROOT)
|
||||
local ptE = FindWipeEndPoint( ptS, vtDir, dWipeLen, vtSlicing)
|
||||
@@ -1038,7 +1045,7 @@ local function CalcRibsToolPath( vEntIds, nRibsGrp, nTpathGrpId, LayerParams)
|
||||
else
|
||||
local bLoopRib = EgtGetInfo( tabRibs[i][1], KEY_LOOP_RIB, 'b') or false
|
||||
for j = 1, #tabRibs[i] - 1 do
|
||||
local bUserLink = EgtGetInfo( tabRibs[i][j], KEY_RIBS_USER_LINK, 'b') or false
|
||||
local bUserLink = ( EgtGetInfo( tabRibs[i][j], KEY_RIBS_USER_LINK, 'b') or false) and ( EgtGetInfo( tabRibs[i][j+1], KEY_RIBS_USER_LINK, 'b') or false)
|
||||
local nOrig1 = EgtGetInfo( tabRibs[i][j], KEY_ORIGINAL_RIB, 'i') or 0
|
||||
local nOrig2 = EgtGetInfo( tabRibs[i][j + 1], KEY_ORIGINAL_RIB, 'i') or 0
|
||||
local nSplitId1 = EgtGetInfo( tabRibs[i][j], KEY_SPLIT_ID, 'i') or 0
|
||||
|
||||
Reference in New Issue
Block a user