DataBeam :
- mortasa di coda va eseguita dopo tutte le altre lavorazioni - in taglio con lama corretto angolo per passare ad Up (da 46deg portato a 44.9deg) - in DtMortise direzione feature viene derivata da estrusione curva associata - in LapJoint corretto calcolo step per passate con lama.
This commit is contained in:
@@ -364,6 +364,14 @@ local function OrderFeatures( vProc, b3Raw)
|
||||
if B2.Tail and ( Split.Identify( B1) or not B1.Tail) then
|
||||
return true
|
||||
end
|
||||
-- se primo è mortasa di coda, sempre dopo tutto
|
||||
if B1.Tail and ( Mortise.Identify( B1) or DtMortise.Identify( B1)) then
|
||||
return false
|
||||
end
|
||||
-- se secondo è mortasa di coda, sempre dopo tutto
|
||||
if B2.Tail and ( Mortise.Identify( B2) or DtMortise.Identify( B2)) then
|
||||
return true
|
||||
end
|
||||
-- se primo è taglio longitudinale completo o altra lav. lunga, dopo tutte le altre feature non di coda
|
||||
if abs( B1.Box:getDimX() - b3Raw:getDimX()) < 0.2 * b3Raw:getDimX() then
|
||||
-- se anche l'altra è lunga, faccio prima quello a Zmax
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- ProcessCut.lua by Egaltech s.r.l. 2019/10/17
|
||||
-- ProcessCut.lua by Egaltech s.r.l. 2019/11/12
|
||||
-- Gestione calcolo singoli tagli di lama per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -142,7 +142,7 @@ function ProcessCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead)
|
||||
local dVzLimDwnUp = dNzLimDwnUp
|
||||
if j ~= 1 then
|
||||
vtNewOrthoO = -vtOrthoO
|
||||
dVzLimDwnUp = -0.72
|
||||
dVzLimDwnUp = -0.707
|
||||
end
|
||||
local bOk, sErr = BL.MakeOneFaceBySaw( vCuts[i][j], 0, sCutting, dSawDiam, vtNewOrthoO, dVzLimDwnUp, 0.1, BD.CUT_SIC, 0, 0, nil, b3Raw)
|
||||
if not bOk then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- ProcessMortise.lua by Egaltech s.r.l. 2019/09/25
|
||||
-- ProcessMortise.lua by Egaltech s.r.l. 2019/11/12
|
||||
-- Gestione calcolo mortase a coda di rondice per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -23,14 +23,13 @@ end
|
||||
---------------------------------------------------------------------
|
||||
-- Classificazione della feature
|
||||
function ProcessDtMortise.Classify( Proc)
|
||||
-- recupero i dati della faccia di fondo
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
-- verifico sia una superficie
|
||||
if not vtN then
|
||||
return false
|
||||
end
|
||||
-- recupero i dati della curva di contorno della faccia di fondo
|
||||
local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i')
|
||||
if not AuxId then return false end
|
||||
AuxId = AuxId + Proc.Id
|
||||
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
|
||||
-- verifico se la mortasa è lavorabile solo da sotto
|
||||
local bDown = ( vtN:getZ() < - 0.1)
|
||||
local bDown = ( vtExtr:getZ() < - 0.1)
|
||||
return true, bDown
|
||||
end
|
||||
|
||||
@@ -48,10 +47,8 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId)
|
||||
-- recupero i dati della curva e del top
|
||||
local dDepth = abs( EgtCurveThickness( AuxId))
|
||||
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
EgtOutLog( 'ptC=' .. tostring( ptC) ..' vtN=' .. tostring( vtN), 3)
|
||||
-- verifico che la mortasa non sia orientata verso il basso (-5 deg)
|
||||
if vtN:getZ() < - 0.1 then
|
||||
if vtExtr:getZ() < - 0.1 then
|
||||
local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' DtMortise from bottom impossible'
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/11/10
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2019/11/12
|
||||
-- Gestione calcolo mezzo-legno per Travi
|
||||
-- 2019/10/08 Agg. gestione OpenPocket.
|
||||
|
||||
@@ -559,7 +559,7 @@ local function MakeByChainOrSaw( Proc, nPhase, nRawId, nPartId, nFacInd, rfFac,
|
||||
-- ingombro del grezzo
|
||||
local b3Raw = EgtGetRawPartBBox( nRawId)
|
||||
-- Eseguo i tagli
|
||||
local nStep = ceil( ( dV - 0.5) / dSawThick)
|
||||
local nStep = ceil( dV / dSawThick)
|
||||
local dStep = 0
|
||||
if nStep > 1 then
|
||||
dStep = ( dV - dSawThick) / ( nStep - 1)
|
||||
|
||||
Reference in New Issue
Block a user