Proposed legislation in Washington State would attempt to ban the use of 3D printers or CNC machines from being used to create guns or gun parts, likely expanding to other items that would be banned later. They also want to somehow require “blocking systems” to technologically prevent these devices from being able to create such items. This concept has been proposed in other venues as well.
Ostensibly all of this is to push back against the creation of so-called untraceable “ghost guns”. Over the last few years 3D printers have evolved from finicky devices requiring quite a bit of expertise to use, into more of consumer products that still need considerable knowledge to use at their best, but that generally are much simpler for non-experts to use. 3D printers work with plastic. Less familiar especially to hobbyists are CNC equipment, that’s Computer Numerical Control — that can also work with plastic but more commonly are used to fashion metal or wood.
Here’s a key reality: These machines themselves don’t know what they’re creating, other than some that display the shape of the objects. These objects can vary enormously and can be in virtually infinite numbers of specific forms, and could typically be used for all sorts of assemblies having nothing to do with guns. 3D printers and CNC equipment are literally robots following a long list of specific instructions — move this far in X direction, this far in Y, this distance in Z. Extrude this much plastic. And so on.
They generally don’t even need Internet connections. They can follow a long list of these precise instructions in what’s called g-code (which stands for “geometric code”), even if presented on a simple microSD card. And by the way, g-code was invented in the 1950s at MIT! It’s been augmented over the years of course.
What creates the g-code? In the case of 3D printers, typically g-code comes from software generically referred to as slicers. CNC gear uses similar software to generate their g-code. Slicers input the data from CAD — Computer Aided Design — files often as what are called STL files, and processes these to create the specific lists of g-code instructions.
While there are some versions of all this that are proprietary, crucially all of these various elements in this engineering pipeline can be implemented using easily available parts and open source software. So it becomes obvious why so-called “blocking” technologies would be impractical at scale against anyone with the desire to ignore them.
Guns can be created using parts from a hardware store — 3D printers or CNC machines aren’t necessary. Remember, the equipment itself doesn’t know if it’s creating a component for a gun or a similar looking object for a harmless school engineering assignment having nothing to do with firearms. Should screwdrivers be banned because they can be used to create weapons? Of course not.
I could go on but frankly the concept of requiring “blocking” technology in 3D printers and CNC machines isn’t even a close call in terms of technological reality. It wouldn’t accomplish its stated purpose, but it could cause enormous problems in a vast array of ways since these tools are used by factories, businesses, educators, farmers, hobbyists, and many others who are doing nothing related to firearms at all, but would find their work constantly hobbled by such government edicts and attempts to implement them.
The blocking concept for 3D printers and CNC equipment is somewhat akin to wishful thinking. It’s not practical, and it should absolutely be rejected.
–Lauren–