DataBeam :

- unificate Pocket e Notch con LapJoint
- correzioni varie.
This commit is contained in:
Dario Sassi
2019-06-17 07:50:48 +00:00
parent c661b41aa8
commit b1c422b563
8 changed files with 53 additions and 134 deletions
+10 -19
View File
@@ -1,4 +1,4 @@
-- BeamExec.lua by Egaltech s.r.l. 2019/04/26
-- BeamExec.lua by Egaltech s.r.l. 2019/06/14
-- Libreria esecuzione lavorazioni per Travi
-- Tabella per definizione modulo
@@ -45,8 +45,6 @@ _G.package.loaded.ProcessLapJoint = nil
local LapJoint = require( 'ProcessLapJoint')
_G.package.loaded.ProcessChamfer = nil
local Chamfer = require( 'ProcessChamfer')
_G.package.loaded.ProcessPocket = nil
local Pocket = require( 'ProcessPocket')
_G.package.loaded.ProcessDrill = nil
local Drill = require( 'ProcessDrill')
_G.package.loaded.ProcessTenon = nil
@@ -343,6 +341,14 @@ local function OrderFeatures( vProc, b3Raw)
if B2.Tail and ( Split.Identify( B1) or not B1.Tail) then
return true
end
-- se primo è taglio longitudinale completo, dopo tutte le altre feature non di coda
if abs( B1.Box:getDimX() - b3Raw:getDimX()) < 100 then
return B1.Box:getMin():getX() + 50 > B2.Box:getCenter():getX()
end
-- se secondo è taglio longitudinale completo, dopo tutte le altre feature non di coda
if abs( B2.Box:getDimX() - b3Raw:getDimX()) < 100 then
return B1.Box:getCenter():getX() > B2.Box:getMin():getX() + 50
end
-- se primo è foro e l'altro no, lo penalizzo
if B1.Prc == 40 and B2.Prc ~= 40 then
return B1.Box:getCenter():getX() > B2.Box:getMax():getX() + 100
@@ -363,14 +369,6 @@ local function OrderFeatures( vProc, b3Raw)
return ( B1.Diam > B2.Diam)
end
end
-- se primo è taglio longitudinale completo, dopo tutte le altre feature non di coda
if abs( B1.Box:getDimX() - b3Raw:getDimX()) < 100.0 then
return B1.Box:getMin():getX() + 200.0 > B2.Box:getCenter():getX()
end
-- se secondo è taglio longitudinale completo, dopo tutte le altre feature non di coda
if abs( B2.Box:getDimX() - b3Raw:getDimX()) < 100.0 then
return B1.Box:getCenter():getX() > B2.Box:getMin():getX() + 200.0
end
-- se entrambi tenoni e si intersecano, metto prima tenone vero e poi base tenone
if Tenon.Identify( B1) and Tenon.Identify( B2) and
B1.Box:getMin():getX() < B2.Box:getMax():getX() + 100 * GEO.EPS_SMALL and B2.Box:getMin():getX() < B1.Box:getMax():getX() + 100 * GEO.EPS_SMALL then
@@ -432,12 +430,9 @@ local function ClassifyFeatures( vProc, b3Raw)
-- se mezzo-legno di testa
elseif RidgeLap.Identify( Proc) then
bOk, bDown = RidgeLap.Classify( Proc)
-- se mezzo-legno
-- se mezzo-legno, fessura, fessura frontale, notch, tasca
elseif LapJoint.Identify( Proc) then
bOk, bDown = LapJoint.Classify( Proc)
-- se tasca
elseif Pocket.Identify( Proc) then
bOk, bDown = Pocket.Classify( Proc)
-- se foratura
elseif Drill.Identify( Proc) then
bOk, bDown = Drill.Classify( Proc, b3Raw)
@@ -565,10 +560,6 @@ local function AddFeatureMachining( Proc, nPhase, nRawId, nPartId, dCurrOvmH, b3
elseif Chamfer.Identify( Proc) then
-- esecuzione smusso
bOk, sErr = Chamfer.Make( Proc, nPhase, nRawId, nPartId)
-- se tasca ( 4-039-X) o ( 3/4-032-X)
elseif Pocket.Identify( Proc) then
-- esecuzione tasca
bOk, sErr = Pocket.Make( Proc, nPhase, nRawId, nPartId)
-- se foratura ( 3/4-040-X)
elseif Drill.Identify( Proc) then
-- esecuzione foratura