Script47_MinimizeBoundingBox.lua
-- Lua example for Autodesk Netfabb 2025.0
-- This script demonstrates minimizing the bounding box
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
-- Get root meshgroup from tray
root = tray.root
-- Collect meshes in the tray
meshes = {}
insertMeshesIntoTable(root, meshes)
-- Iterate over meshes in tray
for i, traymesh in pairs(meshes) do
group = traymesh.parent
local luamesh = traymesh.mesh
luamesh:applymatrix(traymesh.matrix)
-- Minimize Outbox Options
-- 1) Volume
-- 2) VolumeFlat
-- 3) HeightBase
luamesh:minimizeoutbox("Volume")
-- Creates a new mesh
newmesh = group:addmesh(luamesh, traymesh.name, tonumber(traymesh.color, 16))
removemesh = group:removemesh(traymesh)
end