DataWall :

- corretto controllo foro sottosquadra
- corretta gestione contorni liberi per lato di lavoro 3 e 4
- corretto LapJoint chiuso ma senza fondo lavorato come contorno libero.
This commit is contained in:
Dario Sassi
2020-11-17 16:40:22 +00:00
parent 5646af535b
commit 3ac926f694
4 changed files with 28 additions and 3 deletions
+1 -1
View File
@@ -84,7 +84,7 @@ function WPD.Make( Proc, nRawId, b3Raw)
local vtExtr = EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
local bOpen = ( Proc.Fcs ~= 0 and Proc.Fce ~= 0)
-- verifico che il foro non sia fattibile solo da sotto
local bToInvert = ( vtExtr:getZ() < 0)
local bToInvert = ( vtExtr:getZ() < -0.1)
if bToInvert and ( not bOpen or Proc.Flg ~= 1) then
local sErr = 'Error : drilling from bottom impossible'
EgtOutLog( sErr)
+3 -1
View File
@@ -381,7 +381,9 @@ local function MakeByCut( Proc, nRawId, b3Raw)
if AuxId then
AuxId = AuxId + Proc.Id
local vtExtr= EgtCurveExtrusion( AuxId, GDB_RT.GLOB)
bOpposite = ( vtExtr and vtExtr:getZ() < 0)
if vtExtr then
bOpposite = ( Proc.Grp == 4 and vtExtr:getZ() < 0) or ( Proc.Grp == 3 and vtExtr:getZ() > 0)
end
end
-- recupero la lavorazione di taglio con lama e i suoi parametri
local sCutting, dSawDiam, dSawThick, dSawMaxDepth = WM.FindCutting( 'Standard')
+23
View File
@@ -375,6 +375,29 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
local nFacInd, dElev, nFacInd2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId)
-- se tunnel, applico lavorazione del contorno libero
if nFacInd == - 1 then
-- riordino le facce come contorno libero da lavorare a destra
for i = 1, Proc.Fct - 2 do
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, i - 1, GDB_ID.ROOT)
for j = i + 1, Proc.Fct do
local bAdj, ptAdj, _, _ = EgtSurfTmFacetsContact( Proc.Id, i - 1, j - 1, GDB_ID.ROOT)
if bAdj and ( vtN ^ ( ptAdj - ptC)) * Z_AX() > 0 then
if i ~= j - 1 then
EgtSurfTmSwapFacets( Proc.Id, i, j - 1)
end
break
end
end
end
-- applico riordinamento
--local vOrd = { 0, 2, 1, 3}
--for i = 1, #vOrd do
-- if vOrd[i] ~= i - 1 then
-- EgtSurfTmSwapFacets( Proc.Id, vOrd[i], i - 1)
-- vOrd[vOrd[i]+1] = vOrd[i]
-- vOrd[i] = i - 1
-- end
--end
-- eseguo
return FreeContour.Make( Proc, nRawId, b3Raw)
end
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nFacInd, GDB_ID.ROOT)
+1 -1
View File
@@ -5,7 +5,7 @@
-- Intestazioni
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( false)
EgtEnableDebug( true)
-- Imposto direttorio libreria specializzata per Travi
local sBaseDir = EgtGetSourceDir()