This can be done, but you would need a custom shipping module able to identify the various product types and know how to count the number of items per type ...
You would need some type of identifier for this to know which product is which product type ...
If you do not use products_weight, that field could be worked into this code ...
It would take some work to write this, but it could be done ...



