Hi,
3d Hubs sets the price with predefined settings, meaning 20% infill and (i guess) 1mm outer shells, they don’t calculate the full volume of the model but the volume of consumed plastic when printed with those settings.
If you want to have different prices for different speeds / layer heights you can either list your printer twice, once with high settings, once with low quality.
If you weight your filament you run into the problem, that different materials and even different colors have other densities. 3d Hubs has to know all densities to then convert the used volume (which they can calculate with the settings above) into weight.
If you have materials that are very heavy you can adjust your price accordingly. For example i take roughly 3 times as much money for metal blend materials since they have 3 times the density.
If a customer orders a cube with edge length of 5cm he doesnt have to pay 5x5x5x =125cm³ of material.
As most filaments are priced by weight when we buy them i have converted the price/kg that i know from the filament producer into price/cm³ and since for example Copperfill is 3 times heavier then normal PLA i have to take 3 times that price to account for the weight.
In the end you can also adjust your pricing when you discuss an order with a customer. If the customer wants 100% infill or support structure etc. or says that the print has to be printed at very slow speed you can then adjust the price for that specific model.
-Marius