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:
Dario Sassi
2019-11-13 07:34:51 +00:00
parent 6aac5da9b6
commit 0d31c0bbd9
4 changed files with 20 additions and 15 deletions
+8
View File
@@ -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
+2 -2
View File
@@ -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
+8 -11
View File
@@ -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
+2 -2
View File
@@ -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)