It’s also pretty much a technical impossibility if you know anything about 3D printers.
3D printers can’t read CAD. They aren’t fed STLs or any other kind of 3D model. They’re fed G-Code, which contains no geometrical details. It’s a list of instructions saying “turn these 4 motors this speed this for this amount of time while heating that part to this temperature and turning this other motor this speed, then heat this part while tunlrning that motor that fast…” with hundreds or thousands of instructions, and then new instructions for the next layer.
In order to print a model, you first have to run it through a program called a slicer that generates that G-code by slicing it into layers with instructions for how to move, heat and cool the nozzle, build plate, and chamber, feed the filament, etc.
The printers just follow those instructions with minimal on-board processing and zero information regarding the final model’s structure.
Right, but it’s not something the printer does at all right now, I assume. Someone gives me Russian text to retype, I retype the letters, but I don’t speak Russian so I can’t be meaningfully asked to specifically not retype anything about highway design.
to comply, vendors would need to require printers sold in california to be locked (presumably by encryption) to a proprietary slicer with ai vision that could try to determine if the thing being printed looked like a gun. Maybe if there was a bullet sized barrel and access around the striker area.
Makerbot more or less did this. It was a pain in the ass to use a non-makerbot-desktop slicer with a 2/2x series.
The software becomes part of the printer. They are linked in a way that one cannot operate without the other.
I didn’t say the law was well written, I find the the most likely way to comply.
I wouldn’t be that hard to read the g-code and reconstruct the model programatically checking for bores and firing pin access, feed that data into a model with some RAG about internal gun dimensions, but the printers are generally too underpowered to do such a calculation.
it’s all a fools errand really, guns can be made out of a handfull of hardware store parts and a drill.
Speaking as someone that knows basically nothing about 3d printing (though has done similar with CNC), do you think it’d be possible to reverse-engineer the code in some way? I’m thinking something like a simulated 3d printer 🤷♀️
You can, sure. but then you have a new file that is entirely distinct from the original model (as far as computer hashing is concerned). So you have to do several steps to legally comply with this:
Receive gcode file
use costly ai to convert the gcode to a 3d model.
use costly ai to try to figure out what the 3d model is.
do all of this either via a remote connection, or on a processor weaker than the median game console from the 1990s.
repeat for every single attempted print, which can be several dozen per completed product depending on how annoying the calibration was that day
So if you’re a 3d printing business you now have to have your own data center basically dedicated to the tens of millions of potential prints you’re going to receive, because it’s near impossible to fingerprint g-code as it’s dynamically generated from each different CAD software differently based on thousands of settings.
Essentially any 3d printer manufacturer is going to just say “not for use in california” instead of paying hundreds of millions of dollars a year to try to comply with this.
It’s also pretty much a technical impossibility if you know anything about 3D printers.
3D printers can’t read CAD. They aren’t fed STLs or any other kind of 3D model. They’re fed G-Code, which contains no geometrical details. It’s a list of instructions saying “turn these 4 motors this speed this for this amount of time while heating that part to this temperature and turning this other motor this speed, then heat this part while tunlrning that motor that fast…” with hundreds or thousands of instructions, and then new instructions for the next layer.
In order to print a model, you first have to run it through a program called a slicer that generates that G-code by slicing it into layers with instructions for how to move, heat and cool the nozzle, build plate, and chamber, feed the filament, etc.
The printers just follow those instructions with minimal on-board processing and zero information regarding the final model’s structure.
Those instructions can be translated into the final product. It isn’t hard when you know what each instruction produces…
Right, but it’s not something the printer does at all right now, I assume. Someone gives me Russian text to retype, I retype the letters, but I don’t speak Russian so I can’t be meaningfully asked to specifically not retype anything about highway design.
to comply, vendors would need to require printers sold in california to be locked (presumably by encryption) to a proprietary slicer with ai vision that could try to determine if the thing being printed looked like a gun. Maybe if there was a bullet sized barrel and access around the striker area.
Makerbot more or less did this. It was a pain in the ass to use a non-makerbot-desktop slicer with a 2/2x series.
But that actually wouldn’t meet the law. The law requires the printer to do the check.
The software becomes part of the printer. They are linked in a way that one cannot operate without the other.
I didn’t say the law was well written, I find the the most likely way to comply.
I wouldn’t be that hard to read the g-code and reconstruct the model programatically checking for bores and firing pin access, feed that data into a model with some RAG about internal gun dimensions, but the printers are generally too underpowered to do such a calculation.
it’s all a fools errand really, guns can be made out of a handfull of hardware store parts and a drill.
But the most popular brand right now forces server interaction.
Only if you want to use cloud printing. I print on my A1 using Orca all the time.
Speaking as someone that knows basically nothing about 3d printing (though has done similar with CNC), do you think it’d be possible to reverse-engineer the code in some way? I’m thinking something like a simulated 3d printer 🤷♀️
You can, sure. but then you have a new file that is entirely distinct from the original model (as far as computer hashing is concerned). So you have to do several steps to legally comply with this:
Receive gcode file
use costly ai to convert the gcode to a 3d model.
use costly ai to try to figure out what the 3d model is.
do all of this either via a remote connection, or on a processor weaker than the median game console from the 1990s.
repeat for every single attempted print, which can be several dozen per completed product depending on how annoying the calibration was that day
So if you’re a 3d printing business you now have to have your own data center basically dedicated to the tens of millions of potential prints you’re going to receive, because it’s near impossible to fingerprint g-code as it’s dynamically generated from each different CAD software differently based on thousands of settings.
Essentially any 3d printer manufacturer is going to just say “not for use in california” instead of paying hundreds of millions of dollars a year to try to comply with this.
there are many open sourced software applications than can produce G-Code for any printer. All of it can be done offline.