Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bc5c99422b | |||
| c5e3af9180 | |||
| 714b3be628 | |||
| 29b63c77a6 | |||
| 53af42724b | |||
| 4d3669a24b | |||
| 55e7d9f2e7 |
+3
-1
@@ -1,4 +1,4 @@
|
||||
-- GetWallData.lua by Egaltech s.r.l. 2022/06/28
|
||||
-- GetWallData.lua by Egaltech s.r.l. 2023/03/08
|
||||
-- Recupero dati da file WallData.lua di macchina
|
||||
|
||||
-- Intestazioni
|
||||
@@ -37,6 +37,8 @@ local WD = require( 'WallData')
|
||||
-- Assegno valori di interesse
|
||||
GWD.SIMUL_VIEW_DIR = WD.SIMUL_VIEW_DIR
|
||||
GWD.ORIG_CORNER = WD.ORIG_CORNER
|
||||
GWD.DELTA_X = WD.DELTA_X
|
||||
GWD.DELTA_Y = WD.DELTA_Y
|
||||
GWD.NESTING_CORNER = WD.NESTING_CORNER
|
||||
GWD.HOR_DRILL_DIAM = WD.HOR_DRILL_DIAM
|
||||
GWD.MIN_HEIGHT = WD.MIN_HEIGHT
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
-- Libreria ricerca lavorazioni per Pareti
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
-- 2023/03/09 Piccola correzione alla SideDepth in FindMilling
|
||||
local WMachiningLib = {}
|
||||
|
||||
-- Include
|
||||
@@ -62,7 +63,7 @@ function WMachiningLib.FindMilling( sType, dDepth, sTuuid, nTool_ID, dMaxDiam, d
|
||||
local dTDiam = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
|
||||
local dTDiamTh = EgtTdbGetCurrToolThDiam() or 0
|
||||
local dTTipFeed = EgtTdbGetCurrToolParam( MCH_TP.TIPFEED)
|
||||
local dTMaxDepthOnSide = min( EgtTdbGetCurrToolValInNotes( MCH_TP.USERNOTES, 'SIDEDEPTH', 'd') or 0, 0.5 * ( dTDiam - dTDiamTh))
|
||||
local dTMaxDepthOnSide = min( EgtTdbGetCurrToolValInNotes( MCH_TP.USERNOTES, 'SIDEDEPTH', 'd') or 999, 0.5 * ( dTDiam - dTDiamTh))
|
||||
local nMyTool_ID = EgtTdbGetCurrToolValInNotes( MCH_TP.USERNOTES, 'Tool_ID', 'i')
|
||||
if nMchType == MCH_MY.MILLING and
|
||||
( not sTuuid or sTuuid == sMyTuuid) and
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- ProcessFreeContour.lua by Egaltech s.r.l. 2023/03/02
|
||||
-- ProcessFreeContour.lua by Egaltech s.r.l. 2023/03/08
|
||||
-- Gestione calcolo profilo libero per Pareti
|
||||
-- 2021/11/15 Penna e chiodature sono sempre riportate sulla faccia sopra anche se nel progetto sono sotto.
|
||||
-- 2021/12/10 In taglio con lama aggiunta gestione SCC per testa Gearbox.
|
||||
@@ -15,6 +15,7 @@
|
||||
-- 2022/12/13 Aggiunta la funzione Is3EdgesApprox per riconoscere come 3 lati anche facce con lati aggiuntivi molto corti (<15 mm)
|
||||
-- 2022/12/14 Aggiunto l'accorciamento della lama in caso di facce vicine orientate verso il basso
|
||||
-- 2023/02/28 In lavorazioni con sega a catena per invertire lato mandrino ora Invert + Left invece di MCH_SCC.OPPOSITE.
|
||||
-- 2023/03/08 In lavorazione con fresa, se imposto Tool_ID non si controlla più possa lavorare di testa.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local WPF = {}
|
||||
@@ -2125,7 +2126,8 @@ local function MakeByMill( Proc, nRawId, b3Raw)
|
||||
local bToolInv = ( vtExtr:getZ() < -0.1)
|
||||
local nTool_ID = EgtGetInfo( Proc.Id, 'CNT_DATA', 'i')
|
||||
-- recupero la lavorazione
|
||||
local sMilling = WM.FindMilling( 'FreeContour', nil, nil, nTool_ID, nil, nil, true)
|
||||
local bTipFeed = EgtIf( nTool_ID, false, true)
|
||||
local sMilling = WM.FindMilling( 'FreeContour', nil, nil, nTool_ID, nil, nil, bTipFeed)
|
||||
if not sMilling then
|
||||
local sErr = 'Error : milling not found in library'
|
||||
if nTool_ID then sErr = sErr .. ' (Tool_ID=' .. tostring( nTool_ID) .. ')' end
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
-- 2022/11/15 DS Con lama massima inclinazione 60deg.
|
||||
-- 2022/12/01 Per 2 facce con angolo > 90° implementata lavorazione principale verticale. Se da sopra, aggiunta ripresa del lato inclinato.
|
||||
-- 2022/12/14 Nel caso di 2 facce piccola correzione al modo di ordinare le facce.
|
||||
-- 2023/03/09 Gestito caso riconoscimento errato Stype 3
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local WPL = {}
|
||||
@@ -142,6 +143,26 @@ function WPL.Classify( Proc, b3Raw)
|
||||
bAllowNegativeFace = true
|
||||
end
|
||||
end
|
||||
|
||||
-- conto le adiacenze delle facce
|
||||
local vAdj = {}
|
||||
local nFacesWithMoreThanOneAdj = 0
|
||||
for i = 1, Proc.Fct do
|
||||
-- recupero le adiacenze del loop esterno
|
||||
local vFacAdj = EgtSurfTmFacetAdjacencies( Proc.Id, i - 1)[1]
|
||||
-- le conto
|
||||
local nCount = 0
|
||||
for j = 1, #vFacAdj do
|
||||
if vFacAdj[j] >= 0 then
|
||||
nCount = nCount + 1
|
||||
end
|
||||
end
|
||||
vAdj[i] = nCount
|
||||
if nCount > 1 then
|
||||
nFacesWithMoreThanOneAdj = nFacesWithMoreThanOneAdj + 1
|
||||
end
|
||||
end
|
||||
|
||||
-- verifico se la faccia è lavorabile da sopra o di fianco
|
||||
if ( vtN:getZ() >= WD.NZ_MINA or ( dMinNz < -0.866 and Proc.Fct >= 3 and ( vtN:getZ() > - 0.01 or bAllowNegativeFace))) then
|
||||
Proc.Stype = 1
|
||||
@@ -155,7 +176,7 @@ function WPL.Classify( Proc, b3Raw)
|
||||
Proc.Stype = 2
|
||||
return ( vtN2:getZ() >= WD.NZ_MINA or ( dMinNz < -0.866 and Proc.Fct >= 3 and vtN2:getZ() > - 0.01))
|
||||
-- se tre facce
|
||||
elseif Proc.Fct == 3 then
|
||||
elseif Proc.Fct == 3 and nFacesWithMoreThanOneAdj < 2 then
|
||||
-- verifico se U da sopra
|
||||
-- dati della faccia
|
||||
local nFac2 = EgtIf( nFacInd == 0, 1, 0)
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
-- Version.lua by Egalware s.r.l. 2023/03/02
|
||||
-- Version.lua by Egalware s.r.l. 2023/03/08
|
||||
-- Gestione della versione di Wall
|
||||
|
||||
VERSION = '2.5c2'
|
||||
VERSION = '2.5c4'
|
||||
|
||||
Reference in New Issue
Block a user