- aggiornamento con nuove costanti materiale
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user