The flat rate shipping under $45 in this example is probably because it costs nearly the same to ship half a yard or five yards; shipping 20 will cost a good deal more, but not be anything like 20 times the cost of shipping one yard. So there's no way to bake in a price that doesn't end up generating absurd results either for you, your customer, or both.
But, you can do that if it doesn't fly too much in the face of customer expectation. In some industries, like printing, it's common. In fabric I think there's a strong expectation of a single price per length unit, though I suppose you could challenge it.
I don't think lots of price tiers is a good customer experience, so I decided against it as a long-term customer satisfaction strategy. I do wonder if it's costing me sales. Maybe I should set up an alternate brand that does tiered pricing and free shipping.
[source] https://www.nickkolenda.com/psychological-pricing-strategies...