Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d7e9e09b3 | |||
| 198031a3c1 | |||
| 2f312c5cb8 | |||
| c9fae12574 | |||
| a137794c75 | |||
| 2c3b6030c2 | |||
| d255d8aaa9 |
@@ -277,6 +277,15 @@ if bToProcess then
|
|||||||
else
|
else
|
||||||
vBeam[i].Box = b3Solid
|
vBeam[i].Box = b3Solid
|
||||||
end
|
end
|
||||||
|
if BD.MAX_LENGTH and BD.MAX_LENGTH > 10 and b3Solid:getDimX() > BD.MAX_LENGTH then
|
||||||
|
local sOut = 'Piece-Length (' .. EgtNumToString( b3Solid:getDimX(), 2) .. ') ' ..
|
||||||
|
'out of machine limits (' .. EgtNumToString( BD.MAX_LENGTH, 2) .. ') '
|
||||||
|
BEAM.ERR = 17
|
||||||
|
BEAM.MSG = sOut
|
||||||
|
WriteErrToLogFile( BEAM.ERR, BEAM.MSG)
|
||||||
|
PostErrView( BEAM.ERR, BEAM.MSG)
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
-- Assegno lunghezza della barra
|
-- Assegno lunghezza della barra
|
||||||
dBarLen = vBeam[1].Box:getDimX() + 10
|
dBarLen = vBeam[1].Box:getDimX() + 10
|
||||||
@@ -330,6 +339,15 @@ if bToProcess then
|
|||||||
else
|
else
|
||||||
vBeam[i].Box = b3Solid
|
vBeam[i].Box = b3Solid
|
||||||
end
|
end
|
||||||
|
if BD.MAX_LENGTH and BD.MAX_LENGTH > 10 and b3Solid:getDimX() > BD.MAX_LENGTH then
|
||||||
|
local sOut = 'Piece-Length (' .. EgtNumToString( b3Solid:getDimX(), 2) .. ') ' ..
|
||||||
|
'out of machine limits (' .. EgtNumToString( BD.MAX_LENGTH, 2) .. ') '
|
||||||
|
BEAM.ERR = 17
|
||||||
|
BEAM.MSG = sOut
|
||||||
|
WriteErrToLogFile( BEAM.ERR, BEAM.MSG)
|
||||||
|
PostErrView( BEAM.ERR, BEAM.MSG)
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1641,7 +1641,8 @@ local function SetCutsOnFrontMortises( vProc)
|
|||||||
-- verifico se i piani coincidono
|
-- verifico se i piani coincidono
|
||||||
local bSamePlane = ( ptC1 and vtN1 and ptC2 and vtN2 and AreSameVectorApprox( vtN1, vtN2) and ( ptC2 - ptC1) * vtN1 < 1.0)
|
local bSamePlane = ( ptC1 and vtN1 and ptC2 and vtN2 and AreSameVectorApprox( vtN1, vtN2) and ( ptC2 - ptC1) * vtN1 < 1.0)
|
||||||
if bSamePlane then
|
if bSamePlane then
|
||||||
vProc[i].CutFront = vProc[j].Id
|
--vProc[i].CutFront = vProc[j].Id
|
||||||
|
vProc[j].bSkipCut = true
|
||||||
end
|
end
|
||||||
-- log
|
-- log
|
||||||
local sMsg = string.format( 'Cut %d meet Mortise %d', vProc[i].Id, vProc[j].Id) .. EgtIf( bSamePlane, ' with same plane', '')
|
local sMsg = string.format( 'Cut %d meet Mortise %d', vProc[i].Id, vProc[j].Id) .. EgtIf( bSamePlane, ' with same plane', '')
|
||||||
@@ -1658,7 +1659,8 @@ local function SetCutsOnFrontMortises( vProc)
|
|||||||
-- verifico se i piani coincidono
|
-- verifico se i piani coincidono
|
||||||
local bSamePlane = ( ptC1 and vtN1 and ptC2 and vtN2 and AreSameVectorApprox( vtN1, vtN2) and ( ptC2 - ptC1) * vtN1 < 1.0)
|
local bSamePlane = ( ptC1 and vtN1 and ptC2 and vtN2 and AreSameVectorApprox( vtN1, vtN2) and ( ptC2 - ptC1) * vtN1 < 1.0)
|
||||||
if bSamePlane then
|
if bSamePlane then
|
||||||
vProc[i].CutFront = vProc[j].Id
|
--vProc[i].CutFront = vProc[j].Id
|
||||||
|
vProc[j].bSkipCut = true
|
||||||
end
|
end
|
||||||
-- log
|
-- log
|
||||||
local sMsg = string.format( 'Cut %d meet DtMortise %d', vProc[i].Id, vProc[j].Id) .. EgtIf( bSamePlane, ' with same plane', '')
|
local sMsg = string.format( 'Cut %d meet DtMortise %d', vProc[i].Id, vProc[j].Id) .. EgtIf( bSamePlane, ' with same plane', '')
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ function ProcessDtMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
|||||||
-- verifico se frontale
|
-- verifico se frontale
|
||||||
local bFront = ( Proc.Prc == 56)
|
local bFront = ( Proc.Prc == 56)
|
||||||
-- se mortasa di fronte, eseguo il taglio della faccia
|
-- se mortasa di fronte, eseguo il taglio della faccia
|
||||||
if bFront then
|
if bFront and not Proc.bSkipCut then
|
||||||
-- verifico esista la faccia di taglio
|
-- verifico esista la faccia di taglio
|
||||||
local ptCutC, vtCutN = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
local ptCutC, vtCutN = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
||||||
if ptCutC and vtCutN and AreSameVectorApprox( vtExtr, vtCutN) then
|
if ptCutC and vtCutN and AreSameVectorApprox( vtExtr, vtCutN) then
|
||||||
|
|||||||
@@ -467,7 +467,7 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- se mortasa di fronte, eseguo il taglio della faccia
|
-- se mortasa di fronte, eseguo il taglio della faccia
|
||||||
if bFront then
|
if bFront and not Proc.bSkipCut then
|
||||||
-- verifico esista la faccia di taglio
|
-- verifico esista la faccia di taglio
|
||||||
local ptCutC, vtCutN = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
local ptCutC, vtCutN = EgtSurfTmFacetCenter( Proc.Id, 1, GDB_ID.ROOT)
|
||||||
if ptCutC and vtCutN and AreSameVectorApprox( vtExtr, vtCutN) then
|
if ptCutC and vtCutN and AreSameVectorApprox( vtExtr, vtCutN) then
|
||||||
|
|||||||
@@ -89,6 +89,14 @@ local function MyProcessInputData()
|
|||||||
else
|
else
|
||||||
vBeam[i].Box = b3Solid
|
vBeam[i].Box = b3Solid
|
||||||
end
|
end
|
||||||
|
if BD.MAX_LENGTH and BD.MAX_LENGTH > 10 and b3Solid:getDimX() > BD.MAX_LENGTH then
|
||||||
|
local sOut = 'Lunghezza (' .. EgtNumToString( b3Solid:getDimX(), 2) .. ') ' ..
|
||||||
|
'oltre i limiti della macchina (' .. EgtNumToString( BD.MAX_LENGTH, 2) .. ') '
|
||||||
|
EgtOutLog( sOut)
|
||||||
|
EgtOutBox( sOut, 'Lavora Travi', 'WARNING')
|
||||||
|
EgtDraw()
|
||||||
|
return false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
dRawW = vBeam[1].Box:getDimY()
|
dRawW = vBeam[1].Box:getDimY()
|
||||||
dRawH = vBeam[1].Box:getDimZ()
|
dRawH = vBeam[1].Box:getDimZ()
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
==== Beam Update Log ====
|
==== Beam Update Log ====
|
||||||
|
|
||||||
|
Versione 3.1e2 (01/06/2026)
|
||||||
|
- Added : in Cut aggiunta Q18 per evitare di ruotare
|
||||||
|
- Modif : gli smussi di testa sono in senso orario
|
||||||
|
- Modif : in mortasa coda di rondine piccole correzioni
|
||||||
|
|
||||||
Versione 3.1e1 (05/05/2026)
|
Versione 3.1e1 (05/05/2026)
|
||||||
- Modif : in LapJoint migliorate slot con sega a catena
|
- Modif : in LapJoint migliorate slot con sega a catena
|
||||||
- Fixed : in DrillPocket in doppio eliminata lavorazione aggiuntiva in caso di utensile non abbastanza lungo
|
- Fixed : in DrillPocket in doppio eliminata lavorazione aggiuntiva in caso di utensile non abbastanza lungo
|
||||||
|
|||||||
Reference in New Issue
Block a user