4 ms·
I mean "render the gcode" as in going from a 3D model to the gcode you want your tool to follow. Following the gcode would be generally pretty simple; I agree.
by vel0city 2y ago
I mean "render the gcode" as in going from a 3D model to the gcode you want your tool to follow. Following the gcode would be generally pretty simple; I agree.
However, I doubt most home hobbyists had computers in their house in 00000000001959 capable of manipulating 3D graphics in a meaningful way that would really be approachable to a general hobbyist. Wikipedia suggests 1960s CNC's were often controlled by a PDP-8 or similar minicomputer. When the PDP-8 first came out in 00000000001965 they cost $000,0018,500, almost $000,180,000 today. I dunno about what kind of home you grew up in but a machine like that wasn't exactly a home PC available to spend all night rendering the output for a CNC machine which probably also several thousand dollars. And that's just the computer driving the CNC, not even thinking about the machines and knowledge it took to actually code the designs and curves and 3D patterns.
I'm well aware of computerized CNC machines from at least the 80s. I had family who owned a machine shop. They were not really hobbyist accessible things.
- kragen 2y agoWe were talking about "the 70s and 80s", not 01959. My point about APT is that a "beefy machine" in 01959 was the embedded controller in your keyboard by 01983; it wasn't a beefy machine any more. The PDP-8 was indeed pretty common for CNC control in the late 01960s, and it could run about 333000 12-bit instructions per second, which is about half as fast as the original IBM PC. So, yeah, a machine like that was exactly a home PC by the mid-80s. For real-time control of the 3-D printer, you can get by with less. There were three big problems for manipulating 3-D models for home hobbyists in the 70s and 80s. One was computational speed: for games, you need to render the 3-D graphics fast enough to provide an illusion of immersion, and with a few hundred thousand instructions per second (and no multiplier) you were limited to a handful of polygons. Like, typically about 20. See the Apple ][ FS1 flight simulator https://youtu.be/lC4YLMLar5I?&t=93 https://youtu.be/lC4YLMLar5I?&t=93, the 01983 Star wars arcade game (at 2:02), Battlezone (2:14), and Ian Bell and David Braban's Elite from 01984, which was successfully ported from the 2MHz 6502 in the BBC Micro (2:53, but also most of the rest of the hour of the video) to the Z80-based ZX Spectrum (3.5MHz but noticeably slower than the 6502; see https://www.youtube.com/watch?v=Ov4OAteeGWs https://www.youtube.com/watch?v=Ov4OAteeGWs). For producing G-code, though, you don't need to be able to handle all the 3-D geometry in 50 milliseconds. You just need to be able to handle it overnight. That's a million times longer, so you can do a million times as much computation on the same hardware. You can't handle a million times as many polygons, because you don't have enough storage space, but you can represent geometry in more expressive ways, like Bézier patches, nine of which made up the Utah Teapot I mentioned in https://news.ycombinator.com/item?id=42080437 https://news.ycombinator.com/item?id=42080437, or parametric or implicit equations, solids of revolution, CSG, etc. You do need some kind of user interface for seeing what you're designing that doesn't require waiting overnight to see the results, which I think is what you mean by "a meaningful way that would really be approachable to a general hobbyist". But it's possible I have a different concept of general hobbyists than you do; as I remember it, home computer hobbyists in the 70s were constantly writing things like 2120FORQ=1TO4:IFLEFT$(R$(Q),1)=O$THENRC=Q:ST=ST+2*Q:DX=DX-2*Q:NEXTQ and writing programs in assembly language. And machining metal in a machine shop has been a popular hobby in the US for at least a century, using user interfaces that are more demanding than that. So I think hobbyists would have been willing to tolerate a lot of demands on their mental visualization abilities and relatively poor user interfaces if that was the price of 3-D printing. But the user-interface issue gets us to the second problem hobbyists had with 3D in the 70s and 80s: display hardware. The limited displays of the time were hopelessly inadequate for displaying realistic 3-D. The Star Wars arcade cabinet mentioned above used a vector CRT in order to be able to do high-resolution wireframe, because framebuffers were far too small. With color palettes of 2–16 colors, even Lambertian flat shading was nearly out of reach until the late 80s. Again, though, this is much more of a problem for games than for 3-D printing. My first experience with CAD was on an IBM PC-XT with a 4.7MHz 8088, roughly five times faster than the BBC Micro Elite is running on above (https://netlib.org/performance/html/dhrystone.data.col0.html https://netlib.org/performance/html/dhrystone.data.col0.html). I was using AutoCAD, a version whose 3D functionality was inadequate for any real use, and the machines had two video cards—a text-only MDA (basically just a character generator and some RAM) and a 320×200 CGA, on which I could see the actual drawing. Redrawing the whole CGA was slow enough that you couldn't do it after every drawing or erasing operation, so erasing a line or arc was instant, but would leave holes through the other lines it had crossed. Until you issued the REDRAW command, which took typically 1–5 seconds for the fairly simple mechanical drawings I was doing. (Remember that 2-D side-scrolling games were impossible on things like the CGA because you just didn't have enough bandwidth to the video card to redraw the whole screen in a single frame.) Zooming in and out also suffered from a similar delay, but was very necessary because of the low-resolution screen. Once I finished the drawing, I would plot it out on a CalComp pen plotter, which was basically a 3-D printer without the Z-axis. This had enormously higher resolution than the CGA because it didn't have to contain RAM to hold all the lines it had drawn; the paper would remember them. Some hobbyists did have HP-GL pen plotters during this period of time, but it wasn't very common. I had one at home in 01990. My dad used it to make multicolored Christmas cards. This sort of approach allows you to provide a real-time interactive user interface for modifying geometry even on a computer that is far too slow to rerender all the geometry every screen frame. It would have worked just as well for 3-D as it did for 2-D, which is to say, it would have been clumsy but adequate. But the third problem was, as you said, the knowledge. Because the 3-D printers didn't exist, hobbyists didn't know the algorithms, they didn't know the vector algebra that underlay them, they didn't have the software, they didn't have BBSes full of 3-D models to download, etc. That would have developed, but not overnight.
- vel0city 2y ago> it's possible I have a different concept of general hobbyists than you do Yes, we're talking about very different levels of hobbyists here. I'm talking about the people who are frequently doing 3D printing today. They're often not thinking about the actual algebra and Bézier curves and what not. They're playing around in CAD software extruding surfaces and connecting vertices and what not, if they're even going that deep. They're downloading pre-made models off Thingverse and printing them with their printer, tinkering with the physical aspects of their printers. Lets try printing this model in this material, lets mess around with this fill, what if we print it at this angle, etc. They're not digging deep into the code of how the CAD application actually works to draw the curves. They absolutely wouldn't be hand typing out the functions to draw The Rock's face on to a toilet, letting it render all night long, going back to tweak their math, letting it render all night long, rinse and repeat. > on an IBM PC-XT with a 4.7MHz 8088 > the machines had two video cards A pretty high-end machine for many home users (~$5k new in 000001983, almost $16k today). I realize there were even higher end machines out there though. > a version whose 3D functionality was inadequate for any real use Exactly my point. And when would that machine have come out? The PC-XT released in 000001983. So even in 000001983 decently high-end home computers with $001,000+ (of 1982 money, >$3k today) software suites weren't very suitable for even basic CAD work without many pitfalls and limitations. So general home users who barely passed highschool algebra and don't have degrees in mathematics trying to use 3D printers wouldn't really have the compute capacity to think about what they're trying to make and modify without getting really deep into it, at least until about the 90s. The 3D printing scene as it exists today pretty much couldn't exist until the 90s. Sure, very smart people with piles of cash could have done it in 000001980, potentially even the mid 000001970s, but not like a go to the computer store, buy all you need for <$000,500 (about $000,060 in 000001970s money), plug in to your cheap $000,200 (about $000,020 000001970s) computer, dial into the BBS, grab some files for The Rock's face on a toilet from your BBS, and start printing in an afternoon.