Compare commits
9 Commits
Ticket#3133
...
3.1i1
| Author | SHA1 | Date | |
|---|---|---|---|
| c4aa893565 | |||
| d3ddb2f51c | |||
| 873e797aef | |||
| 517d2e304f | |||
| ae34fc10dc | |||
| 6c3aa90ce6 | |||
| 9e1c036753 | |||
| c677eef1a9 | |||
| 7020c47310 |
@@ -1067,12 +1067,12 @@ local function OrderFeatures( vProc, b3Raw, nPartId)
|
||||
return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX())
|
||||
end
|
||||
-- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima
|
||||
if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2)) and
|
||||
if DtMortise.SideIdentify(B1) and ( LongCut.Identify(B2) or Long2Cut.Identify(B2) or LapJoint.Identify( B2)) and
|
||||
OverlapsX( B1.Box, B2.Box) then
|
||||
return true
|
||||
end
|
||||
-- se primo è taglio longitudinale e seconda è mortasa coda di rondine sul fianco, il taglio longitudinale va sempre dopo
|
||||
if ( LongCut.Identify(B1) or Long2Cut.Identify(B1)) and DtMortise.SideIdentify(B2) and
|
||||
if ( LongCut.Identify(B1) or Long2Cut.Identify(B1) or LapJoint.Identify( B1)) and DtMortise.SideIdentify(B2) and
|
||||
OverlapsX( B1.Box, B2.Box) then
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -200,6 +200,7 @@ local function AssignQIdent( Proc)
|
||||
Q_STAIRCASE = ''
|
||||
Q_SAW_PLUS_CHAIN = 'Q11'
|
||||
Q_FORCE_CHAINSAW = 'Q12'
|
||||
Q_ANTISPLINT_DEPTH = 'Q18' -- i
|
||||
-- TODO da riportare a Q13 quando è sistemata la gestione del movimento in macchina nell'attacco laterale
|
||||
Q_CHAINSAW_FROM_SIDE = 'Q999'
|
||||
Q_CONVENTIONAL_MILLING = ''
|
||||
@@ -234,7 +235,7 @@ local function AssignQIdent( Proc)
|
||||
Q_CONVENTIONAL_MILLING = 'Q14' -- i
|
||||
Q_CLEAN_CORNER = 'Q15' -- i
|
||||
Q_FLOATING_AGGREGATE = 'Q16' -- i
|
||||
Q_DIM_STRIP = 'Q17' -- d
|
||||
Q_DIM_STRIP = 'Q17' -- d
|
||||
elseif ( Proc.Grp == 1 or Proc.Grp == 2) and Proc.Prc == 30 then
|
||||
Q_BLADE_ON_ALONG_FACE = 'Q04' -- i
|
||||
elseif ( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 32 then
|
||||
@@ -7987,6 +7988,10 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
||||
end
|
||||
-- leggo parametro Q
|
||||
local nQAntisplintResult = EgtGetInfo( Proc.Id, Q_ANTISPLINT_TYPE, 'i') or 0
|
||||
local nQLimitAntiSplintDepth = EgtGetInfo( Proc.Id, Q_ANTISPLINT_DEPTH, 'i') or 0
|
||||
|
||||
-- se abilitato la profondita al di sotto la quale NON si vuole antischeggia, controllo elevazione e annullo antischeggia
|
||||
if nQLimitAntiSplintDepth > 0 and nQLimitAntiSplintDepth + 100 * GEO.EPS_SMALL > dFacElev then nQAntisplintResult = 0 end
|
||||
-- se lavorazione fresa come lama disabilito eventuale antischeggia
|
||||
if bSpecialMillOnSide then nQAntisplintResult = 0 end
|
||||
|
||||
|
||||
@@ -524,9 +524,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
|
||||
local dDiamMax
|
||||
-- se normale verso Y (in orizzontale)
|
||||
if abs(vtRef:getY()) > 0.866 then
|
||||
dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW)
|
||||
dDiamMax = EgtIf( abs( frMor:getVersX():getZ()) - 10 * GEO.EPS_SMALL < abs( frMor:getVersY():getY()), dL, dW)
|
||||
else
|
||||
dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW)
|
||||
dDiamMax = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
|
||||
end
|
||||
-- determino la distanza tra le due facce inclinate per determinare elevazione
|
||||
local dDistFaces
|
||||
@@ -536,9 +536,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
|
||||
if vFaceOrd[1] ~= 0 then
|
||||
frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT)
|
||||
if abs(vtRef:getY()) > 0.866 then
|
||||
nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()), dL, dW)
|
||||
nElevationFace1 = EgtIf( abs( frMor:getVersX():getZ()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
|
||||
else
|
||||
nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()), dL, dW)
|
||||
nElevationFace1 = EgtIf( abs( frMor:getVersX():getY()) < abs( frMor:getVersY():getY()) - 10 * GEO.EPS_SMALL, dL, dW)
|
||||
end
|
||||
end
|
||||
dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1)
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
==== Beam Update Log ====
|
||||
|
||||
Versione 3.1i1 (07/09/2026)
|
||||
- Added : In LapJoint aggiunto parametro Q18 al di sotto del quale non viene mai fatta antischeggia
|
||||
- Modif : In ScarfJoint, aggiunta tolleranza su controllo versori
|
||||
- Modif : Mortasa a coda di rondine da fare prima di un LapJoint che l'attraversa
|
||||
|
||||
Versione 3.1h2 (24/08/2026)
|
||||
- Fixed : in Drill - Fori in doppio con utensili lunghi, corretto calcolo LastStep
|
||||
- Fixed : AntiSplintBySaw - Se inverte lavorazione, inverte anche i parametri di LeadIn e LeadOut
|
||||
|
||||
Versione 3.1h1 (05/08/2026)
|
||||
- Modif : in Pocket non eseguo lavorazione di pulizia tasca (laterale) se le lavorazioni sopra e sotto arrivano esattamente a metà tasca (senza affondamento extra)
|
||||
- Modif : in RoundCleanContour - tasca passante lavorata solo da sopra o da sotto e fresa di contorno non lavora tutto, attiva lavorazione in doppio
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@
|
||||
-- Gestione della versione di Beam
|
||||
|
||||
NAME = 'Beam'
|
||||
VERSION = '3.1h1'
|
||||
VERSION = '3.1i1'
|
||||
MIN_EXE = '3.1b1'
|
||||
|
||||
Reference in New Issue
Block a user