Compare commits
6 Commits
3.1d1
..
Ticket#3037
| Author | SHA1 | Date | |
|---|---|---|---|
| 54163cef8b | |||
| d6e98875fa | |||
| ba6142dbc5 | |||
| cfaa30d55c | |||
| ea79ac1366 | |||
| 2468599200 |
@@ -1785,7 +1785,7 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring)
|
||||
local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring, bForceConventionalSawing)
|
||||
-- verifico se ciclo chiuso
|
||||
local bClosed = ( abs( vFace[1].PrevAng) > 0.1)
|
||||
-- ciclo di inserimento dei tagli sulle facce del contorno in esame
|
||||
@@ -1823,15 +1823,59 @@ local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squar
|
||||
end
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
|
||||
-- verifico se va invertita la direzione di lavorazione perchè faccia verso l'alto (angolo maggiore di 0.01 deg)
|
||||
local bInvert = ( vFace[i].Norm:getZ() > 0.0001745)
|
||||
-- verifico posizione del motore in base a inclinazione faccia (angolo maggiore di 0.01 deg)
|
||||
local bFaceDown = not ( vFace[i].Norm:getZ() > GEO.EPS_SMALL)
|
||||
-- verso di rotazione della lama
|
||||
local bCCW = ( dSpeed < 0)
|
||||
local bInvert, nHeadSide
|
||||
-- TODO - Vecchio funzionamento per far andare macchina con la WD.GetSawHeadSide, in futuro da eliminare e tenere solo l'else
|
||||
if WD.GetSawHeadSide then
|
||||
bInvert = not bFaceDown
|
||||
-- lato mandrino ( standard a sinistra se rotazione CCW, altrimenti a destra, oppure da funzione di macchina)
|
||||
nHeadSide = WD.GetSawHeadSide( dSpeed, sHead)
|
||||
else
|
||||
if bCCW then
|
||||
if bFaceDown then
|
||||
if bForceConventionalSawing then
|
||||
bInvert = true
|
||||
nHeadSide = MCH_SAW_HS.RIGHT
|
||||
else
|
||||
bInvert = false
|
||||
nHeadSide = MCH_SAW_HS.LEFT
|
||||
end
|
||||
else
|
||||
if bForceConventionalSawing then
|
||||
bInvert = false
|
||||
nHeadSide = MCH_SAW_HS.RIGHT
|
||||
else
|
||||
bInvert = true
|
||||
nHeadSide = MCH_SAW_HS.LEFT
|
||||
end
|
||||
end
|
||||
else
|
||||
if bFaceDown then
|
||||
if bForceConventionalSawing then
|
||||
bInvert = false
|
||||
nHeadSide = MCH_SAW_HS.LEFT
|
||||
else
|
||||
bInvert = true
|
||||
nHeadSide = MCH_SAW_HS.RIGHT
|
||||
end
|
||||
else
|
||||
if bForceConventionalSawing then
|
||||
bInvert = true
|
||||
nHeadSide = MCH_SAW_HS.LEFT
|
||||
else
|
||||
bInvert = false
|
||||
nHeadSide = MCH_SAW_HS.RIGHT
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- imposto inversione
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, bInvert)
|
||||
-- imposto lato di lavoro
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, EgtIf( bInvert, MCH_SAW_WS.LEFT, MCH_SAW_WS.RIGHT))
|
||||
-- lato mandrino ( standard a sinistra se rotazione CCW, altrimenti a destra, oppure da funzione di macchina)
|
||||
local nHeadSide = EgtIf( dSpeed < 0, MCH_SAW_HS.LEFT, MCH_SAW_HS.RIGHT)
|
||||
if WD.GetSawHeadSide then nHeadSide = WD.GetSawHeadSide( dSpeed, sHead) end
|
||||
EgtSetMachiningParam( MCH_MP.HEADSIDE, nHeadSide)
|
||||
-- assegno i dati di attacco (sicurezza solo se angolo interno)
|
||||
local nLeadIn = MCH_SAW_LI.CENT
|
||||
@@ -1969,7 +2013,8 @@ local function MakeByCut( Proc, nRawId, b3Raw, b3Squaring)
|
||||
-- recupero i dati di tutte le facce
|
||||
local vFace, dMaxWidth, nNewProc = GetFacesData( Proc, bOpposite, true, dSawDiam, dSawMaxDepth, dSawThick, nAddGrpId, b3Raw)
|
||||
-- inserimento dei tagli di lama
|
||||
local bCtOk, sCtErr = AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring)
|
||||
local bForceConventionalSawing = EgtGetInfo( Proc.Id, 'Q09', 'd') == 1
|
||||
local bCtOk, sCtErr = AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick, b3Squaring, bForceConventionalSawing)
|
||||
if not bCtOk then return bCtOk, sCtErr end
|
||||
-- se richiesta solo lama, esco
|
||||
local nCntType = EgtGetInfo( Proc.Id, 'CNT_TYPE', 'i') or 0
|
||||
|
||||
@@ -525,10 +525,8 @@ local function SortMach( nPhase, PrevMch, nPartId, nType, StartNames, bExistName
|
||||
if EgtGetOperationPhase( nOperId) == nPhase and ( nType & nOperType) == nOperType and
|
||||
( not nPartId or EgtGetInfo( nOperId, 'Part', 'i') == nPartId) and
|
||||
( not nPriority or EgtGetInfo( nOperId, 'PRIORITY', 'i') == nPriority ) and
|
||||
( not StartNames or ( bExistName and ContainsStartName( nOperId, StartNames)) or
|
||||
( not bExistName and not ContainsStartName( nOperId, StartNames))) and
|
||||
( not sInfo or ( bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') == 1) or
|
||||
( not bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') ~= 1)) then
|
||||
( not StartNames or ( bExistName and ContainsStartName( nOperId, StartNames)) or ( not bExistName and not ContainsStartName( nOperId, StartNames))) and
|
||||
( not sInfo or ( bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') == 1) or ( not bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') ~= 1)) then
|
||||
-- non si deve cambiare lo stato di attivazione della lavorazione (se disabilitata errata)
|
||||
EgtSetCurrMachining( nOperId)
|
||||
if not EgtIsMachiningEmpty() then
|
||||
@@ -652,8 +650,8 @@ local function SortMachinings( nPhase, PrevMch, nPartId, nPriority)
|
||||
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.POCKETING, { 'PreDrill_'}, true, nil, nil, nil, nil, nil, nPriority)
|
||||
-- Forature e Svuotature
|
||||
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.DRILLING + MCH_OY.POCKETING + MCH_OY.MILLING, { 'SideMill_', 'Clean_'}, false, 'MOVE_AFTER', false, false, true, nil, nPriority)
|
||||
-- -- Forature ***
|
||||
-- PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.DRILLING, nil, nil, 'MOVE_AFTER', false)
|
||||
-- Forature ***
|
||||
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.DRILLING, nil, nil, nil, false, nil, true, nil, nil)
|
||||
-- -- Svuotature ***
|
||||
-- PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.POCKETING, nil, nil, 'MOVE_AFTER', false)
|
||||
-- -- Fresature che sono rifiniture di spigoli
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
==== Wall Update Log ====
|
||||
|
||||
Versione 3.1d2 (23/04/2026)
|
||||
- Modif : Tutte le forature vengono ordinate per diametro decrescente
|
||||
|
||||
Versione 3.1d1 (08/04/2026)
|
||||
- Modif : in LapJoint, svuotature, l'uscita dalla geometria viene limitata della massima quantità che non rovina il pezzo vicino
|
||||
- Fixed : correzione per chiodature
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@
|
||||
-- Gestione della versione di Wall
|
||||
|
||||
NAME = 'Wall'
|
||||
VERSION = '3.1d1'
|
||||
VERSION = '3.1d2'
|
||||
MIN_EXE = '3.1c1'
|
||||
|
||||
Reference in New Issue
Block a user