Share

Script21_ReportGenerator.lua

-- Lua example for Autodesk Netfabb 2019.1

-- The scripts shows how to generate reports for parts in the tray

system:setloggingtooglwindow(true)

insertMeshesIntoTable = function(meshgroup, Outtable)
    for mesh_index = 0, meshgroup.meshcount - 1 do
        local traymesh = meshgroup:getmesh(mesh_index)
        table.insert(Outtable, traymesh)
    end
    for group_index = 0, meshgroup.groupcount - 1 do
        subgroup = meshgroup:getsubgroup(group_index)
        insertMeshesIntoTable(subgroup, Outtable)
    end
end

function createReportsForMeshesInTray(traypar)
    root = traypar.root
    local meshes = {}
    insertMeshesIntoTable(root, meshes)
    local snapshot = system:createsnapshotcreator()
    local reportgenerator = system:createreportgenerator(snapshot)
    for i, traymesh in pairs(meshes) do
        reportgenerator:createreportformesh(
            traymesh,
            "Reports\\netfabb_Part_Analysis.odt",
            "D:\\LUAReport" .. tostring(i) .. ".odt"
        )
    end
    return true
end

function createReportForTray(traypar)
    local snapshot = system:createsnapshotcreator()
    local reportgenerator = system:createreportgenerator(snapshot)
    reportgenerator:createreportfortray(tray, 'Reports\\netfabb_Platform_Views.odt', 'D:\\LUAReportPlatform.odt');
    return true
end

createReportsForMeshesInTray(tray)
createReportForTray(tray)

Was this information helpful?