From 96a6f3245885badf168693f39e47b1fca45dfede Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Tue, 27 Dec 2022 16:34:44 +0100 Subject: [PATCH] - aggiornamento con nuove costanti materiale --- LuaLibs/RunMachParamFromSWCalc.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/LuaLibs/RunMachParamFromSWCalc.lua b/LuaLibs/RunMachParamFromSWCalc.lua index bb45f9a..a92475d 100644 --- a/LuaLibs/RunMachParamFromSWCalc.lua +++ b/LuaLibs/RunMachParamFromSWCalc.lua @@ -1,4 +1,4 @@ --- RunMachParamFromSWCalc.lua by Egaltech s.r.l. 2022/12/07 +-- RunMachParamFromSWCalc.lua by Egaltech s.r.l. 2022/12/27 -- Calcolo dei parametri di stampa -- Tabella per definizione modulo @@ -12,9 +12,12 @@ EgtOutLog( ' RunMachParamFromSWCalc started', 1) -- Costanti generali local AMD = require( 'AddManData') +--local MACHINING = {} +--MACHINING.K = 103 --local MATERIAL = {} --MATERIAL.Name = 'AKROMIDĀ® B3 ICF 40' ---MATERIAL.K = 110 +--MATERIAL.K_EXTRUSION = 110 +--MATERIAL.K_LAYERTIME = 105 --MATERIAL.C1 = 0.8742 --MATERIAL.C2 = 0.8964 --MATERIAL.Density = 1.31 @@ -134,9 +137,9 @@ function RunMachParamFromSWCalc.Exec() end end -- calcolo tempi stimati del layer - local dTMin = ( dMF + MATERIAL.AMin) / MATERIAL.BMin * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) - local dTTrg = ( dMF + MATERIAL.ATrg) / MATERIAL.BTrg * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) - local dTMax = ( dMF + MATERIAL.AMax) / MATERIAL.BMax * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) + local dTMin = ( MATERIAL.K_LAYERTIME / 100.0) * ( dMF + MATERIAL.AMin) / MATERIAL.BMin * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) + local dTTrg = ( MATERIAL.K_LAYERTIME / 100.0) * ( dMF + MATERIAL.ATrg) / MATERIAL.BTrg * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) + local dTMax = ( MATERIAL.K_LAYERTIME / 100.0) * ( dMF + MATERIAL.AMax) / MATERIAL.BMax * pow( 0.25 * dStrand, MATERIAL.KW) * pow( dSliceStep, MATERIAL.KZ) * pow( dSC, MATERIAL.KN) local dFMin = dTotLayerLength / dTMax * 60 local dFTrg = dTotLayerLength / dTTrg * 60 local dFMax = dTotLayerLength / dTMin * 60 @@ -150,7 +153,7 @@ function RunMachParamFromSWCalc.Exec() -- calcolo la portata local Vf = dLayerFeed * ( ( dStrand - dSliceStep) * dSliceStep + pi * pow( dSliceStep / 2, 2)) / 1000 -- calcolo speed - local dSpeed = ( MATERIAL.K / 100.0) * pow( Vf / MATERIAL.C1, 1 / MATERIAL.C2) + local dSpeed = ( MATERIAL.K_EXTRUSION / 100.0) * ( MACHINING.K / 100.0) * pow( Vf / MATERIAL.C1, 1 / MATERIAL.C2) -- verifico se speed esce da minimo e massimo della macchina local bSpeedOk = true if dSpeed < dSMin then @@ -162,7 +165,7 @@ function RunMachParamFromSWCalc.Exec() dSpeed = dSMax end if not bSpeedOk then - dLayerFeed = ( MATERIAL.C1 * pow( ( dSpeed / ( MATERIAL.K / 100.0)), MATERIAL.C2)) * 1000 / ( ( dStrand - dSliceStep) * dSliceStep + pi * pow( dSliceStep / 2, 2)) + dLayerFeed = ( MATERIAL.C1 * pow( ( dSpeed / (( MATERIAL.K_EXTRUSION / 100.0) * ( MACHINING.K / 100.0))), MATERIAL.C2)) * 1000 / ( ( dStrand - dSliceStep) * dSliceStep + pi * pow( dSliceStep / 2, 2)) dLayerTime = dTotLayerLength / dLayerFeed * 60 dLayerWait = floor( dTMin + 0.5) - floor( dLayerTime + 0.5) end