DataBeam :
- migliorati controlli per attacchi e uscite Tg con lama - migliorato controllo piano perpendicolare di DiceCut - in LapJoint antischeggia solo se feature trasversali.
This commit is contained in:
+3
-2
@@ -1,4 +1,4 @@
|
||||
-- BeamLib.lua by Egaltech s.r.l. 2021/03/22
|
||||
-- BeamLib.lua by Egaltech s.r.l. 2021/04/27
|
||||
-- Libreria globale per Travi
|
||||
-- 2020/07/28 Corretto calcolo attacchi e uscite di lame per non uscire dalla faccia sotto.
|
||||
-- 2020/08/18 Aggiunto a GetNearestParalOpposite e GetNearestOrthoOpposite parametro opzionale vtNorm.
|
||||
@@ -9,6 +9,7 @@
|
||||
-- 2021/02/09 In taglio lama con PF si preferisce testa in Y- quindi SCC di conseguenza.
|
||||
-- 2021/02/26 In taglio lama consento attacco anche da sotto (grazie a migliorie in MachKernel).
|
||||
-- 2021/03/22 Attacchi e uscite di tagli longitudinali da sotto con lama solo ortogonali.
|
||||
-- 2021/04/27 Migliorati controlli per attacchi e uscite Tg con lama.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamLib = {}
|
||||
@@ -896,7 +897,7 @@ function BeamLib.MakeOneFaceBySaw( nSurfId, nFacet, sCutting, dSawDiam, Par5, dV
|
||||
local dLenLo2 = abs( dLo2Tang)
|
||||
-- scelgo l'attacco più conveniente (se non taglio praticamente longitudinale)
|
||||
if abs( vtTg:getX()) < 0.9848 and
|
||||
( ( abs( vtTg:getZ()) < 0.17 and ( vtV1:getZ() < -0.5 or vtV2:getZ() < -0.5)) or ( dLenLi2 < dLenLi and dLenLo2 < dLenLo) or ( dLenLi2 + dLenLo2) < ( dLenLi + dLenLo)) then
|
||||
( ( abs( vtTg:getZ()) < 0.17 and ( vtV1:getZ() < -0.5 or vtV2:getZ() < -0.5)) or ( 1.5*dLenLi2 < dLenLi and 1.5*dLenLo2 < dLenLo) or 1.5*( dLenLi2 + dLenLo2) < ( dLenLi + dLenLo)) then
|
||||
dLiTang, dLiPerp, dLoTang, dLoPerp = dLi2Tang, dLi2Perp, dLo2Tang, dLo2Perp
|
||||
end
|
||||
-- posizione braccio
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
-- DiceCut.lua by Egaltech s.r.l. 2021/03/02
|
||||
-- DiceCut.lua by Egaltech s.r.l. 2021/04/27
|
||||
-- Gestione dei piano paralleli nei tagli lunghi: equidistanziamento dei piani paralleli
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -473,7 +473,7 @@ function DiceCut.GetDice( nParent, BBoxRawPart, ptCPlanes, vtNPlanes, bGetOrtoPl
|
||||
if vtNInner:getZ() > -0.0175 or vtNInner:getZ() < dNzLimDwnUp or abs( vtNInner:getY()) > 0.8 then
|
||||
vtO:rotate( vtNInner, 90)
|
||||
-- se diretto troppo ortogonalmente all'asse trave e taglio non da sotto, lo ruoto ulteriormente
|
||||
if abs( vtO:getY()) > 1.5 * abs( vtO:getX()) and vtNInner:getZ() > dNzLimDwnUp then
|
||||
if abs( vtO:getY()) > 3 * abs( vtO:getX()) and vtNInner:getZ() > dNzLimDwnUp then
|
||||
vtO:rotate( vtNInner, 90)
|
||||
-- se faccia principale verso il basso (almeno -3deg), lo inverto per iniziare da sopra
|
||||
if vtNInner:getZ() < -0.05 then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2021/04/23
|
||||
-- ProcessLapJoint.lua by Egaltech s.r.l. 2021/04/27
|
||||
-- Gestione calcolo mezzo-legno per Travi
|
||||
-- 2019/10/08 Agg. gestione OpenPocket.
|
||||
-- 2021/01/24 Con sega a catena ora sempre impostato asse A.
|
||||
@@ -12,6 +12,7 @@
|
||||
-- 2021/04/15 Aggiunta gestione massima lunghezza fresa da sotto su svuotature.
|
||||
-- 2021/04/21 Anche feature lunga con due facce con opzione lama ora si taglia con lama.
|
||||
-- 2021/04/23 Corretto caso con antischeggia non inseriti perchè inutili.
|
||||
-- 2021/04/27 Antischeggia solo se feature trasversali.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessLapJoint = {}
|
||||
@@ -3683,11 +3684,10 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa
|
||||
end
|
||||
-- se richiesti antischeggia con lama su U trasversale e smusso non esclusivo
|
||||
-- rimane da gestire: se da eseguire con fresa o se richiesto lama ma impossibile utilizzarla, si utilizza fresa
|
||||
-- 15.02.2021 esegue antischeggia di lama se forma U o L ma con numero lati verificati oppure forma U o L ma con feature passante in Y o Z
|
||||
-- 2021.04.27 esegue antischeggia di lama se forma U o L con feature passante in Y o Z
|
||||
local bMadeASbyBld = false
|
||||
local bPassThrou = ( Proc.Box:getDimY() > b3Raw:getDimY() - 1 or Proc.Box:getDimZ() > b3Raw:getDimZ() - 1)
|
||||
if nChamfer < 2 and EgtGetInfo( Proc.Id, Q_ANTISPLINT_TYPE, 'i') == 1 and
|
||||
( ( ( Proc.Fct == 3 and bIsU) or ( Proc.Fct == 2 and bIsL)) or ( ( bIsU or bIsL) and bPassThrou)) then
|
||||
if nChamfer < 2 and EgtGetInfo( Proc.Id, Q_ANTISPLINT_TYPE, 'i') == 1 and (( bIsU or bIsL) and bPassThrou) then
|
||||
local nNumFac = EgtIf( bIsU, 2, 1)
|
||||
local nPrefSide = 1 -- di preferenza il motore è meglio tenerlo sinistra
|
||||
-- se a U cerco di ottimizzare il lato di lavoro della lama
|
||||
|
||||
Reference in New Issue
Block a user