It is not the patent holders responsibility to publicize their patents. It is the responsibility of any inventor to do a patent search first to understand the patent landscape and determine where they have freedom to operate.
Ignorance is not a defense in the eyes of the law.
This argument is absurd because there are simply so many patents - no small company could possibly be able to search through them to make sure they aren't infringing. I don't know if you have seen this article in which they quote an estimate, made by the American Intellectual Property Law Association, of the total cost if each software company employed enough patent lawyers to check through even a year's worth of software patents, spending only 10 minutes on each: $1.5 trillion, nearly 10% of the US GDP. It would also require 50 times more patent lawyers than the total number currently practising in the US. Although there are presumably less patents on 3D printer technology, the point is still clear: the system is broken because it is generally impractical to be fully aware of every possible patent that you might accidentally violate while developing your product.
In fact the real absurdity of the system is that is allows people to claim ownership over an idea, which they can then use to extort honest people developing their own technology entirely independently. I agree that some sort of protection over copying someone's design can make sense, but there should be no protection against people independently developing something that just so happens to resemble your design.