Physical Weight Estimates

Hey Guys,

I've been doing a lot of design work for machines lately and I thought it would be useful to have a tool to be able to estimate the weight of a selection of objects/parts. For example, if I am still in the design phase, I can estimate the weight for a 3D printer gantry or CNC machine to give me more information to decide what belt (or entire drive system) to choose, if I need heavier lead screws, etc. I'm pretty sure it would be useful for other things like building robots or other parts too ;)

So basically, something that can write values to the "User Defined Properties" of a given object to define the parts weight, either by an absolute value for a fixed part or weight by volume for metal plates (with holes or other removed material) or screws of different lengths for example. Once you've defined values for everything, select a group of objects and get an estimate of the weight.

To define a weight, the UI of the tool could have an text entry field and check boxes to define what type of data it is. For absolute values where the part is of a known fixed weight, type in the weight and check "Absolute" and press a button to write the appropriate data the tool will use to calculate estimates. For absolute, something like A10 to indicate that part if 10oz for example.

For Volume based parts, input the weight of 1 unit (whatever that may be), then it would use that value and the Volume of the part that Max calculates and write two values, one for the "Per Unit" value the user entered and another for the final calculated weight, which is output by the tool. This second value will be read by the tool and used for estimates of that part. Calculating at the time of entry, but still establishing the main variable needed to calculate would allow you to recalculate later if the part is changed by hitting a selected only or global By Volume option in the UI.

Keeping a count of specific sets of objects could be handled using Selection Sets with an option to only display/calculate sets chosen by the user if you want in case you're using Selection Sets for other purposes also. The list in the interface would therefore contain a "Selected" list item at the top and whatever Selection Sets have been added after.

Other functions that would be useful would be:

- copy values (only values created by tool, ignore others)
- paste values (all selected)
- paste values to instances (without changing selection)
- select objects with undefined values

I won't pretend to know what the best unit of measurement would be for weight, but there could be a base unit that it always calculates and can convert to other weight based measurements chosen by the user.

For any kind soul would be interested in tackling this, I can provide more info but I'm already in TL;DR territory so this should be more than enough to get going :)

Thank you so much in advance!