Exactly what the title is asking, what is the easiest way to get the total mass of a model?

2 Likes

Currently, I am unsure if you are able to.

But you might want to refer to this post however.

1 Like

ROBLOX has a really neat, built in method for parts: `:GetMass()`

.

Using this knowledge, we can write a function:

```
function getMass(model)
assert(model and model:IsA("Model"), "Model argument of getMass must be a model.");
local mass = 0;
for i,v in pairs(model:GetDescendants()) do
if(v:IsA("BasePart")) then
mass += v:GetMass();
end
end
return mass;
end
```

EDIT: Updated to use AssemblyMass propery of BaseParts:

```
function getMass(model)
assert(model and model:IsA("Model"), "Model argument of getMass must be a model.");
local mass = 0;
for i,v in pairs(model:GetDescendants()) do
if(v:IsA("BasePart")) then
mass += v.AssemblyMass;
end
end
return mass;
end
```

15 Likes

Whatâ€™s the difference between the assemblymass and the getmass?

1 Like

According to the Developer wiki, `AssemblyMass`

has a feature where â€śparts that are `Massless`

and are not the assemblyâ€™s root part will not contribute to the AssemblyMass.â€ť Be advised that `AssemblyMass`

also considers anchored parts to have infinite mass.

10 Likes

Sorry for the bump, but how and where do i reference my model? And Im looking to print the locomotives total mass into my output. How would I be able to do that?