Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c8a1f2de6 | |||
| 0cfa1207ec |
+12
-1
@@ -59,6 +59,7 @@
|
|||||||
-- 2024/02/29 Migliorata 'CompareFeatures' per ordine forature
|
-- 2024/02/29 Migliorata 'CompareFeatures' per ordine forature
|
||||||
-- 2024/03/04 Creata funzione calcolo dipendenze tra feature con calcolo topologia.
|
-- 2024/03/04 Creata funzione calcolo dipendenze tra feature con calcolo topologia.
|
||||||
-- 2024/03/07 Implementate le lavorazioni in doppio per fori specchiati non passanti e DrillPocket.
|
-- 2024/03/07 Implementate le lavorazioni in doppio per fori specchiati non passanti e DrillPocket.
|
||||||
|
-- 2024/03/11 In CollectFeatures si scrive ora Width e Height della faccia sia trimmate con il grezzo che intere.
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local BeamExec = {}
|
local BeamExec = {}
|
||||||
@@ -350,9 +351,19 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT)
|
|||||||
for i = 1, Proc.Fct do
|
for i = 1, Proc.Fct do
|
||||||
Proc.Face[i] = { Id = i - 1, VtN = EgtSurfTmFacetNormVersor( Proc.Id, i - 1, GDB_ID.ROOT )}
|
Proc.Face[i] = { Id = i - 1, VtN = EgtSurfTmFacetNormVersor( Proc.Id, i - 1, GDB_ID.ROOT )}
|
||||||
if Proc.Fct < 10 then
|
if Proc.Fct < 10 then
|
||||||
local _, dFaceWidth, dFaceHeight = BL.GetFaceHvRefDim( Proc.Id, i - 1, b3Raw)
|
local frHV, dFaceWidthTrimmed, dFaceHeightTrimmed = BL.GetFaceHvRefDim( Proc.Id, i - 1, b3Raw)
|
||||||
|
-- frame OCS faccia
|
||||||
|
Proc.Face[i].FrameHV = frHV
|
||||||
|
-- larghezza OCS faccia trimmata con grezzo
|
||||||
|
Proc.Face[i].WidthTrimmed = dFaceWidthTrimmed
|
||||||
|
-- altezza OCS faccia trimmata con grezzo
|
||||||
|
Proc.Face[i].HeightTrimmed = dFaceHeightTrimmed
|
||||||
|
local _, dFaceWidth, dFaceHeight = BL.GetFaceHvRefDim( Proc.Id, i - 1)
|
||||||
|
-- larghezza OCS faccia
|
||||||
Proc.Face[i].Width = dFaceWidth
|
Proc.Face[i].Width = dFaceWidth
|
||||||
|
-- altezza OCS faccia
|
||||||
Proc.Face[i].Height = dFaceHeight
|
Proc.Face[i].Height = dFaceHeight
|
||||||
|
-- elevazione calcolata rispetto al box della parte
|
||||||
Proc.Face[i].Elevation = EgtSurfTmFacetElevationInBBox( Proc.Id, i - 1, b3Solid, true, GDB_ID.ROOT)
|
Proc.Face[i].Elevation = EgtSurfTmFacetElevationInBBox( Proc.Id, i - 1, b3Solid, true, GDB_ID.ROOT)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
-- ProcessBlockHausFront.lua by Egaltech s.r.l. 2020/08/03
|
-- ProcessBlockHausFront.lua by Egaltech s.r.l. 2020/08/03
|
||||||
-- Gestione calcolo giunzione block house in testa
|
-- Gestione calcolo giunzione block house in testa
|
||||||
-- 2022/06/10 Aggiunto il parametro dOvmTail per gestire sovramateriali in coda diversi da OVM_MID (sezioni alte e larghe)
|
-- 2022/06/10 Aggiunto il parametro dOvmTail per gestire sovramateriali in coda diversi da OVM_MID (sezioni alte e larghe)
|
||||||
|
-- 2024/03/11 Chiamate a GetFaceHvRefDim sostituite con lettura di Proc.Face[]
|
||||||
|
|
||||||
-- Tabella per definizione modulo
|
-- Tabella per definizione modulo
|
||||||
local ProcessBlockHausFront = {}
|
local ProcessBlockHausFront = {}
|
||||||
@@ -268,7 +269,9 @@ function ProcessBlockHausFront.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dO
|
|||||||
local vtRef2 = EgtIf( bHead, X_AX(), -X_AX())
|
local vtRef2 = EgtIf( bHead, X_AX(), -X_AX())
|
||||||
-- se non ho il taglio sulla faccia interna
|
-- se non ho il taglio sulla faccia interna
|
||||||
if not bIntCut then
|
if not bIntCut then
|
||||||
local frHV, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, vFaceOrd[3] - 1)
|
local frHV = Proc.Face[ vFaceOrd[3]].FrameHV
|
||||||
|
local DimH = Proc.Face[ vFaceOrd[3]].Width
|
||||||
|
local DimV = Proc.Face[ vFaceOrd[3]].Height
|
||||||
if DimV > DimH then
|
if DimV > DimH then
|
||||||
vtRef2 = Vector3d( frHV:getVersX())
|
vtRef2 = Vector3d( frHV:getVersX())
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -5824,7 +5824,7 @@ local function TestTwoFacesDownHead( Proc)
|
|||||||
Proc.IsTopDownRabbet = abs( vtRes:getZ()) > 10 * GEO.EPS_SMALL
|
Proc.IsTopDownRabbet = abs( vtRes:getZ()) > 10 * GEO.EPS_SMALL
|
||||||
for i = 1, Proc.Fct do
|
for i = 1, Proc.Fct do
|
||||||
Proc.Face[i].IsTooDownwardForTopBlade = Proc.Face[i].VtN:getZ() < ( BD.CUT_VZ_MIN or -0.484) - 10 * GEO.EPS_SMALL
|
Proc.Face[i].IsTooDownwardForTopBlade = Proc.Face[i].VtN:getZ() < ( BD.CUT_VZ_MIN or -0.484) - 10 * GEO.EPS_SMALL
|
||||||
Proc.Face[i].IsTooWideForTopBlade = Proc.Face[i].Width > dTopBladeMaxDepth
|
Proc.Face[i].IsTooWideForTopBlade = Proc.Face[i].WidthTrimmed > dTopBladeMaxDepth
|
||||||
end
|
end
|
||||||
-- serve la lama sotto se c'è almeno una faccia troppo inclinata verso il basso e non è un rabbet stretto lavorabile dal lato
|
-- serve la lama sotto se c'è almeno una faccia troppo inclinata verso il basso e non è un rabbet stretto lavorabile dal lato
|
||||||
if not ( Proc.Face[1].IsTooDownwardForTopBlade or Proc.Face[2].IsTooDownwardForTopBlade) then
|
if not ( Proc.Face[1].IsTooDownwardForTopBlade or Proc.Face[2].IsTooDownwardForTopBlade) then
|
||||||
|
|||||||
Reference in New Issue
Block a user