3dPrinting :
- nuova versione compatibile con Icarus.
This commit is contained in:
@@ -250,6 +250,7 @@ KEY_TCUR = "TCur"
|
||||
KEY_FCUR = "FCur"
|
||||
KEY_LENGTH = "Length"
|
||||
KEY_SLICEID = "SliceId"
|
||||
KEY_MASS = "PrintMass"
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return AddManData
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- CalcMachParam.lua by Egaltech s.r.l. 2022/08/07
|
||||
-- CalcMachParam.lua by Egaltech s.r.l. 2022/09/14
|
||||
-- Calcolo dei parametri di stampa
|
||||
|
||||
-- Intestazioni
|
||||
@@ -34,6 +34,8 @@ end
|
||||
local sMachIni = EgtGetCurrMachineDir() .. '\\' .. EgtGetCurrMachineName() .. '.ini'
|
||||
local dSMin = tonumber( EgtGetStringFromIni( SEC_3DPRINTING, KEY_SPEED_MIN, 0, sMachIni))
|
||||
local dSMax = tonumber( EgtGetStringFromIni( SEC_3DPRINTING, KEY_SPEED_MAX, 50000, sMachIni))
|
||||
-- massa materiale utilizzato
|
||||
local dPrintMass = 0
|
||||
-- massimo indice di layer calcolato
|
||||
local nMaxIndex = 0
|
||||
-- ciclo sui pezzi
|
||||
@@ -133,10 +135,15 @@ while nPartId do
|
||||
dLayerFeed = ( MATERIAL.C1 * pow( ( dSpeed / ( 1 + MATERIAL.K)), MATERIAL.C2)) * 1000 / ( ( dStrand - dSliceStep) * dSliceStep + pi * pow( dSliceStep / 2, 2))
|
||||
dLayerTime = dTotLayerLength / dLayerFeed * 60
|
||||
end
|
||||
-- calcolo massa dello strato
|
||||
local dLayerMass = dTotLayerLength * dSliceStep * dStrand * MATERIAL.Density * 1e-6
|
||||
if dLayerMass and dLayerMass > 0 then
|
||||
dPrintMass = dPrintMass + dLayerMass
|
||||
end
|
||||
-- scrivo info feed e speed in group toolpath
|
||||
nCrvId = EgtGetFirstNameInGroup( nLayerId, CONTOUR_GRP .. '*')
|
||||
while nCrvId do
|
||||
local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP)
|
||||
local nToolPathId = EgtGetFirstNameInGroup( nCrvId, TOOLPATH_GRP) or GDB_ID.NULL
|
||||
EgtSetInfo( nToolPathId, KEY_FEED, dLayerFeed)
|
||||
EgtSetInfo( nToolPathId, KEY_SPEED, dSpeed)
|
||||
nCrvId = EgtGetNextName( nCrvId, CONTOUR_GRP .. '*')
|
||||
@@ -160,3 +167,5 @@ while nPartId do
|
||||
nPartId = EgtGetNextPart( nPartId)
|
||||
::continue::
|
||||
end
|
||||
-- imposto massa totale
|
||||
EgtSetInfo( nResultLayerId, KEY_MASS, dPrintMass)
|
||||
|
||||
@@ -24,7 +24,7 @@ local function GetLayerParamsForPathCalc()
|
||||
LayerParams.dOffs = EgtGetInfo( s_nPartId, KEY_OFFSET_SLICE, 'd')
|
||||
LayerParams.nFloorNbr = EgtGetInfo( s_nPartId, KEY_FLOOR_NBR, 'i')
|
||||
LayerParams.nFloorType = EgtGetInfo( s_nPartId, KEY_FLOOR_TYPE, 'i')
|
||||
LayerParams.nCeilNbr = EgtGetInfo( s_nPartId, KEY_CEIL_NBR, 'i')
|
||||
LayerParams.nCeilNbr = EgtGetInfo( s_nPartId, KEY_CEIL_NBR, 'i') or 0
|
||||
LayerParams.nCeilType = EgtGetInfo( s_nPartId, KEY_CEIL_TYPE, 'i')
|
||||
LayerParams.vtSlicing = EgtGetInfo( s_nPartId, KEY_SLICING_DIR, 'v')
|
||||
LayerParams.bPrintInvert = ( EgtGetInfo( s_nPartId, KEY_PRINT_DIRECTION, 'i') == PRINT_DIRECTION.CW)
|
||||
|
||||
@@ -25,7 +25,7 @@ function RunGcodeGenerate.Exec()
|
||||
|
||||
-- Recupero il pezzo (per ora primo e unico)
|
||||
local nPartIndex = 1
|
||||
local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex)
|
||||
local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex) or EgtGetFirstNameInGroup( GDB_ID.ROOT, PART)
|
||||
if not nPartId then
|
||||
EgtOutBox( 'Error missing part', 'GcodeGenerate')
|
||||
return
|
||||
@@ -109,13 +109,24 @@ function RunGcodeGenerate.Exec()
|
||||
-- Genero il programma CN
|
||||
local sInfo = 'EgtCAM5 ver.' .. EgtGetExeVersion() .. ' - ' .. sPath
|
||||
local bGenOk = EgtGenerate( '', sInfo)
|
||||
if bGenOk then
|
||||
EgtEstimate('')
|
||||
end
|
||||
|
||||
EgtResetCurrMachGroup()
|
||||
|
||||
if bGenOk then
|
||||
EgtOutBox( 'Generation successful.', 'GcodeGeneration', 'INFO')
|
||||
if PRINT and PRINT.PROGRAM == 1 then
|
||||
if bGenOk then
|
||||
PRINT.ERR = 0
|
||||
else
|
||||
PRINT.ERR = 999
|
||||
end
|
||||
else
|
||||
EgtOutBox( 'Generation failed.', 'GcodeGeneration', 'ERROR')
|
||||
if bGenOk then
|
||||
EgtOutBox( 'Generation successful.', 'GcodeGeneration', 'INFO')
|
||||
else
|
||||
EgtOutBox( 'Generation failed.', 'GcodeGeneration', 'ERROR')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user