DataWall :

- in lavorazione Drill aggiunta possibilità di sola fresatura se si supera un diametro limite
- in lavorazione FreeContour, Outline e Aperture aggiunta gestione casi con facce tutte di tipo 4
- in lavorazione LapJoint aggiunta gestione Notch (3/4-032-X) e Pocket ( 4-039-X).
This commit is contained in:
Dario Sassi
2020-07-01 13:15:57 +00:00
parent ea9f74c0ad
commit 1f752a05e0
3 changed files with 39 additions and 12 deletions
+7 -5
View File
@@ -1,4 +1,4 @@
-- ProcessFreeContour.lua by Egaltech s.r.l. 2020/06/30
-- ProcessFreeContour.lua by Egaltech s.r.l. 2020/07/01
-- Gestione calcolo profilo libero per Pareti
-- Tabella per definizione modulo
@@ -14,7 +14,7 @@ EgtOutLog( ' WProcessFreeContour started', 1)
local WD = require( 'WallData')
local WM = require( 'WMachiningLib')
local WHISK_SAFE = 5
local MIN_LEN_CUT = 1
local MIN_LEN_CUT = 5
---------------------------------------------------------------------
-- Riconoscimento della feature
@@ -85,6 +85,8 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw)
while i <= #vFace and vFace[i].Type == 4 do
i = i + 1
end
local bAllType4 = ( i > #vFace)
if bAllType4 then i = 1 end
while i <= #vFace do
-- se inizio faccia senza taglio e non è successiva di senza taglio, inserisco una fresatura
local j
@@ -142,15 +144,15 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw)
local dSal = EgtIf( ( vFace[i].Type & 2) ~= 0, vFace[i].Whisk - vFace[i].Len, 0)
local dEal = 0
i = i + 1
local j = EgtIf( i <= #vFace, i, 1)
while ( vFace[j].Type & 1) ~= 0 or vFace[j].Type == 4 do
local j = EgtIf( i <= #vFace, i, EgtIf( bAllType4, nil, 1))
while j and ( ( vFace[j].Type & 1) ~= 0 or vFace[j].Type == 4) do
table.insert( vGeom, { Proc.Id, j - 1})
dEal = EgtIf( ( vFace[j].Type & 1) ~= 0, vFace[j].Whisk - vFace[j].Len, 0)
if ( vFace[j].Type & 1) ~= 0 then
break
end
i = i + 1
j = EgtIf( i <= #vFace, i, 1)
j = EgtIf( j + 1 <= #vFace, j + 1, EgtIf( bAllType4, nil, 1))
end
EgtSetMachiningGeometry( vGeom)
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dSal)