Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cfa7caba7 | |||
| fc0fba5bd3 | |||
| 94159f88f3 | |||
| 4961d2d528 | |||
| 7b22f5cc47 | |||
| 5047d5b652 | |||
| 7f9b880ff7 | |||
| 7e457a22b0 | |||
| 3c080e2b1a | |||
| 9d3edbfb54 |
+1
-1
@@ -461,7 +461,7 @@ else
|
||||
-- Passo in modalità lavora
|
||||
EgtSetCurrMachGroup( EgtGetLastMachGroup())
|
||||
-- Se necessario eseguo aggiornamento con setup corrente e ricalcolo delle lavorazioni
|
||||
if bToRecalc then
|
||||
if bToRecalc or BEAM.FLAG == 3 or BEAM.FLAG == 4 then
|
||||
EgtOutLog( ' +++ Recalculating all dispositions and machinings >>>')
|
||||
EgtImportSetup()
|
||||
EgtApplyAllMachinings()
|
||||
|
||||
+1
-1
@@ -562,7 +562,7 @@ else
|
||||
-- Passo in modalità lavora
|
||||
EgtSetCurrMachGroup( EgtGetLastMachGroup())
|
||||
-- Se necessario eseguo aggiornamento con setup corrente e ricalcolo delle lavorazioni
|
||||
if bToRecalc then
|
||||
if bToRecalc or BEAM.FLAG == 3 or BEAM.FLAG == 4 then
|
||||
EgtOutLog( ' +++ Recalculating all dispositions and machinings >>>')
|
||||
EgtImportSetup()
|
||||
EgtApplyAllMachinings()
|
||||
|
||||
@@ -2551,7 +2551,7 @@ end
|
||||
---------------------------------------------------------------------
|
||||
local function MakeChamfer( Proc, bIs3Faces, nAddGrpId, vtOrtho, b3Solid, nSurfInt, dDepthCham)
|
||||
|
||||
-- Se variabile globale indica che lo smusso è gi stato fatto, esco
|
||||
-- Se variabile globale indica che lo smusso è già stato fatto, esco
|
||||
if bMadeChamfer then
|
||||
return 0
|
||||
end
|
||||
@@ -2565,6 +2565,7 @@ local function MakeChamfer( Proc, bIs3Faces, nAddGrpId, vtOrtho, b3Solid, nSurfI
|
||||
end
|
||||
-- ottengo le curve di contorno libero
|
||||
local nAuxId1, nAuxId2, nNumIdAux
|
||||
local bIsOpenPath = false
|
||||
if bIs3Faces then
|
||||
-- estraggo i percorsi
|
||||
nAuxId1, nNumIdAux = EgtExtractSurfTmLoops( Proc.Id, nAddGrpId)
|
||||
@@ -2575,6 +2576,36 @@ local function MakeChamfer( Proc, bIs3Faces, nAddGrpId, vtOrtho, b3Solid, nSurfI
|
||||
else
|
||||
nAuxId1, nNumIdAux = EgtExtractSurfTmLoops( Proc.Id, nAddGrpId)
|
||||
if not nNumIdAux then nNumIdAux = 0 end
|
||||
-- se non è una curva chiusa bisogna estrarre le sole curve da lavorare
|
||||
if Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' then
|
||||
local IdsToMachine = {}
|
||||
bIsOpenPath = true
|
||||
local nFirstId, nIdCount = EgtExplodeCurveCompo( nAuxId1)
|
||||
for i = nFirstId, nFirstId + nIdCount - 1, 1 do
|
||||
-- se segmento di retta
|
||||
if EgtGetType( i) == GDB_TY.CRV_LINE then
|
||||
local _, nEntitiesCount = EgtCurveDomain(i)
|
||||
for j = 0, nEntitiesCount - 1 do
|
||||
local ptStart = EgtUP( i, j, GDB_RT.GLOB)
|
||||
local ptEnd = EgtUP( i, j + 1, GDB_RT.GLOB)
|
||||
if ( AreSameVectorApprox( vtOrtho, X_AX()) and ( abs( ptStart:getX() - b3Solid:getMax():getX()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getX() - b3Solid:getMax():getX()) < 100 * GEO.EPS_SMALL) or
|
||||
AreSameVectorApprox( vtOrtho, -X_AX()) and ( abs( ptStart:getX() - b3Solid:getMin():getX()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getX() - b3Solid:getMin():getX()) < 100 * GEO.EPS_SMALL) or
|
||||
AreSameVectorApprox( vtOrtho, Y_AX()) and ( abs( ptStart:getY() - b3Solid:getMax():getY()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getY() - b3Solid:getMax():getY()) < 100 * GEO.EPS_SMALL) or
|
||||
AreSameVectorApprox( vtOrtho, -Y_AX()) and ( abs( ptStart:getY() - b3Solid:getMin():getY()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getY() - b3Solid:getMin():getY()) < 100 * GEO.EPS_SMALL) or
|
||||
AreSameVectorApprox( vtOrtho, Z_AX()) and ( abs( ptStart:getZ() - b3Solid:getMax():getZ()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getZ() - b3Solid:getMax():getZ()) < 100 * GEO.EPS_SMALL) or
|
||||
AreSameVectorApprox( vtOrtho, -Z_AX()) and ( abs( ptStart:getZ() - b3Solid:getMin():getZ()) < 100 * GEO.EPS_SMALL and abs( ptEnd:getZ() - b3Solid:getMin():getZ()) < 100 * GEO.EPS_SMALL)
|
||||
) then
|
||||
table.insert( IdsToMachine, i)
|
||||
end
|
||||
end
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
local ptNear = EgtSurfTmFacetCenter(Proc.Id, 0, GDB_ID.ROOT)
|
||||
nAuxId1 = EgtCurveCompoByReorder( nAddGrpId, IdsToMachine, ptNear, true, GDB_ID.ROOT)
|
||||
nNumIdAux = 1
|
||||
end
|
||||
end
|
||||
|
||||
local dExtra = 2
|
||||
@@ -2594,13 +2625,20 @@ local function MakeChamfer( Proc, bIs3Faces, nAddGrpId, vtOrtho, b3Solid, nSurfI
|
||||
end
|
||||
else
|
||||
AuxId = nAuxId1 + i - 1
|
||||
vtExtr, _, _ = EgtCurveArea( AuxId)
|
||||
end
|
||||
if vtExtr then
|
||||
if not bIs3Faces then
|
||||
if bIsOpenPath then
|
||||
_, vtExtr = EgtCurveIsFlat( AuxId)
|
||||
else
|
||||
vtExtr, _, _ = EgtCurveArea( AuxId)
|
||||
end
|
||||
if vtExtr then
|
||||
local fFrCurve = EgtGetGlobFrame( AuxId)
|
||||
vtExtr:toGlob( fFrCurve)
|
||||
if bIsOpenPath and vtExtr * vtOrtho < GEO.EPS_SMALL then
|
||||
vtExtr = -vtExtr
|
||||
end
|
||||
end
|
||||
end
|
||||
if vtExtr then
|
||||
-- if bIs3Faces and i == nNumIdAux then
|
||||
-- vtExtr = -vtExtr
|
||||
-- end
|
||||
@@ -2844,6 +2882,12 @@ local function MakeByChainOrSaw( Proc, nPhase, nRawId, nPartId, nFacInd,
|
||||
local nOk, sErr = MakeChamfer( Proc, bIs3Faces, nAddGrpId, vtOrtho, b3Solid, nSurfInt, dDepthCham)
|
||||
if nOk < 0 then return false, sErr end
|
||||
end
|
||||
-- slot aperta su due lati
|
||||
elseif Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' then
|
||||
if nChamfer > 0 then
|
||||
local nOk, sErr = MakeChamfer( Proc, false, nAddGrpId, rfFac:getVersZ(), b3Solid, nil, dDepthCham)
|
||||
if nOk < 0 then return false, sErr end
|
||||
end
|
||||
end
|
||||
if not dDepth then dDepth = dElev end
|
||||
-- Recupero le facce adiacenti alla principale
|
||||
@@ -5411,6 +5455,11 @@ function SawPlusChain.Chainsaw.CalculateMachiningParameters( Proc, FaceToMachine
|
||||
EgtOutLog( Mortising.Message)
|
||||
end
|
||||
end
|
||||
if EdgeToMachine.ToolDirection:getZ() < - 10 * GEO.EPS_ANG_SMALL then
|
||||
Mortising.CanApply = false
|
||||
Mortising.Message = 'Feature '.. Proc.FeatureId .. ' : skipped chainsaw from bottom'
|
||||
EgtOutLog( Mortising.Message)
|
||||
end
|
||||
|
||||
-- parametri della lavorazione
|
||||
-- inizio e fine aperti o chiusi
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
-- 2022/08/09 Ora se la feature ha meno di due facce viene richiamata la normale Cut.
|
||||
-- 2022/11/09 Aggiunta gestione parametro Q04 per forzare utilizzo fresa di lato e lavorare come FreeContour.
|
||||
-- 2023/02/14 Gestite le rotazioni di 90 deg nell'aggiornamento del grezzo.
|
||||
-- 2024/08/05 Se assimilabile ad un taglio (1 faccia) si considerare area non pinzabile testa/coda
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessSimpleScarf = {}
|
||||
@@ -148,7 +149,7 @@ function ProcessSimpleScarf.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, dOvmT
|
||||
-- se ci sono meno di due facce si riduce a una normale Cut
|
||||
local nFacetCnt = EgtSurfTmFacetCount( Proc.Id)
|
||||
if nFacetCnt < 2 then
|
||||
local bOk, sErr = Cut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, nil, nil, nil, nil, nil, dOvmTail)
|
||||
local bOk, sErr = Cut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, nil, nil, nil, nil, nil, dOvmTail, true)
|
||||
return bOk, sErr
|
||||
end
|
||||
-- dati delle facce
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
==== Beam Update Log ====
|
||||
|
||||
Versione 2.6g4 (2024/07/19)
|
||||
- Modif : in BatchProcess e BatchProcessNew si forza ricalcolo ogni volta che si è in situazione di CHECK o CHECK + GENERATE
|
||||
|
||||
Versione 2.6g3 (07/07/2024)
|
||||
- Added : aggiunta possibilità di funzione GetNzLimDownUp specifica per ogni macchina
|
||||
- Modif : anche nel taglio a cubetti si chiama GetNzLimDownUp di macchina, se presente, per decidere limite orientamento lama verso il basso
|
||||
|
||||
+1
-1
@@ -2,5 +2,5 @@
|
||||
-- Gestione della versione di Beam
|
||||
|
||||
NAME = 'Beam'
|
||||
VERSION = '2.6g3'
|
||||
VERSION = '2.6g4'
|
||||
MIN_EXE = '2.6e2'
|
||||
|
||||
Reference in New Issue
Block a user