68 lines
2.0 KiB
Lua
68 lines
2.0 KiB
Lua
-- RunGcodeGenerate.lua by Egaltech s.r.l. 2022/04/11
|
|
-- Calcoli prima fase per Stampa 3d
|
|
|
|
-- Tabella per definizione modulo
|
|
local RunGcodeGenerate = {}
|
|
|
|
-- Intestazioni
|
|
require( 'EgtBase')
|
|
|
|
EgtOutLog( ' RunGcodeGenerate started', 1)
|
|
|
|
-- Costanti generali
|
|
_G.package.loaded.AddManData = nil
|
|
local AMD = require( 'AddManData')
|
|
|
|
function RunGcodeGenerate.Exec()
|
|
-- Recupero il pezzo (per ora primo e unico)
|
|
local nPartIndex = 1
|
|
local nPartId = EgtGetFirstNameInGroup( GDB_ID.ROOT, PART .. nPartIndex)
|
|
if not nPartId then
|
|
EgtOutBox( 'Error missing part', 'GcodeGenerate')
|
|
return
|
|
end
|
|
|
|
-- Recupero i layer da processare
|
|
local vLayIds = EgtGetNameInGroup( nPartId, SLICE_LAYER.."*")
|
|
if not vLayIds then
|
|
EgtOutBox( 'Error missing slices', 'ToolPathCalc')
|
|
return
|
|
end
|
|
|
|
-- Ciclo sui layer
|
|
local vEntId = {}
|
|
for nIdx = 1, #vLayIds do
|
|
-- scorro tutti i gruppi di contorni
|
|
local nCrvGrpId = EgtGetFirstNameInGroup( vLayIds[ nIdx], CONTOUR_GRP.."*")
|
|
while nCrvGrpId do
|
|
-- recupero il gruppo dei percorsi utensile
|
|
local nTpathGrpId = EgtGetFirstNameInGroup( nCrvGrpId, TOOLPATH_GRP)
|
|
if not nTpathGrpId then
|
|
EgtOutBox( 'Error missing toolpaths', 'ToolPathCalc')
|
|
return
|
|
end
|
|
-- recupero le entità nel gruppo
|
|
local nEntId = EgtGetFirstInGroup( nTpathGrpId)
|
|
while nEntId do
|
|
table.insert( vEntId, nEntId)
|
|
nEntId = EgtGetNext( nEntId)
|
|
end
|
|
--passo al gruppo di contorni successivo
|
|
nCrvGrpId = EgtGetNextName( nCrvGrpId, CONTOUR_GRP.."*")
|
|
end
|
|
end
|
|
if #vEntId == 0 then
|
|
EgtOutBox( 'Error missing entities', 'ToolPathCalc')
|
|
return
|
|
end
|
|
|
|
-- Aggiungo la lavorazione
|
|
EgtSetCurrMachGroup()
|
|
EgtAddMachining( 'Extrusion 1', 'ExtrusionA')
|
|
EgtSetMachiningGeometry( vEntId)
|
|
EgtApplyMachining()
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
return RunGcodeGenerate
|