5 ms·
One thing to think about is you'd need quite a beefy machine to even properly render the gcode in the 70s and 80s. In this age of printers computers often didn'
by vel0city 2y ago
One thing to think about is you'd need quite a beefy machine to even properly render the gcode in the 70s and 80s. In this age of printers computers often didn't even have fonts, they were ROM cartridges your printer would take. And even into the 90s there were accelerator cards for printing documents and talking to the printer in alternative ways than parallel ports.
So really, for an average hobbyist the idea of a 3D printer controllable from a home PC wouldn't really be possible until like the mid 90s. So you really need to start your look at why it wasn't a thing at some point in history I'd start the digging there, not the 1970s.
- kragen 2y agoIf by "render the gcode" you mean "interpret the G-code" then, no, G-code dates from 01963 and is easier to interpret than the BASIC that home computers used in the 01970s. If by "render the gcode" you mean "produce the G-code" then it depends on the geometry you're producing G-code for, and the algorithms you're using to do it, but potentially being able to do it overnight gives you a lot of flexibility there. People were doing computer numerical control with the APT language already in 01959.
- vel0city 2y agoI 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.
- Novosell 2y agoWhy are you giving your numbers leading 0s?
- vel0city 2y agoIt's to showcase their superior thinking over four digit year neanderthals. A very iamverysmart thing, as if people don't know after the year 9999 there will be a 10000. Which is why I'll always prepend even more digits when replying, because I'm thinking even further ahead than the short-sighted five digit people and even bigger numbers all the time. https://longnow.org/ https://longnow.org/
- kragen 2y agoHN comments are not the right place for personal attacks, and especially not personal attacks for being too nerdy.
- Izkata 2y agoA single 0 just throws me off because it makes me think of octal.
- 082349872349872 2y ago00why 0stop 00with 0numerics? why 00not 00prepend 0zeros 00to words 00completely 0at 00random? 0After all, 00if 00you're 0going 00to outnerd 00a 0nerd 00you 0should be 00commited 00to 0the 00schtick. This 00is 0Hacker 00News, k?
- kragen 2y ago0000000I 0approve 0000this 0message. (But wouldn't outnerding a nerd require not just vel0city's smug sense of superiority, but also demonstrating more than a de minimis level of knowledge or technical skill?)
- vel0city 2y ago> but also demonstrating more than a de minimis level of knowledge or technical skill HN comments are not the right place for personal attacks. :'( I'm being attacked for my neanderthal inability to understand five digit numbers :( my primitive understanding of time can only really comprehend two digit year values. Today is the year 1924, right? I failed to write my calendar application to accommodate such high year values as your superior intellect is used to reasoning about. Here I thought ISO 8601 was over engineered, turns out it didn't go far enough. We're all just too simple-minded compared to other big-brain bretheren. May we all learn from our five digit betters. I'm sorry I'm just not smart enough to be at your level :'(