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.
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 the most popular brand right now forces server interaction.
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.