Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 00835e1931 | |||
| 14644a7c8b | |||
| ca2176af8a | |||
| c4aa893565 | |||
| d3ddb2f51c | |||
| 873e797aef | |||
| 517d2e304f | |||
| ae34fc10dc | |||
| 6c3aa90ce6 | |||
| 9e1c036753 |
@@ -913,7 +913,8 @@ local function ReorderFeatureWithDependency( vProc)
|
|||||||
-- se il processo deve stare prima, ma ora è dopo
|
-- se il processo deve stare prima, ma ora è dopo
|
||||||
if nRefIndex and nRefIndex < i then
|
if nRefIndex and nRefIndex < i then
|
||||||
table.insert( vProc, nRefIndex, table.remove( vProc, i))
|
table.insert( vProc, nRefIndex, table.remove( vProc, i))
|
||||||
i = max( nRefIndex - 1, 1)
|
-- se ci sono stati scambi, si ricomincia da capo
|
||||||
|
i = 0
|
||||||
end
|
end
|
||||||
elseif Drill.Identify( vProc[i]) and vProc[i].Dependency and vProc[i].Dependency.ExecAfter and vProc[i].Dependency.ExecAfter.Id then
|
elseif Drill.Identify( vProc[i]) and vProc[i].Dependency and vProc[i].Dependency.ExecAfter and vProc[i].Dependency.ExecAfter.Id then
|
||||||
local nRefId = vProc[i].Dependency.ExecAfter.Id
|
local nRefId = vProc[i].Dependency.ExecAfter.Id
|
||||||
@@ -929,7 +930,8 @@ local function ReorderFeatureWithDependency( vProc)
|
|||||||
-- se il processo deve stare dopo, ma ora è prima
|
-- se il processo deve stare dopo, ma ora è prima
|
||||||
if nRefIndex and nRefIndex > i then
|
if nRefIndex and nRefIndex > i then
|
||||||
table.insert( vProc, nRefIndex, table.remove( vProc, i))
|
table.insert( vProc, nRefIndex, table.remove( vProc, i))
|
||||||
i = max( nRefIndex - 1, 1)
|
-- se ci sono stati scambi, si ricomincia da capo
|
||||||
|
i = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
i = i + 1
|
i = i + 1
|
||||||
@@ -1067,12 +1069,12 @@ local function OrderFeatures( vProc, b3Raw, nPartId)
|
|||||||
return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX())
|
return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX())
|
||||||
end
|
end
|
||||||
-- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima
|
-- 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
|
OverlapsX( B1.Box, B2.Box) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
-- se primo è taglio longitudinale e seconda è mortasa coda di rondine sul fianco, il taglio longitudinale va sempre dopo
|
-- 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
|
OverlapsX( B1.Box, B2.Box) then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -200,6 +200,7 @@ local function AssignQIdent( Proc)
|
|||||||
Q_STAIRCASE = ''
|
Q_STAIRCASE = ''
|
||||||
Q_SAW_PLUS_CHAIN = 'Q11'
|
Q_SAW_PLUS_CHAIN = 'Q11'
|
||||||
Q_FORCE_CHAINSAW = 'Q12'
|
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
|
-- TODO da riportare a Q13 quando è sistemata la gestione del movimento in macchina nell'attacco laterale
|
||||||
Q_CHAINSAW_FROM_SIDE = 'Q999'
|
Q_CHAINSAW_FROM_SIDE = 'Q999'
|
||||||
Q_CONVENTIONAL_MILLING = ''
|
Q_CONVENTIONAL_MILLING = ''
|
||||||
@@ -234,7 +235,7 @@ local function AssignQIdent( Proc)
|
|||||||
Q_CONVENTIONAL_MILLING = 'Q14' -- i
|
Q_CONVENTIONAL_MILLING = 'Q14' -- i
|
||||||
Q_CLEAN_CORNER = 'Q15' -- i
|
Q_CLEAN_CORNER = 'Q15' -- i
|
||||||
Q_FLOATING_AGGREGATE = 'Q16' -- 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
|
elseif ( Proc.Grp == 1 or Proc.Grp == 2) and Proc.Prc == 30 then
|
||||||
Q_BLADE_ON_ALONG_FACE = 'Q04' -- i
|
Q_BLADE_ON_ALONG_FACE = 'Q04' -- i
|
||||||
elseif ( Proc.Grp == 3 or Proc.Grp == 4) and Proc.Prc == 32 then
|
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
|
end
|
||||||
-- leggo parametro Q
|
-- leggo parametro Q
|
||||||
local nQAntisplintResult = EgtGetInfo( Proc.Id, Q_ANTISPLINT_TYPE, 'i') or 0
|
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
|
-- se lavorazione fresa come lama disabilito eventuale antischeggia
|
||||||
if bSpecialMillOnSide then nQAntisplintResult = 0 end
|
if bSpecialMillOnSide then nQAntisplintResult = 0 end
|
||||||
|
|
||||||
|
|||||||
@@ -524,9 +524,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
|
|||||||
local dDiamMax
|
local dDiamMax
|
||||||
-- se normale verso Y (in orizzontale)
|
-- se normale verso Y (in orizzontale)
|
||||||
if abs(vtRef:getY()) > 0.866 then
|
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
|
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
|
end
|
||||||
-- determino la distanza tra le due facce inclinate per determinare elevazione
|
-- determino la distanza tra le due facce inclinate per determinare elevazione
|
||||||
local dDistFaces
|
local dDistFaces
|
||||||
@@ -536,9 +536,9 @@ function ProcessScarfJoint.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmTa
|
|||||||
if vFaceOrd[1] ~= 0 then
|
if vFaceOrd[1] ~= 0 then
|
||||||
frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT)
|
frMor, dL, dW = EgtSurfTmFacetMinAreaRectangle( Proc.Id, vFaceOrd[1]-1, GDB_ID.ROOT)
|
||||||
if abs(vtRef:getY()) > 0.866 then
|
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
|
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
|
||||||
end
|
end
|
||||||
dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1)
|
dDistFaces = max( abs((ptC[vFaceOrd[2]]-ptC[vFaceOrd[4]])*vtN[vFaceOrd[2]]), nElevationFace1)
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
==== Beam Update Log ====
|
==== Beam Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1i2 (08/09/2026)
|
||||||
|
- MODIF : In OrderFeature, corretto ordinamento quando ci sono dipendenze
|
||||||
|
|
||||||
|
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)
|
Versione 3.1h2 (24/08/2026)
|
||||||
- Fixed : in Drill - Fori in doppio con utensili lunghi, corretto calcolo LastStep
|
- 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
|
- Fixed : AntiSplintBySaw - Se inverte lavorazione, inverte anche i parametri di LeadIn e LeadOut
|
||||||
|
|||||||
+1
-1
@@ -2,5 +2,5 @@
|
|||||||
-- Gestione della versione di Beam
|
-- Gestione della versione di Beam
|
||||||
|
|
||||||
NAME = 'Beam'
|
NAME = 'Beam'
|
||||||
VERSION = '3.1h2'
|
VERSION = '3.1i2'
|
||||||
MIN_EXE = '3.1b1'
|
MIN_EXE = '3.1b1'
|
||||||
|
|||||||
Reference in New Issue
Block a user